Пример #1
0
 private Set<Permission> getValueAsPermissionSet() {
   Object nativeArray = this.roleEditView.getForm().getValue(RolesDataSource.Field.PERMISSIONS);
   if (this.originalValue == null) {
     this.originalValue = nativeArray;
   }
   ListGridRecord[] permissionRecords =
       convertToListGridRecordArray((JavaScriptObject) nativeArray);
   return RolesDataSource.toPermissionSet(permissionRecords);
 }
  public RolesView(String locatorId, boolean hasManageSecurity) {
    super(locatorId, null);

    final RolesDataSource datasource = RolesDataSource.getInstance();
    setDataSource(datasource);
    setEscapeHtmlInDetailsLinkColumn(true);

    this.hasManageSecurity = hasManageSecurity;
  }
Пример #3
0
  private void updatePermissions(Boolean authorized, Permission permission) {
    String messageString = null;
    boolean redrawRequired = false;
    if (authorized) {
      this.selectedPermissions.add(permission);
      if (permission == Permission.MANAGE_SECURITY) {
        // MANAGE_SECURITY implies all other perms.
        if (this.selectedPermissions.addAll(EnumSet.allOf(Permission.class))) {
          messageString = MSG.view_adminRoles_permissions_autoselecting_manageSecurity_implied();
          redrawRequired = true;
        }
      } else if (permission == Permission.MANAGE_INVENTORY) {
        // MANAGE_INVENTORY implies all Resource perms.
        if (this.selectedPermissions.addAll(Permission.RESOURCE_ALL)) {
          messageString = MSG.view_adminRoles_permissions_autoselecting_manageInventory_implied();
          redrawRequired = true;
        }
      } else if (permission == Permission.CONFIGURE_WRITE) {
        // CONFIGURE_WRITE implies CONFIGURE_READ.
        if (this.selectedPermissions.add(Permission.CONFIGURE_READ)) {
          messageString = MSG.view_adminRoles_permissions_autoselecting_configureWrite_implied();
          redrawRequired = true;
        }
      }
    } else {
      this.selectedPermissions.remove(permission);
    }

    ListGridRecord[] permissionRecords = RolesDataSource.toRecordArray(this.selectedPermissions);
    this.roleEditView.getForm().setValue(RolesDataSource.Field.PERMISSIONS, permissionRecords);

    if (redrawRequired) {
      redraw();
    }

    if (messageString != null) {
      Message message = new Message(messageString, EnumSet.of(Message.Option.Transient));
      CoreGUI.getMessageCenter().notify(message);
    }
  }