/** * 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))); } }
/** * 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))); } }