public function __construct($affiliateId) { parent::__construct(); $form = new OCSAFFILIATES_CLASS_AssignUserForm('assign_user'); $form->getElement('affiliateId')->setValue($affiliateId); $this->addForm($form); }
public function assignUser() { if (!OW::getRequest()->isAjax()) { exit(json_encode(array('result' => false))); } $service = OCSAFFILIATES_BOL_Service::getInstance(); $lang = OW::getLanguage(); $form = new OCSAFFILIATES_CLASS_AssignUserForm('assign_user'); if (!$form->isValid($_POST)) { exit(json_encode(array('result' => 'false', 'error' => $lang->text('ocsaffiliates', 'fill_required_fields')))); } $values = $form->getValues(); $affiliateId = (int) $values['affiliateId']; $affiliate = $service->findAffiliateById($affiliateId); if (!$affiliate) { exit(json_encode(array('result' => 'false'))); } if (!OW::getUser()->isAdmin()) { exit(json_encode(array('result' => 'false'))); } $user = BOL_UserService::getInstance()->findByUsername($values['user']); if (!$user) { exit(json_encode(array('result' => 'false', 'error' => $lang->text('ocsaffiliates', 'no_user_found', array('username' => $values['user']))))); } $userAffiliate = $service->findAffiliateByAssocUser($user->id); if ($userAffiliate && $userAffiliate->id != $affiliateId) { exit(json_encode(array('result' => 'false', 'error' => $lang->text('ocsaffiliates', 'already_assigned', array('username' => $values['user']))))); } $affiliate->userId = $user->id; $service->updateAffiliate($affiliate); OW::getFeedback()->info($lang->text('ocsaffiliates', 'user_assigned')); exit(json_encode(array('result' => true))); }