Package org.olat.basesecurity

Examples of org.olat.basesecurity.SecurityGroup


    Map configuration = BaseSecurityModule.getConfiguration();
    boolean iAmOlatAdmin = ureq.getUserSession().getRoles().isOLATAdmin();
   
    Manager secMgr = ManagerFactory.getManager();
    // get user system roles groups from security manager
    SecurityGroup adminGroup = secMgr.findSecurityGroupByName(Constants.GROUP_ADMIN);
    boolean isAdmin = secMgr.isIdentityInSecurityGroup(identity, adminGroup);
   
    SecurityGroup userManagerGroup = secMgr.findSecurityGroupByName(Constants.GROUP_USERMANAGERS);
    boolean isUserManager = secMgr.isIdentityInSecurityGroup(identity, userManagerGroup);

    SecurityGroup authorGroup = secMgr.findSecurityGroupByName(Constants.GROUP_AUTHORS);
    boolean isAuthor = secMgr.isIdentityInSecurityGroup(identity, authorGroup);
 
    SecurityGroup groupmanagerGroup = secMgr.findSecurityGroupByName(Constants.GROUP_GROUPMANAGERS);
    boolean isGroupManager = secMgr.isIdentityInSecurityGroup(identity, groupmanagerGroup);

    SecurityGroup isAnonymous = secMgr.findSecurityGroupByName(Constants.GROUP_ANONYMOUS);
    boolean isGuestOnly = secMgr.isIdentityInSecurityGroup(identity, isAnonymous);
   
    SecurityGroup institutionalResourceManager = secMgr.findSecurityGroupByName(Constants.GROUP_INST_ORES_MANAGER);
    boolean isInstitutionalResourceManager = secMgr.isIdentityInSecurityGroup(identity, institutionalResourceManager);
   
    // create new form and init with users values
    SystemRolesAndRightsForm form = new SystemRolesAndRightsForm("sysRightsForm", translator, identity.getUser().getProperty("institutionalName", null));
   
View Full Code Here


    // 1) general user type - anonymous or user
    // anonymous users
    boolean isAnonymous = false;
    Boolean canGuestsByConfig = (Boolean) configuration.get(BaseSecurityModule.CONFIG_USERMANAGER_CAN_MANAGE_GUESTS)
    if (canGuestsByConfig.booleanValue() || iAmOlatAdmin) {
      SecurityGroup anonymousGroup = secMgr.findSecurityGroupByName(Constants.GROUP_ANONYMOUS);
      boolean hasBeenAnonymous = secMgr.isIdentityInSecurityGroup(myIdentity, anonymousGroup);
      isAnonymous = form.isAnonymous();
      updateSecurityGroup(myIdentity, secMgr, anonymousGroup, hasBeenAnonymous, isAnonymous);
      // system users - oposite of anonymous users
      SecurityGroup usersGroup = secMgr.findSecurityGroupByName(Constants.GROUP_OLATUSERS);
      boolean hasBeenUser = secMgr.isIdentityInSecurityGroup(myIdentity, usersGroup);
      boolean isUser = !form.isAnonymous();
      updateSecurityGroup(myIdentity, secMgr, usersGroup, hasBeenUser, isUser);
    }
    // 2) system roles
    // group manager
    Boolean canGroupmanagerByConfig = (Boolean) configuration.get(BaseSecurityModule.CONFIG_USERMANAGER_CAN_MANAGE_GROUPMANAGERS)
    if (canGroupmanagerByConfig.booleanValue() || iAmOlatAdmin) {
      SecurityGroup groupManagerGroup = secMgr.findSecurityGroupByName(Constants.GROUP_GROUPMANAGERS);
      boolean hasBeenGroupManager = secMgr.isIdentityInSecurityGroup(myIdentity, groupManagerGroup);
      boolean isGroupManager = form.isGroupmanager();
      updateSecurityGroup(myIdentity, secMgr, groupManagerGroup, hasBeenGroupManager, isGroupManager);
    }
    // author
    Boolean canAuthorByConfig = (Boolean) configuration.get(BaseSecurityModule.CONFIG_USERMANAGER_CAN_MANAGE_AUTHORS)
    if (canAuthorByConfig.booleanValue() || iAmOlatAdmin) {
      SecurityGroup authorGroup = secMgr.findSecurityGroupByName(Constants.GROUP_AUTHORS);
      boolean hasBeenAuthor = secMgr.isIdentityInSecurityGroup(myIdentity, authorGroup);
      boolean isAuthor = form.isAuthor() || form.isInstitutionalResourceManager();
      updateSecurityGroup(myIdentity, secMgr, authorGroup, hasBeenAuthor, isAuthor);
    }
    // user manager, only allowed by admin
    if (iAmOlatAdmin) {
      SecurityGroup userManagerGroup = secMgr.findSecurityGroupByName(Constants.GROUP_USERMANAGERS);
      boolean hasBeenUserManager = secMgr.isIdentityInSecurityGroup(myIdentity, userManagerGroup);
      boolean isUserManager = form.isUsermanager();
      updateSecurityGroup(myIdentity, secMgr, userManagerGroup, hasBeenUserManager, isUserManager);
    }
     // institutional resource manager, only allowed by admin
    if (iAmUserManager || iAmOlatAdmin) {
      SecurityGroup institutionalResourceManagerGroup = secMgr.findSecurityGroupByName(Constants.GROUP_INST_ORES_MANAGER);
      boolean hasBeenInstitutionalResourceManager = secMgr.isIdentityInSecurityGroup(myIdentity, institutionalResourceManagerGroup);
      boolean isInstitutionalResourceManager = form.isInstitutionalResourceManager();
      updateSecurityGroup(myIdentity, secMgr, institutionalResourceManagerGroup, hasBeenInstitutionalResourceManager, isInstitutionalResourceManager);
    }
    // system administrator, only allowed by admin
    if (iAmOlatAdmin) {
      SecurityGroup adminGroup = secMgr.findSecurityGroupByName(Constants.GROUP_ADMIN);
      boolean hasBeenAdmin = secMgr.isIdentityInSecurityGroup(myIdentity, adminGroup);
      boolean isAdmin = form.isAdmin();
      updateSecurityGroup(myIdentity, secMgr, adminGroup, hasBeenAdmin, isAdmin);   
    }
    if (iAmOlatAdmin &&  !myIdentity.getStatus().equals(form.getStatus()) ) {
View Full Code Here

    ContactList partipCntctLst;// = new ContactList(translate("sendtochooser.form.chckbx.partip"));
    ContactList waitingListContactList;// = new ContactList(translate("sendtochooser.form.chckbx.waitingList"));
    if (flags.isEnabled(BGConfigFlags.GROUP_OWNERS)) {
      if (sendToChooserForm.ownerChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
        ownerCntctLst = new ContactList(translate("sendtochooser.form.radio.owners.all"));
        SecurityGroup owners = businessGroup.getOwnerGroup();
        List<Identity> ownerList = scrtMngr.getIdentitiesOfSecurityGroup(owners);
        ownerCntctLst.addAllIdentites(ownerList);
        cmsg.addEmailTo(ownerCntctLst);
      } else {
        if (sendToChooserForm.ownerChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
          ownerCntctLst = new ContactList(translate("sendtochooser.form.radio.owners.choose"));
          SecurityGroup owners = businessGroup.getOwnerGroup();
          List<Identity> ownerList = scrtMngr.getIdentitiesOfSecurityGroup(owners);
          List<Identity> changeableOwnerList = scrtMngr.getIdentitiesOfSecurityGroup(owners);
          for (Identity identity : ownerList) {
            boolean keyIsSelected = false;
            for (Long key : sendToChooserForm.getSelectedOwnerKeys()) {
              if (key.equals(identity.getKey())) {
                keyIsSelected = true;
                break;
              }
            }
            if (!keyIsSelected) {
              changeableOwnerList.remove(changeableOwnerList.indexOf(identity));
            }
          }
          ownerCntctLst.addAllIdentites(changeableOwnerList);
          cmsg.addEmailTo(ownerCntctLst);
        }
      }
    }
    if (sendToChooserForm != null) {
      if  (sendToChooserForm.participantChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
        partipCntctLst  = new ContactList(translate("sendtochooser.form.radio.partip.all"));
        SecurityGroup participants = businessGroup.getPartipiciantGroup();
        List<Identity> participantsList = scrtMngr.getIdentitiesOfSecurityGroup(participants);
        partipCntctLst.addAllIdentites(participantsList);
        cmsg.addEmailTo(partipCntctLst);
      } else {
        if (sendToChooserForm.participantChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
          partipCntctLst  = new ContactList(translate("sendtochooser.form.radio.partip.choose"));
          SecurityGroup participants = businessGroup.getPartipiciantGroup();
          List<Identity> participantsList = scrtMngr.getIdentitiesOfSecurityGroup(participants);
          List<Identity> changeableParticipantsList = scrtMngr.getIdentitiesOfSecurityGroup(participants);
          for (Identity identity : participantsList) {
            boolean keyIsSelected = false;
            for (Long key : sendToChooserForm.getSelectedPartipKeys()) {
              if (key.equals(identity.getKey())) {
                keyIsSelected = true;
                break;
              }
            }
            if (!keyIsSelected) {
              changeableParticipantsList.remove(changeableParticipantsList.indexOf(identity));
            }
          }
          partipCntctLst.addAllIdentites(changeableParticipantsList);
          cmsg.addEmailTo(partipCntctLst);
        }
      }
     
    }
    if (sendToChooserForm != null && isAdmin && businessGroup.getWaitingListEnabled().booleanValue()) {
      if (sendToChooserForm.waitingListChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_ALL)) {
        waitingListContactList = new ContactList(translate("sendtochooser.form.radio.waitings.all"));
        SecurityGroup waitingList = businessGroup.getWaitingGroup();
        List<Identity> waitingListIdentities = scrtMngr.getIdentitiesOfSecurityGroup(waitingList);
        waitingListContactList.addAllIdentites(waitingListIdentities);
        cmsg.addEmailTo(waitingListContactList);
      } else {
        if (sendToChooserForm.waitingListChecked().equals(BusinessGroupSendToChooserForm.NLS_RADIO_CHOOSE)) {
          waitingListContactList = new ContactList(translate("sendtochooser.form.radio.waitings.choose"));
          SecurityGroup waitingList = businessGroup.getWaitingGroup();
          List<Identity> waitingListIdentities = scrtMngr.getIdentitiesOfSecurityGroup(waitingList);
          List<Identity> changeableWaitingListIdentities = scrtMngr.getIdentitiesOfSecurityGroup(waitingList);
          for (Identity indentity : waitingListIdentities) {
            boolean keyIsSelected = false;
            for (Long key : sendToChooserForm.getSelectedWaitingKeys()) {
View Full Code Here

  public final Object getValueAt(int row, int col) {
    Object[] o = (Object[])entries.get(row);
    Object co = o[(col== 3? 2: col)];
    switch(col) {
      case 0: // secgr
        SecurityGroup sg = (SecurityGroup)co;
        return sg.getKey(); //"key:"+sg.getKey()+" ("+sg.getCreationDate()+")";
      case 1: // permission
        Policy po = (Policy)co;
        String perm = po.getPermission();
        return perm;
      case 2:
View Full Code Here

    RepositoryManager rm = RepositoryManager.getInstance();
    OLATResource ores = OLATResourceManager.getInstance().findOrPersistResourceable(addCallback.getResourceable());
    addedEntry.setOlatResource(ores);
   
    // create security group
    SecurityGroup newGroup = securityManager.createAndPersistSecurityGroup();
    // member of this group may modify member's membership
    securityManager.createAndPersistPolicy(newGroup, Constants.PERMISSION_ACCESS, newGroup);
    // members of this group are always authors also
    securityManager.createAndPersistPolicy(newGroup, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_AUTHOR);
   
View Full Code Here

      // delete the repository entry and its olatresource
      try {
        //o_clusterREVIEW
        Tracing.logDebug("cleanup : addedEntry=" + addedEntry, RepositoryAddController.class);
        addedEntry = (RepositoryEntry) DBFactory.getInstance().loadObject(addedEntry,true);
        SecurityGroup secGroup = addedEntry.getOwnerGroup();
        Tracing.logDebug("cleanup : deleteAllReferencesOf", RepositoryAddController.class);
        ReferenceManager.getInstance().deleteAllReferencesOf(addedEntry.getOlatResource());
        Tracing.logDebug("cleanup : deleteRepositoryEntry", RepositoryAddController.class);
        RepositoryManager.getInstance().deleteRepositoryEntry(addedEntry);
        Tracing.logDebug("cleanup : deleteOLATResource", RepositoryAddController.class);
View Full Code Here

        int publishedCourses = repoMgr.countByTypeLimitAccess(CourseModule.ORES_TYPE_COURSE, RepositoryEntry.ACC_USERS);
        msgProperties.setProperty("courseCountAll", String.valueOf(allCourses));
        msgProperties.setProperty("courseCountPublished", String.valueOf(publishedCourses));
        // User counts
        Manager secMgr = ManagerFactory.getManager();
        SecurityGroup olatuserGroup = secMgr.findSecurityGroupByName(Constants.GROUP_OLATUSERS);
        int users = secMgr.countIdentitiesOfSecurityGroup(olatuserGroup);
        int disabled = secMgr.getIdentitiesByPowerSearch(null, null, true, null, null, null, null, null, Identity.STATUS_LOGIN_DENIED)
            .size();
        msgProperties.setProperty("usersEnabled", String.valueOf(users - disabled));
       
View Full Code Here

  /**
   * @param selectedGroup
   * @return List of participant identities from this group
   */
  private List<Identity> getGroupIdentitiesFromGroupmanagement(BusinessGroup selectedGroup) {
    SecurityGroup selectedSecurityGroup = selectedGroup.getPartipiciantGroup();
    return ManagerFactory.getManager().getIdentitiesOfSecurityGroup(selectedSecurityGroup);
  }
View Full Code Here

    List<Identity> allUsersList = new ArrayList<Identity>();
    Manager secMgr = ManagerFactory.getManager();
    Iterator<BusinessGroup> iter = this.coachedGroups.iterator();
    while (iter.hasNext()) {
      BusinessGroup group = iter.next();
      SecurityGroup secGroup = group.getPartipiciantGroup();
      List<Identity> identities = secMgr.getIdentitiesOfSecurityGroup(secGroup);
      for (Iterator<Identity> identitiyIter = identities.iterator(); identitiyIter.hasNext();) {
        Identity identity = identitiyIter.next();
        if (!PersistenceHelper.listContainsObjectByKey(allUsersList, identity)) {
          // only add if not already in list
View Full Code Here

            translator.translate("sendtochooser.form.radio.owners.nothing"), translator.translate("sendtochooser.form.radio.owners.choose") };
        radioButtonOwner = new RadioButtonGroupElement(true, "sendtochooser.form.radio.owners", radioKeysOwners, radioValuesOwners);
        radioButtonOwner.select(NLS_RADIO_ALL, true);

        // Owner MultiSelection
        SecurityGroup owners = businessGroup.getOwnerGroup();
        List<Identity> ownerList = scrtMngr.getIdentitiesOfSecurityGroup(owners);
        String[] keysOwner = new String[ownerList.size()];
        String[] valuesOwner = new String[ownerList.size()];
        for (int i = 0; i < ownerList.size(); i++) {
          keysOwner[i] = ownerList.get(i).getKey().toString();
          valuesOwner[i] = ownerList.get(i).getName().toString();
        }
        multiSelectionOwnerKeys = new StaticMultipleSelectionElement(null, keysOwner, valuesOwner, ownerList.size() > 0 ? true : false);

        addFormElement("radioButtonOwner", radioButtonOwner);
        addFormElement("multiSelectionOwnerKeys", multiSelectionOwnerKeys);

        // rule owner
        rule = new VisibilityDependsOnSelectionRule(radioButtonOwner, multiSelectionOwnerKeys, "choose", true, null, true);
        addVisibilityDependsOnSelectionRule(rule);
      } else {
        String[] radioKeysOwners = { NLS_RADIO_ALL, NLS_RADIO_NOTHING };
        String[] radioValuesOwners = { translator.translate("sendtochooser.form.radio.owners.all"),
            translator.translate("sendtochooser.form.radio.owners.nothing") };
        radioButtonOwner = new RadioButtonGroupElement(true, "sendtochooser.form.radio.owners", radioKeysOwners, radioValuesOwners);
        radioButtonOwner.select(NLS_RADIO_ALL, true);

        addFormElement("radioButtonOwner", radioButtonOwner);
      }
    }
    if (isMultiSelectionPartipKeys()) {
      if (isRightGroup()) {
        String[] radioKeysPartip = { NLS_RADIO_ALL, NLS_RADIO_CHOOSE };
        String[] radioValuesPartip = { translator.translate("sendtochooser.form.radio.partip.rightgroup.all"), translator.translate("sendtochooser.form.radio.partip.rightgroup.choose") };
        radioButtonPartip = new RadioButtonGroupElement(true, "sendtochooser.form.radio.rightgroup", radioKeysPartip, radioValuesPartip);
        radioButtonPartip.select(NLS_RADIO_ALL, true);
        // Participator MultiSelection
        SecurityGroup participants = businessGroup.getPartipiciantGroup();
        List<Identity> participantsList = scrtMngr.getIdentitiesOfSecurityGroup(participants);
        String[] keysPartip = new String[participantsList.size()];
        String[] valuesPartip = new String[participantsList.size()];
        for (int i = 0; i < participantsList.size(); i++) {
          keysPartip[i] = participantsList.get(i).getKey().toString();
          valuesPartip[i] = participantsList.get(i).getName().toString();
        }
        multiSelectionPartipKeys = new StaticMultipleSelectionElement(null, keysPartip, valuesPartip, participantsList.size() > 0 ? true
            : false);
        addFormElement("radioButtonPartip", radioButtonPartip);
        addFormElement("multiSelectionPartipKeys", multiSelectionPartipKeys);
        // rule partips
        rule = new VisibilityDependsOnSelectionRule(radioButtonPartip, multiSelectionPartipKeys, "choose", true, null, true);
        addVisibilityDependsOnSelectionRule(rule);
      } else {
        String[] radioKeysPartip = { NLS_RADIO_ALL, NLS_RADIO_NOTHING, NLS_RADIO_CHOOSE };
        String[] radioValuesPartip = { translator.translate("sendtochooser.form.radio.partip.all"),
            translator.translate("sendtochooser.form.radio.partip.nothing"), translator.translate("sendtochooser.form.radio.partip.choose") };
        radioButtonPartip = new RadioButtonGroupElement(true, "sendtochooser.form.radio.partip", radioKeysPartip, radioValuesPartip);
        radioButtonPartip.select(NLS_RADIO_ALL, true);
        // Participator MultiSelection
        SecurityGroup participants = businessGroup.getPartipiciantGroup();
        List<Identity> participantsList = scrtMngr.getIdentitiesOfSecurityGroup(participants);
        String[] keysPartip = new String[participantsList.size()];
        String[] valuesPartip = new String[participantsList.size()];
        for (int i = 0; i < participantsList.size(); i++) {
          keysPartip[i] = participantsList.get(i).getKey().toString();
          valuesPartip[i] = participantsList.get(i).getName().toString();
        }
        multiSelectionPartipKeys = new StaticMultipleSelectionElement(null, keysPartip, valuesPartip, participantsList.size() > 0 ? true
            : false);
        addFormElement("radioButtonPartip", radioButtonPartip);
        addFormElement("multiSelectionPartipKeys", multiSelectionPartipKeys);
        // rule partips
        rule = new VisibilityDependsOnSelectionRule(radioButtonPartip, multiSelectionPartipKeys, "choose", true, null, true);
        addVisibilityDependsOnSelectionRule(rule);
      }
    } else {
      if (isRightGroup()) {
        String[] radioKeysPartip = { NLS_RADIO_ALL };
        String[] radioValuesPartip = { translator.translate("sendtochooser.form.radio.partip.all.rightgroup") };
        radioButtonPartip = new RadioButtonGroupElement(true, "sendtochooser.form.radio.partip.rightgroup", radioKeysPartip, radioValuesPartip);
        radioButtonPartip.select(NLS_RADIO_ALL, true);
        addFormElement("radioButtonPartip", radioButtonPartip);
      } else {
        String[] radioKeysPartip = { NLS_RADIO_ALL, NLS_RADIO_NOTHING };
        String[] radioValuesPartip = { translator.translate("sendtochooser.form.radio.partip.all"),
            translator.translate("sendtochooser.form.radio.partip.nothing") };
        radioButtonPartip = new RadioButtonGroupElement(true, "sendtochooser.form.radio.partip", radioKeysPartip, radioValuesPartip);
        radioButtonPartip.select(NLS_RADIO_ALL, true);
        addFormElement("radioButtonPartip", radioButtonPartip);
      }
    }   

    if ( isAdmin && businessGroup.getWaitingListEnabled().booleanValue()) {
      String[] radioKeysWaitings = { NLS_RADIO_ALL, NLS_RADIO_NOTHING, NLS_RADIO_CHOOSE };
      String[] radioValuesWaitings = {translator.translate("sendtochooser.form.radio.waitings.all"), translator.translate("sendtochooser.form.radio.waitings.nothing"), translator.translate("sendtochooser.form.radio.waitings.choose")};
      radioButtonWaiting = new RadioButtonGroupElement(true, "sendtochooser.form.radio.waitings", radioKeysWaitings, radioValuesWaitings);
      radioButtonWaiting.select(NLS_RADIO_ALL, true);
     
      // Waitings MultiSelection
      SecurityGroup waitingList = businessGroup.getWaitingGroup();
      List<Identity> waitingListIdentities = scrtMngr.getIdentitiesOfSecurityGroup(waitingList);
      String[] keysWaiting = new String[waitingListIdentities.size()];
      String[] valuesWaiting = new String[waitingListIdentities.size()];
      for (int i = 0; i < waitingListIdentities.size(); i++) {
        keysWaiting[i] = waitingListIdentities.get(i).getKey().toString();
View Full Code Here

TOP

Related Classes of org.olat.basesecurity.SecurityGroup

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.