|
@@ -52,15 +52,22 @@ module.exports = app => {
|
|
|
async getBudgetProject(pid, uid, admin) {
|
|
|
let result = await this.getAllDataByCondition({ where: { project_id: pid, is_delete: 0 } });
|
|
|
|
|
|
- const permission = await this.ctx.service.subProjPermission.getUserPermission(pid, uid);
|
|
|
+ const adminPermission = this.ctx.service.subProjPermission.adminPermission;
|
|
|
+ const permission = admin ? [] : await this.ctx.service.subProjPermission.getUserPermission(pid, uid);
|
|
|
result = result.filter(x => {
|
|
|
if (!x.is_folder && !x.budget_id) return false;
|
|
|
- if (x.is_folder || admin) return true;
|
|
|
- const pb = permission.find(y => { return x.id === y.spid});
|
|
|
- if (!pb) return false;
|
|
|
- x.permission = pb.budget_permission;
|
|
|
- x.manage_permission = pb.manage_permission;
|
|
|
- return x.permission.length > 0;
|
|
|
+ if (x.is_folder) return true;
|
|
|
+ if (admin) {
|
|
|
+ x.permission = adminPermission.budget_permission;
|
|
|
+ x.manage_permission = adminPermission.manage_permission;
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ const pb = permission.find(y => { return x.id === y.spid});
|
|
|
+ if (!pb) return false;
|
|
|
+ x.permission = pb.budget_permission;
|
|
|
+ x.manage_permission = pb.manage_permission;
|
|
|
+ return x.permission.length > 0;
|
|
|
+ }
|
|
|
});
|
|
|
return this._filterEmptyFolder(result);
|
|
|
}
|
|
@@ -68,15 +75,22 @@ module.exports = app => {
|
|
|
async getFileProject(pid, uid, admin) {
|
|
|
let result = await this.getAllDataByCondition({ where: { project_id: pid, is_delete: 0 } });
|
|
|
|
|
|
+ const adminPermission = this.ctx.service.subProjPermission.adminPermission;
|
|
|
const permission = await this.ctx.service.subProjPermission.getUserPermission(pid, uid);
|
|
|
result = result.filter(x => {
|
|
|
if (!x.is_folder && !x.management) return false;
|
|
|
- if (x.is_folder || admin) return true;
|
|
|
- const pb = permission.find(y => { return x.id === y.spid});
|
|
|
- if (!pb) return false;
|
|
|
- x.permission = pb.file_permission;
|
|
|
- x.manage_permission = pb.manage_permission;
|
|
|
- return x.permission.length > 0;
|
|
|
+ if (x.is_folder) true;
|
|
|
+ if (admin) {
|
|
|
+ x.permission = adminPermission.file_permission;
|
|
|
+ x.manage_permission = adminPermission.manage_permission;
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ const pb = permission.find(y => { return x.id === y.spid});
|
|
|
+ if (!pb) return false;
|
|
|
+ x.permission = pb.file_permission;
|
|
|
+ x.manage_permission = pb.manage_permission;
|
|
|
+ return x.permission.length > 0;
|
|
|
+ }
|
|
|
});
|
|
|
return this._filterEmptyFolder(result);
|
|
|
}
|