Example #1
0
 /**
  * @before _secure
  * @after _cleanUp
  */
 public function advertiser($id = null)
 {
     $view = $this->getActionView();
     $org = $this->_org;
     if ($id) {
         $advertiser = User::first(['org_id' => $org->_id, 'type' => 'advertiser', '_id' => $id]);
     } else {
         $advertiser = null;
     }
     if ($id && !$advertiser) {
         return $this->failure('30');
     }
     $type = RequestMethods::type();
     switch ($type) {
         case 'GET':
             $data = Usr::display($org, 'advertiser', $id);
             $view->set('data', $data);
             break;
         case 'POST':
             if ($id) {
                 // edit an advertiser
                 $allowedFields = ['name', 'phone', 'country', 'currency'];
                 foreach ($allowedFields as $f) {
                     $advertiser->{$f} = RequestMethods::post($f, $publisher->{$f});
                 }
                 $advertiser->save();
                 $view->set('message', 'Advertiser Updated!!')->set('success', true);
             } else {
                 // create new
                 $this->_registerUser('advertiser', ['template' => 'advertReg']);
             }
             break;
         case 'DELETE':
             $this->_deleteUser($advertiser, 'Advertiser');
             break;
     }
 }