예제 #1
0
 /**
  * @Route("/admin/organization_", name = "admin_organization_add")
  * @Template("LearningMainBundle:Admin:organization_.html.twig")
  */
 public function addAction()
 {
     $request = $this->getRequest();
     $organization = new Organization();
     if ($request->isMethod('POST')) {
         $em = $this->getDoctrine()->getManager();
         $organization->setTitle($request->request->get('title'));
         #$organization->setUrl($request->request->get('url'));
         #$organization->setKeywords($request->request->get('metaKey'));
         #$organization->setDescription($request->request->get('metaDesc'));
         $organization->setEnabled($request->request->get('enabled'));
         $organization->setBody($request->request->get('text'));
         $organization->setEmail($request->request->get('email'));
         $organization->setContact($request->request->get('contact'));
         $em->persist($organization);
         $em->flush();
         $em->refresh($organization);
         $organization->setUrl($organization->getId());
         $em->flush();
         $file = $request->files->get('fileImg');
         if ($file != NULL) {
             $origName = $file->getClientOriginalName();
             $format = substr($origName, strlen($origName) - 4);
             $name = substr($origName, 0, strlen($origName) - 4);
             //Извлекаем формат (бывает только PDF и FLV)
             $name .= '_' . time() . $format;
             if ($format != '.png' && $format != '.jpg') {
                 $error = 'Ошибка сохранения: необходимо загрузить картинку формата png или jpg';
                 return array('organization' => $organization, 'error' => $error);
             }
             $file->move('upload/company', $name);
             $organization->setImageFile($name);
         }
         $this->get('session')->getFlashBag()->add('popup', 'Добавлена');
         return $this->redirect($this->generateUrl('admin_organization_lists'));
     } else {
         return array();
     }
 }
예제 #2
0
 /**
  * @route("/organization-register", name="organization_register" )
  * @Template("LearningMainBundle:Auth:organization_register.html.twig")
  */
 public function organizationRegisterAction()
 {
     if ($this->get('security.context')->isGranted('ROLE_ORGANIZATION') && $this->getUser()->getOrganization() == null) {
         return $this->redirect($this->generateUrl('_index'));
     }
     $request = $this->getRequest();
     $organization = new Organization();
     if ($request->isMethod('POST')) {
         $em = $this->getDoctrine()->getManager();
         $organization->setTitle($request->request->get('title'));
         $organization->setEnabled($request->request->get('enabled'));
         $organization->setBody($request->request->get('text'));
         $organization->setEmail($request->request->get('email'));
         $organization->setContact($request->request->get('contact'));
         $em->persist($organization);
         $em->flush();
         $em->refresh($organization);
         $organization->setUrl($organization->getId());
         $em->flush();
         $file = $request->files->get('fileImg');
         if ($file != NULL) {
             $origName = $file->getClientOriginalName();
             $format = substr($origName, strlen($origName) - 4);
             $name = substr($origName, 0, strlen($origName) - 4);
             //Извлекаем формат (бывает только PDF и FLV)
             $name .= '_' . time() . $format;
             if ($format != '.png' && $format != '.jpg') {
                 $error = 'Ошибка сохранения: необходимо загрузить картинку формата png или jpg';
                 return array('organization' => $organization, 'error' => $error);
             }
             $file->move('upload/company', $name);
             $organization->setImageFile($name);
         }
         # Присоединяем человека к организации
         $this->getUser()->setOrganization($organization);
         $em->flush($this->getUser());
         # уведомление администраторов о регистрации организации
         $this->get('email.service')->send($this->container->getParameter('manager_emails'), array('LearningMainBundle:Email:registration_organization_notice.html.twig', array('user' => $this->getUser(), 'organization' => $organization)), 'Регистрация новой организации');
         return $this->redirect($this->generateUrl('_index'));
     } else {
         return array();
     }
 }