/**
  * @EXT\Route(
  *     "/{workspace}/subscription/url/generate/anonymous",
  *     name="claro_workspace_subscription_url_generate_anonymous"
  * )
  *
  * @EXT\Template("ClarolineCoreBundle:Tool\workspace\parameters:generate_url_subscription_anonymous.html.twig")
  *
  * @param Workspace $workspace
  *
  * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
  * @return Response
  */
 public function anonymousSubscriptionAction(Workspace $workspace)
 {
     if (!$workspace->getSelfRegistration()) {
         throw new AccessDeniedHttpException();
     }
     $form = $this->formFactory->create(FormFactory::TYPE_USER_BASE_PROFILE, array($this->localeManager, $this->tosManager, $this->get('translator')));
     $form->handleRequest($this->request);
     if ($form->isValid()) {
         $user = $form->getData();
         $this->userManager->createUser($user);
         $this->workspaceManager->addUserAction($workspace, $user);
         return $this->redirect($this->generateUrl('claro_workspace_open_tool', array('workspaceId' => $workspace->getId(), 'toolName' => 'home')));
     }
     return array('form' => $form->createView(), 'workspace' => $workspace);
 }
예제 #2
0
 public function exportWorkspace(Workspace $workspace)
 {
     return ['id' => $workspace->getId(), 'guid' => $workspace->getGuid(), 'name' => $workspace->getName(), 'description' => $workspace->getDescription(), 'code' => $workspace->getCode(), 'maxStorageSize' => $workspace->getMaxStorageSize(), 'maxUploadResources' => $workspace->getMaxUploadResources(), 'maxUsers' => $workspace->getMaxUsers(), 'displayable' => $workspace->isDisplayable(), 'creatorId' => $workspace->getCreator()->getId(), 'selfRegistration' => $workspace->getSelfRegistration(), 'registrationValidation' => $workspace->getRegistrationValidation(), 'selfUnregistration' => $workspace->getSelfUnregistration(), 'creationDate' => $workspace->getCreationDate(), 'isPersonal' => $workspace->isPersonal(), 'startDate' => $workspace->getStartDate(), 'endDate' => $workspace->getEndDate(), 'isAccessDate' => $workspace->getIsAccessDate(), 'type' => $workspace->getWorkspaceType()];
 }
 /**
  * @EXT\Route(
  *     "/{workspace}/subscription/url/generate/anonymous",
  *     name="claro_workspace_subscription_url_generate_anonymous"
  * )
  *
  * @EXT\Template("ClarolineCoreBundle:Tool\workspace\parameters:generate_url_subscription_anonymous.html.twig")
  *
  * @param Workspace $workspace
  *
  * @throws \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
  *
  * @return Response
  */
 public function anonymousSubscriptionAction(Workspace $workspace)
 {
     if (!$workspace->getSelfRegistration()) {
         throw new AccessDeniedHttpException();
     }
     $baseProfileType = new BaseProfileType($this->localeManager, $this->tosManager, $this->get('translator'));
     $form = $this->formFactory->create($baseProfileType, new User());
     $form->handleRequest($this->request);
     if ($form->isValid()) {
         $user = $form->getData();
         $this->userManager->createUser($user);
         $this->workspaceManager->addUserAction($workspace, $user);
         return $this->redirect($this->generateUrl('claro_workspace_open', ['workspaceId' => $workspace->getId()]));
     }
     return ['form' => $form->createView(), 'workspace' => $workspace];
 }