/** * @Route("/domain/{platformid}/{organizationid}/{domainid}/edit", name="_domain_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})", * "domainid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})" * }) */ public function editAction(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); $domainPeer = new DomainPeer($organization->getDn()); $domain_repository = $domainPeer->getLdapManager()->getRepository('domain'); $domainLdap = $domain_repository->getDomainByUUID($domainid); $tranformer = new ZacaciaTransformer(); $domain = $tranformer->transDomain($domainLdap); $form = $this->createForm(DomainType::class, $domain); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { try { $domainLdap->setZacaciastatus($domain->getZacaciastatus()); $domainPeer->updateDomain($domainLdap); return $this->redirectToRoute('_domain', array('platformid' => $platform->getEntryUUID(), 'organizationid' => $organization->getEntryUUID())); } catch (LdapConnectionException $e) { echo "Failed to update domain!" . PHP_EOL; echo $e->getMessage() . PHP_EOL; } } return $this->render('ZacaciaBundle:Domain:edit.html.twig', array('platform' => $platform, 'organization' => $organization, 'domain' => $domain, 'form' => $form->createView())); }
/** * @Route("/check/domain/{name}", name="_check_domain", requirements={ * "name": "[a-zA-Z0-9\-\.]+" * }) * @Method({"GET","HEAD"}) */ public function checkdomainAction(Request $request, $name) { $platformPeer = new PlatformPeer(); $base_dn = $platformPeer->getConfig()->getDomainConfiguration($platformPeer->getConfig()->getDefaultDomain())->getBaseDn(); $domainPeer = new DomainPeer($base_dn); $domains = $domainPeer->getLdapManager()->getRepository('domain')->getDomainByName($name); $response = new JsonResponse(); $response->setData(array('data' => count($domains))); return $response; }
/** * @Route("/user/{platformid}/{organizationid}/{userid}/password", name="_user_password", 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})", * "userid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})" * }) */ public function passwordAction(Request $request, $platformid, $organizationid, $userid) { $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); $userPeer = new UserPeer($organization->getDn()); $user_repository = $userPeer->getLdapManager()->getRepository('user'); $userLdap = $user_repository->getUserByUUID($userid); $domainPeer = new DomainPeer($organization->getDn()); $domain_repository = $domainPeer->getLdapManager()->getRepository('domain'); $tranformer = new ZacaciaTransformer(); $user = $tranformer->transUser($userLdap, $platform, $organization); # print_r( $user ); exit; $form = $this->createForm(ChangePwdType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { try { $userLdap->setuserPassword($user->getPassword()); $userPeer->updateUser($userLdap); return $this->redirectToRoute('_user', array('platformid' => $platform->getEntryUUID(), 'organizationid' => $organization->getEntryUUID())); } catch (LdapConnectionException $e) { echo "Failed to update user!" . PHP_EOL; echo $e->getMessage() . PHP_EOL; } } return $this->render('ZacaciaBundle:User:password.html.twig', array('platform' => $platform, 'organization' => $organization, 'user' => $user, 'form' => $form->createView())); }
/** * @Route("/group/{platformid}/{organizationid}/{groupid}/sendas", name="_group_sendas", 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})", * "groupid": "([a-z0-9]{8})(\-[a-z0-9]{4}){3}(\-[a-z0-9]{12})" * }) */ public function sendasAction(Request $request, $platformid, $organizationid, $groupid) { $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); $groupPeer = new GroupPeer($organization->getDn()); $group_repository = $groupPeer->getLdapManager()->getRepository('group'); $groupLdap = $group_repository->getGroupByUUID($groupid); $domainPeer = new DomainPeer($organization->getDn()); $domain_repository = $domainPeer->getLdapManager()->getRepository('domain'); $tranformer = new ZacaciaTransformer(); $group = $tranformer->transGroup($groupLdap, $platform, $organization); $form = $this->createForm(GroupType::class, $group, array('domain_choices' => $domain_repository->getAllDomainsAsChoice())); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { try { $groupLdap->setSn($group->getSn()); $groupLdap->setGivenName($group->getGivenName()); $groupLdap->setMail(sprintf('%s@%s', $group->getEmail(), $group->getDomain())); $groupLdap->setZarafaHidden($group->getZarafaHidden()); $groupLdap->setZarafaAccount($group->getZarafaAccount()); $groupLdap->setZacaciastatus($group->getZacaciastatus()); $groupPeer->updateGroup($groupLdap); return $this->redirectToRoute('_group', array('platformid' => $platform->getEntryUUID(), 'organizationid' => $organization->getEntryUUID())); } catch (LdapConnectionException $e) { echo "Failed to update group!" . PHP_EOL; echo $e->getMessage() . PHP_EOL; } } return $this->render('ZacaciaBundle:Group:edit.html.twig', array('platform' => $platform, 'organization' => $organization, 'group' => $group, 'form' => $form->createView())); }