findSiteSecretaryForFirm() public method

public findSiteSecretaryForFirm ( $firmId ) : mixed
$firmId
return mixed
Esempio n. 1
0
 public function actionAddSiteSecretary($id = null)
 {
     $firmId = $id;
     $siteSecretaries = array();
     $errors = array();
     if ($firmId === null && isset(Yii::app()->session['selected_firm_id'])) {
         $firmId = Yii::app()->session['selected_firm_id'];
     }
     $errorList = array();
     if (Yii::app()->request->isPostRequest) {
         foreach ($_POST['FirmSiteSecretary'] as $i => $siteSecretaryPost) {
             if (empty($siteSecretaryPost['site_id']) && empty($siteSecretaryPost['direct_line']) && empty($siteSecretaryPost['fax'])) {
                 //The entire row is empty, ignore it
                 $errorList[] = array('You must supply at least a Site and Direct Line');
                 continue;
             }
             //Are we updating an existing object
             if ($siteSecretaryPost['id'] !== '') {
                 $siteSecretary = FirmSiteSecretary::model()->findByPk($siteSecretaryPost['id']);
             } else {
                 $siteSecretary = new FirmSiteSecretary();
             }
             //Set to have posted attributes
             $siteSecretary->attributes = $siteSecretaryPost;
             if (!$siteSecretary->firm_id) {
                 $siteSecretary->firm_id = (int) $firmId;
             }
             if (!$siteSecretary->validate()) {
                 $errorList[] = $siteSecretary->getErrors();
             } else {
                 if (!$siteSecretary->save()) {
                     throw new CHttpException(500, 'Unable to save Site Secretary: ' . $siteSecretary->site->name);
                 }
             }
             //Add to array so updated version can be rendered
             $siteSecretaries[] = $siteSecretary;
         }
     } else {
         //Find all of the contacts for the current firm
         $siteSecretary = new FirmSiteSecretary();
         $siteSecretaries = $siteSecretary->findSiteSecretaryForFirm($firmId);
     }
     //Add a blank one to the end of the form for adding
     $siteSecretaries[] = new FirmSiteSecretary();
     if (count($errorList)) {
         $errors = call_user_func_array('array_merge', $errorList);
     }
     $outputArray = array('siteSecretaries' => $siteSecretaries, 'errors' => $errors, 'success' => count($errors) === 0);
     if (Yii::app()->request->isAjaxRequest) {
         if (!$outputArray['success']) {
             $outputArray['errors'] = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($outputArray['errors'])), false);
         }
         $this->renderJSON($outputArray);
     } else {
         $this->render('/admin/secretary/edit', $outputArray);
     }
 }
 public function actionEditFirm($id)
 {
     if (!($firm = Firm::model()->findByPk($id))) {
         throw new Exception("Firm not found: {$id}");
     }
     if (!empty($_POST)) {
         $firm->attributes = $_POST['Firm'];
         if (!$firm->validate()) {
             $errors = $firm->getErrors();
         } else {
             if (!$firm->save()) {
                 throw new Exception("Unable to save firm: " . print_r($firm->getErrors(), true));
             }
             Audit::add('admin-Firm', 'edit', $firm->id);
             $this->redirect('/admin/firms/' . ceil($firm->id / $this->items_per_page));
         }
     } else {
         Audit::add('admin-Firm', 'view', $id);
     }
     $siteSecretaries = array();
     if (isset(Yii::app()->modules['OphCoCorrespondence'])) {
         $firmSiteSecretaries = new FirmSiteSecretary();
         $siteSecretaries = $firmSiteSecretaries->findSiteSecretaryForFirm($id);
         $firmSiteSecretaries->firm_id = $id;
         $siteSecretaries[] = $firmSiteSecretaries;
     }
     $this->render('/admin/editfirm', array('firm' => $firm, 'errors' => @$errors, 'siteSecretaries' => $siteSecretaries));
 }