/** * @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; } }