Пример #1
0
 public function deleteAction(Application $app, Request $request, $accountName, $spaceName, $permissionId)
 {
     $space = $app->getSpaceRepository()->findByNameAndAccountName($spaceName, $accountName);
     if ($space) {
         $app->getPermissionRepository()->remove($app->getPermissionRepository()->find($permissionId));
     }
     return $app->redirect($app['url_generator']->generate('permission_index', array('accountName' => $accountName, 'spaceName' => $spaceName)));
 }
Пример #2
0
 private function getSpaceEditForm(Application $app, Request $request, $accountName, $spaceName = null)
 {
     $error = $request->query->get('error');
     $repo = $app->getSpaceRepository();
     $add = false;
     $spaceName = trim($spaceName);
     $space = $repo->findByNameAndAccountName($spaceName, $accountName);
     if (null === $space) {
         $add = true;
         $defaults = array('account_name' => $accountName);
         $spaceClassName = $app['spaceModelClassName'];
         $space = new $spaceClassName();
         $space->setAccountName($accountName);
     } else {
         $defaults = array('account_name' => $accountName, 'name' => $space->getName(), 'description' => $space->getDescription());
     }
     $form = $app['form.factory']->createBuilder('form', $defaults)->add('account_name', 'text', array('read_only' => true))->add('name', 'text')->add('description', 'textarea', array('required' => false))->getForm();
     // handle form submission
     $form->handleRequest($request);
     if ($form->isValid()) {
         $data = $form->getData();
         $space->setName($data['name'])->setDescription($data['description']);
         if (method_exists($space, 'setCreatedAt')) {
             $space->setCreatedAt();
         }
         if (!$repo->persist($space)) {
             return $app->redirect($app['url_generator']->generate('space_add', array('error' => 'Space exists', 'accountName' => $accountName)));
         } else {
             // auto-add permission
             if ($add) {
                 $app->getPermissionRepository()->add($app['current_user']->getName(), $space->getId(), 'ADMIN');
             }
         }
         return $app->redirect($app['url_generator']->generate('space_index', array('accountName' => $accountName)));
     }
     return new Response($app['twig']->render('@BaseTemplates/space/edit.html.twig', array('form' => $form->createView(), 'space' => $space, 'error' => $error, 'accountName' => $accountName, 'nameOfSpace' => $repo->getNameOfSpace(), 'nameOfSpacePl' => $repo->getNameOfSpace(true))));
 }