Exemplo n.º 1
0
 public function validateAddUsersToGroup(array $users, Group $group)
 {
     return true;
     $countToRegister = count($users);
     $roles = $group->getPlatformRoles();
     foreach ($roles as $role) {
         $max = $role->getMaxUsers();
         $countRegistered = $this->om->getRepository('ClarolineCoreBundle:User')->countUsersByRoleIncludingGroup($role);
         if ($max < $countRegistered + $countToRegister) {
             return false;
         }
     }
     return true;
 }
Exemplo n.º 2
0
 /**
  * @EXT\Route("/{groupId}/update", name="claro_admin_update_group_settings")
  * @EXT\ParamConverter(
  *      "group",
  *      class="ClarolineCoreBundle:Group",
  *      options={"id" = "groupId", "strictId" = true}
  * )
  * @EXT\Template("ClarolineCoreBundle:Administration/Groups:settingsForm.html.twig")
  *
  * Updates the settings of a group and redirects to the group list.
  *
  * @param Group $group
  *
  * @return \Symfony\Component\HttpFoundation\RedirectResponse
  */
 public function updateSettingsAction(Group $group)
 {
     $oldRoles = $group->getPlatformRoles();
     $form = $this->formFactory->create(FormFactory::TYPE_GROUP_SETTINGS, array('isAdmin' => true, 'roles' => $oldRoles), $group);
     $form->handleRequest($this->request);
     $unavailableRoles = [];
     $roles = $form['platformRoles']->getData();
     foreach ($roles as $role) {
         $isAvailable = $this->roleManager->validateRoleInsert($group, $role);
         if (!$isAvailable) {
             $unavailableRoles[] = $role;
         }
     }
     if ($form->isValid() && count($unavailableRoles) === 0) {
         $group = $form->getData();
         $newRoles = $form['platformRoles']->getData();
         $this->groupManager->setPlatformRoles($group, $newRoles);
         $this->groupManager->updateGroup($group, $oldRoles);
         return $this->redirect($this->generateUrl('claro_admin_group_list'));
     }
     return array('group' => $group, 'form_settings' => $form->createView(), 'unavailableRoles' => $unavailableRoles);
 }