Skip to content

Commit 044271f

Browse files
committed
add hidemembers feature
1 parent 9224cf1 commit 044271f

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

OpenFlow/src/DatabaseConnection.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,13 @@ export class DatabaseConnection {
290290
}
291291
}
292292
let doadd: boolean = true;
293+
if ((item as any).hidemembers == true) {
294+
doadd = false;
295+
for (let i = item.members.length - 1; i >= 0; i--) {
296+
const ace = original.members[i];
297+
removed.push(ace);
298+
}
299+
}
293300
const multi_tenant_skip: string[] = [WellknownIds.users, WellknownIds.filestore_users,
294301
WellknownIds.nodered_api_users, WellknownIds.nodered_users, WellknownIds.personal_nodered_users,
295302
WellknownIds.robot_users, WellknownIds.robots, WellknownIds.customer_admins, WellknownIds.resellers];
@@ -364,7 +371,8 @@ export class DatabaseConnection {
364371

365372
// was read the only right ? then remove it
366373
const right = Base.getRight(u, item._id, false);
367-
if (NoderedUtil.IsNullUndefinded(right)) {
374+
if (NoderedUtil.IsNullUndefinded(right) || (!Ace.isBitSet(right, 3) && !Ace.isBitSet(right, 4) && !Ace.isBitSet(right, 5))) {
375+
Base.removeRight(u, item._id, [Rights.full_control]);
368376
u = this.ensureResource(u);
369377
Logger.instanse.debug("Removing " + item.name + " read permissions from " + u.name);
370378
const _ot_end1 = Logger.otel.startTimer();
@@ -382,7 +390,8 @@ export class DatabaseConnection {
382390

383391
// was read the only right ? then remove it
384392
const right = Base.getRight(r, item._id, false);
385-
if (NoderedUtil.IsNullUndefinded(right)) {
393+
if (NoderedUtil.IsNullUndefinded(right) || (!Ace.isBitSet(right, 3) && !Ace.isBitSet(right, 4) && !Ace.isBitSet(right, 5))) {
394+
Base.removeRight(r, item._id, [Rights.full_control]);
386395
r = this.ensureResource(r);
387396
Logger.instanse.debug("Removing " + item.name + " read permissions from " + r.name);
388397
const _ot_end2 = Logger.otel.startTimer();

OpenFlow/src/public/Role.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,15 @@ <h1 class="pagetitle" translate lib="web">role</h1>
3737
</div>
3838
</div>
3939
</div>
40+
<div class="form-group">
41+
<label for="name" class="col-sm-2 control-label" translate lib="web">hide members</label>
42+
<div class="col-sm-6">
43+
<div class="custom-switch">
44+
<input type="checkbox" id="hidemembers" ng-model="ctrl.model.hidemembers">
45+
<label for="hidemembers">hide members</label>
46+
</div>
47+
</div>
48+
</div>
4049
<div class="form-group ">
4150
<label for="add" class="col-sm-2 control-label" translate lib="web">add</label>
4251
<div class="col-sm-6 input-group">

0 commit comments

Comments
 (0)