Ejemplo n.º 1
0
 protected function setStatement()
 {
     $stmt = $this->model->find($this->findParams);
     $this->store->setStatement($stmt);
 }
Ejemplo n.º 2
0
 function actionEmployees($params)
 {
     $result['success'] = false;
     $company = \GO\Addressbook\Model\Company::model()->findByPk($params['company_id']);
     if (!$company->checkPermissionLevel(\GO\Base\Model\Acl::WRITE_PERMISSION)) {
         throw new \GO\Base\Exception\AccessDenied();
     }
     if (isset($params['delete_keys'])) {
         $response['deleteSuccess'] = true;
         try {
             $delete_contacts = json_decode($params['delete_keys']);
             foreach ($delete_contacts as $id) {
                 $contact = \GO\Addressbook\Model\Contact::model()->findByPk($id);
                 $contact->setAttributes(array('id' => $id, 'company_id' => 0));
                 $contact->save();
             }
         } catch (\Exception $e) {
             $response['deleteFeedback'] = $strDeleteError;
             $response['deleteSuccess'] = false;
         }
     }
     if (isset($params['add_contacts'])) {
         $add_contacts = json_decode($params['add_contacts']);
         foreach ($add_contacts as $id) {
             $contact = \GO\Addressbook\Model\Contact::model()->findByPk($id);
             $contact->setAttributes(array('id' => $id, 'company_id' => $params['company_id']));
             $contact->save();
         }
     }
     $params['field'] = isset($params['field']) ? $params['field'] : 'addressbook_name';
     $store = new \GO\Base\Data\Store($this->getStoreColumnModel());
     $this->formatColumns($store->getColumnModel());
     $response['success'] = true;
     $storeParams = $store->getDefaultParams($params)->criteria(\GO\Base\Db\FindCriteria::newInstance()->addCondition('company_id', $params['company_id']))->mergeWith($this->getStoreParams($params));
     $store->setStatement(call_user_func(array('GO\\Addressbook\\Model\\Contact', 'model'))->find($storeParams));
     return array_merge($response, $store->getData());
 }