Пример #1
0
 /**
  * @Route("/customer/{platformid}/{organizationid}/edit", name="_organization_edit", requirements={
  *     "platformid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})",
  *     "organizationid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})"
  * })
  */
 public function editAction(Request $request, $platformid, $organizationid)
 {
     $platform_repository = (new PlatformPeer())->getLdapManager()->getRepository('platform');
     $platform = $platform_repository->getPlatformByUUID($platformid);
     $organizationPeer = new OrganizationPeer($platform->getDn());
     $organization_repository = $organizationPeer->getLdapManager()->getRepository('organization');
     $organizationLdap = $organization_repository->getOrganizationByUUID($organizationid);
     $tranformer = new ZacaciaTransformer();
     $organization = $tranformer->transOrganization($organizationLdap);
     $form = $this->createForm(OrganizationType::class, $organization);
     $form->handleRequest($request);
     if ($form->isSubmitted() && $form->isValid()) {
         try {
             $organizationLdap->setZarafaHidden($organization->getZarafaHidden());
             $organizationLdap->setZarafaAccount($organization->getZarafaAccount());
             $organizationLdap->setZacaciastatus($organization->getZacaciastatus());
             $organizationPeer->updateOrganization($organizationLdap);
             return $this->redirectToRoute('_organization', array('platformid' => $platform->getEntryUUID()));
         } catch (LdapConnectionException $e) {
             echo "Failed to update organization!" . PHP_EOL;
             echo $e->getMessage() . PHP_EOL;
         }
     }
     return $this->render('ZacaciaBundle:Organization:edit.html.twig', array('platform' => $platform, 'organization' => $organization, 'form' => $form->createView()));
 }
Пример #2
0
 /**
  * @Route("/domain/{platformid}/{organizationid}/{domainid}/delete", name="_domain_delete", requirements={
  *     "platformid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})",
  *     "organizationid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})",
  *     "domainid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})"
  * })
  */
 public function deleteAction(Request $request, $platformid, $organizationid, $domainid)
 {
     $platform_repository = (new PlatformPeer())->getLdapManager()->getRepository('platform');
     $platform = $platform_repository->getPlatformByUUID($platformid);
     $organizationPeer = new OrganizationPeer($platform->getDn());
     $organization_repository = $organizationPeer->getLdapManager()->getRepository('organization');
     $organization = $organization_repository->getOrganizationByUUID($organizationid);
     try {
         $domainPeer = new DomainPeer($organization->getDn());
         $domainPeer->deleteDomain($domainid, true);
     } catch (LdapConnectionException $e) {
         echo "Failed to delete domain!" . PHP_EOL;
         echo $e->getMessage() . PHP_EOL;
     }
     return $this->redirectToRoute('_domain', array('platformid' => $platform->getEntryUUID(), 'organizationid' => $organization->getEntryUUID()));
 }
Пример #3
0
 /**
  * @Route("/check/groupname/{platformid}/{organizationid}/{name}", name="_check_groupname", requirements={
  *   "platformid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})",
  *   "organizationid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})",
  *   "name": ".+"
  * })
  * @Method({"GET","HEAD"})
  */
 public function checkgroupnameAction(Request $request, $platformid, $organizationid, $name)
 {
     $platformPeer = new PlatformPeer();
     $platform_repository = $platformPeer->getLdapManager()->getRepository('platform');
     $platform = $platform_repository->getPlatformByUUID($platformid);
     $organizationPeer = new OrganizationPeer($platform->getDn());
     $organization_repository = $organizationPeer->getLdapManager()->getRepository('organization');
     $organization = $organization_repository->getOrganizationByUUID($organizationid);
     $base_dn = sprintf('ou=Groups,%s', $organization->getDn());
     $groupPeer = new GroupPeer($base_dn);
     $groups = $groupPeer->getLdapManager()->getRepository('group')->getGroupByName($name);
     $response = new JsonResponse();
     $response->setData(array('data' => count($groups)));
     return $response;
 }