/**
  * Returns the List of Services paginated for Bootstrap Table depending of the current User
  *
  * @Route("/list", name="_admin_services_list")
  * @Security("is_granted('ROLE_SELLER')")
  * @Template()
  */
 public function paginatedListAction()
 {
     $request = $this->get('request');
     if (!$this->get('request')->isXmlHttpRequest()) {
         // Is the request an ajax one?
         return new Response("<b>Not an ajax call!!!" . "</b>");
     }
     $logger = $this->get('logger');
     try {
         $limit = $request->get('limit');
         $offset = $request->get('offset');
         $order = $request->get('order');
         $search = $request->get('search');
         $sort = $request->get('sort');
         $status = $request->get('status');
         $technician = $request->get('technician');
         $seller = $request->get('seller');
         $date = DateUtil::getDateValueFromUI($request->get('date'));
         $em = $this->getDoctrine()->getManager();
         $usr = $this->get('security.context')->getToken()->getUser();
         $isAdmin = $this->get('security.context')->isGranted('ROLE_ADMIN');
         $userId = $isAdmin ? 0 : $usr->getId();
         $paginator = $em->getRepository('Tech506CallServiceBundle:TechnicianService')->getPageWithFilterForUser($offset, $limit, $search, $sort, $order, $userId, $status, $technician, $seller, $date);
         $results = $this->getResults($paginator);
         return new Response(json_encode(array('total' => count($paginator), 'rows' => $results)));
     } catch (Exception $e) {
         $info = toString($e);
         $logger->err('Services::paginatedListAction [' . $info . "]");
         return new Response(json_encode(array('error' => true, 'message' => $info)));
     }
 }
Example #2
0
 /**
  * Save or Update a Entity from the Catalog
  *
  * @Route("/sellers/save", name="_admin_sellers_save")
  * @Security("is_granted('ROLE_ADMIN')")
  * @Template()
  */
 public function saveAction()
 {
     $logger = $this->get('logger');
     if (!$this->get('request')->isXmlHttpRequest()) {
         // Is the request an ajax one?
         return new Response("<b>Not an ajax call!!!" . "</b>");
     }
     try {
         //Get parameters
         $request = $this->getRequest()->request;
         $id = $request->get('id');
         $email = $request->get('email');
         $isActive = $request->get('isActive');
         $isCreating = false;
         $translator = $this->get("translator");
         if (isset($id)) {
             $em = $this->getDoctrine()->getManager();
             $entity = new Seller();
             $user = new User();
             if ($id != 0) {
                 //It's updating, find the user
                 $entity = $em->getRepository('Tech506CallServiceBundle:Seller')->find($id);
                 $user = isset($entity) ? $entity->getUser() : null;
             }
             if (isset($entity)) {
                 //Set User Information
                 $user->setName($request->get('name'));
                 $user->setLastname($request->get('lastname'));
                 $user->setUsername($request->get('username'));
                 $user->setCellPhone($request->get('cellPhone'));
                 $user->setHomePhone($request->get('homePhone'));
                 $user->setEmail($email);
                 $user->setIdentification($request->get("identification"));
                 $user->setIdentificationType($request->get("identificationType"));
                 $user->setBirthPlace($request->get("birthPlace"));
                 $user->setNeighborhood($request->get('neighborhood'));
                 $user->setAddress($request->get('address'));
                 $user->setRh($request->get('rh'));
                 $user->setMaritalStatus($request->get('maritalStatus'));
                 $user->setGender($request->get('gender'));
                 $user->setBirthdate(DateUtil::getDateValueFromUI($request->get('birthDate')));
                 $user->setIsActive(isset($isActive) ? 1 : 0);
                 if ($id == 0) {
                     // If it's new must generates a new password
                     $encoder = $this->container->get('security.encoder_factory')->getEncoder($user);
                     $user->setPassword($encoder->encodePassword(Constants::DEFAULT_USERS_PASSWORD, $user->getSalt()));
                     $isCreating = true;
                 }
                 $entity->setVinculationDate(DateUtil::getDateValueFromUI($request->get('vinculationDate')));
                 $entity->setVinculationEndingDate(DateUtil::getDateValueFromUI($request->get('vinculationEndingDate')));
                 $entity->setObservations($request->get('observations'));
                 $entity->setEps($request->get('eps'));
                 $entity->setArl($request->get('arl'));
                 $entity->setCompensationFund($request->get('compensationFund'));
                 $entity->setPensionFund($request->get('pensionFund'));
                 $userId = $user->getId();
                 $userId = isset($userId) ? $userId : 0;
                 if ($em->getRepository("Tech506SecurityBundle:User")->checkUniqueUsernameAndEmail($user->getUsername(), $email, $userId)) {
                     if ($isCreating) {
                         // If it's new must email the new account email including the password
                         $role = $em->getRepository('Tech506SecurityBundle:Role')->findOneByRole(RolesEnum::SELLER);
                         $user->getUserRoles()->add($role);
                         $em->persist($user);
                         $em->flush();
                         $entity->setUser($user);
                         $em->persist($entity);
                         $em->flush();
                     } else {
                         $em->persist($user);
                         $em->persist($entity);
                         $em->flush();
                     }
                     return new Response(json_encode(array('error' => false, 'userId' => $user->getId(), 'msg' => $translator->trans('seller.save.success'))));
                 } else {
                     return new Response(json_encode(array('error' => true, 'msg' => $translator->trans('user.username.and.email.must.be.uniques'))));
                 }
             } else {
                 return new Response(json_encode(array('error' => true, 'msg' => "Missing Parameters 2")));
             }
         } else {
             return new Response(json_encode(array('error' => true, 'msg' => "Missing Parameters 1")));
         }
     } catch (Exception $e) {
         $info = toString($e);
         $logger->err('Seller::saveAction [' . $info . "]");
         return new Response(json_encode(array('error' => true, 'msg' => $info)));
     }
 }