protected function targetListMember(Ticket $ticket) { $tr = TargetListRightsTable::getInstance()->queryByTargetListAndUser($ticket->getTargetList(), $ticket->getFrom())->fetchOne(); if (!$tr) { $tr = new TargetListRights(); $tr->setMailingList($ticket->getTargetList()); $tr->setUser($ticket->getFrom()); } /* @var $tr TargetListRights */ $tr->setActive(1); $tr->save(); }
public function executeMembers() { $this->target_list_rights_list = TargetListRightsTable::getInstance()->queryByTargetList($this->target_list)->execute(); $this->admin = $this->getGuardUser()->isCampaignAdmin($this->target_list->getCampaign()); $this->csrf_token = UtilCSRF::gen('target_list_members'); }
public function executeEditMembers(sfWebRequest $request) { $this->ajax()->setAlertTarget('#target_list_members', 'after'); $target_list = $this->findTargetList(); /* @var $target_list MailingList */ if (!$target_list) { return $this->ajax()->alert('Target-list not found', 'Error')->render(); } if ($target_list->getCampaignId()) { if (!$this->userIsAdmin() && $target_list->getCampaign()->getStatus() == CampaignTable::STATUS_DELETED) { return $this->notFound(); } } if (!$this->getGuardUser()->isCampaignAdmin($target_list->getCampaign())) { return $this->ajax()->alert('You are not admin', 'Error')->render(); } if ($request->getPostParameter('csrf_token') !== UtilCSRF::gen('target_list_members')) { return $this->ajax()->alert('CSRF Attack detected, please relogin.', 'Error')->render(); } $ids = $request->getPostParameter('ids'); $method = $request->getPostParameter('method'); if (!in_array($method, array('enable', 'disable'))) { return $this->ajax()->alert('Something is wrong.', 'Error')->render(); } if (is_array($ids)) { foreach (TargetListRightsTable::getInstance()->queryByTargetListAndUsers($target_list, $ids)->execute() as $target_list_rights) { /* @var $target_list_rights TargetListRights */ if ($method === 'enable') { $target_list_rights->setActive(1); } elseif ($method === 'disable') { $target_list_rights->setActive(0); } $target_list_rights->save(); } } return $this->ajax()->replaceWithComponent('#target_list_members', 'target', 'members', array('target_list' => $target_list))->render(); }
/** * * @param MailingList $mailing_list * @return TargetListRights */ public function getTargetListRights(MailingList $mailing_list) { if (array_key_exists($mailing_list->getId(), $this->tr_cache)) { return $this->tr_cache[$mailing_list->getId()]; } return $this->tr_cache[$mailing_list->getId()] = TargetListRightsTable::getInstance()->queryByTargetListAndUser($mailing_list, $this)->fetchOne(); }