Ejemplo n.º 1
0
 public function executeCreate(sfWebRequest $request)
 {
     if (!($this->getUser()->hasCredential(myUser::CREDENTIAL_ADMIN) || StoreTable::value(StoreTable::CAMAPIGN_CREATE_ON))) {
         return $this->ajax()->alert('', 'You have no right to create a campaign.', '#my_campaigns h3', 'after')->render();
     }
     $form = new NewCampaignNameForm();
     $form->bind($request->getPostParameter($form->getName()));
     if (!$form->isValid()) {
         return $this->ajax()->form_error_list($form, '#my_campaigns_create', 'after')->render();
     }
     CampaignTable::getInstance()->getConnection()->beginTransaction();
     try {
         $campaign = new Campaign();
         $campaign->setName($form->getValue('name'));
         $campaign->setDataOwner($this->getGuardUser());
         $store = StoreTable::getInstance()->findByKey(StoreTable::PRIVACY_AGREEMENT);
         if ($store) {
             $campaign->setPrivacyPolicy($store->getField('text'));
         }
         $campaign->save();
         $cr = new CampaignRights();
         $cr->setCampaign($campaign);
         $cr->setUser($this->getGuardUser());
         $cr->setActive(1);
         $cr->setAdmin(1);
         $cr->setMember(1);
         $cr->save();
         CampaignTable::getInstance()->getConnection()->commit();
     } catch (Exception $e) {
         CampaignTable::getInstance()->getConnection()->rollback();
         return $this->ajax()->alert('', 'DB Error', '#my_campaigns_create', 'after')->render();
     }
     return $this->ajax()->redirectRotue('campaign_edit_', array('id' => $campaign->getId()))->render();
     //    return $this->ajax()->alert('Campaign created', '', '#my_campaigns_create', 'after')->render();
 }
Ejemplo n.º 2
0
 protected function joinCampaign(Ticket $ticket)
 {
     $cr = CampaignRightsTable::getInstance()->queryByCampaignAndUser($ticket->getCampaign(), $ticket->getFrom())->fetchOne();
     if ($cr) {
         /* @var $cr CampaignRights */
         if (!$cr->getActive()) {
             $cr->setActive(1);
             $cr->setMember(1);
             $cr->setAdmin(0);
             $cr->save();
         }
         return;
     }
     $cr = new CampaignRights();
     $cr->setCampaignId($ticket->getCampaignId());
     $cr->setUserId($ticket->getFromId());
     $cr->setActive(1);
     $cr->setMember(1);
     $cr->setAdmin(0);
     $cr->save();
 }