public function update(\SplSubject $subject)
 {
     $this->allow_models[] = 'Account';
     $this->allow_models[] = 'Order';
     $this->allow_models[] = 'OrderDetail';
     $this->allow_models[] = 'Lead';
     $this->allow_models[] = 'Patient';
     $this->allow_models[] = 'User';
     $Recipient_id = $subject->getParam('recipient', 0);
     if ($Recipient_id) {
         $dataModel = $subject->getGatewayServiceVerify()->get('Email')->findOne(['model_id' => $Recipient_id]);
         if ($dataModel) {
             $this->allow_models[] = ucfirst($dataModel->data);
         }
     }
     if (!is_array($this->allow_models)) {
         return;
     }
     foreach ($this->allow_models as $model) {
         $visibleFields['pattern_items'][$model] = $subject->getAclServiceVerify()->getVisibleFields($model);
     }
     /* Copy current recipient data to array 'Contacts' */
     if (isset($dataModel)) {
         $visibleFields['pattern_items']['Contacts'] = $visibleFields['pattern_items'][ucfirst($dataModel->data)];
     }
     $subject->setData($visibleFields);
 }
 /**
  * @param \SplSubject|View $subject
  */
 public function update(\SplSubject $subject)
 {
     $viewConfig = $subject->getViewConfigVerify();
     $query = $subject->getQueryServiceVerify()->get($viewConfig->query)->setParams($subject->getParams())->process();
     $subject->setData($query->getData());
     $model = $subject->getGatewayServiceVerify()->get($viewConfig->model)->find($query->getWhere());
     if (!$model->count()) {
         return;
     }
     foreach ($model as $row) {
         $result['selectlinks'][] = ['route' => 'common', 'label' => $row->title, 'routeparams' => ['view' => $viewConfig->params['view'], 'data' => $subject->getParams()->fromRoute('data')], 'queryparams' => ['id' => $subject->getParams()->fromRoute('id'), 'template' => $row->_id]];
     }
     $subject->setData($result);
 }
 /**
  * @param \SplSubject|Logic $subject
  *
  * @throws \Exception
  */
 public function update(\SplSubject $subject)
 {
     $models = $subject->getEventObject();
     if (!(is_array($models) || $models instanceof ResultSetInterface)) {
         $models = [$models];
     }
     foreach ($models as $_k => $model) {
         if ($model instanceof AclDataModel) {
             $dataModel = $model->getDataModel();
         } else {
             $dataModel = $model;
         }
         $subject->getGatewayServiceVerify()->get($dataModel->getModelName())->delete(['_id' => $dataModel->id()]);
     }
 }
 /**
  * @param \SplSubject|View $subject
  */
 public function update(\SplSubject $subject)
 {
     $viewConfig = $subject->getViewConfigVerify();
     $query = $subject->getQueryServiceVerify()->get($viewConfig->query)->setParams($subject->getParams())->process();
     $subject->setData($query->getData());
     $model = $subject->getGatewayServiceVerify()->get($viewConfig->model)->find($query->getWhere());
     if (!$model->count()) {
         return;
     }
     foreach ($model as $key => $row) {
         $result['selectlinks'][] = ['route' => 'common', 'label' => $row->title, 'folder_title' => $row->folder_title, 'routeparams' => ['view' => 'send', 'data' => 'mail'], 'queryparams' => ['recipient' => $subject->getParams()->fromRoute('id'), 'template' => $row->_id]];
     }
     usort($result['selectlinks'], function ($a, $b) {
         return strnatcmp($a['folder_title'], $b['folder_title']);
     });
     $subject->setData($result);
 }
 /**
  * @param \SplSubject|Logic $subject
  */
 public function update(\SplSubject $subject)
 {
     $model = $subject->getEventObject();
     $settings = $this->getRootConfig();
     if ($model->{$settings}['isdefault_field'] == 'true') {
         $gw = $subject->getGatewayServiceVerify()->get($model->getModelName());
         $searchQuery = [];
         foreach ($settings['unique_fields'] as $field) {
             $searchQuery[$field] = $model->{$field};
         }
         $searchQuery['-_id'] = $model->_id;
         $otherModels = $gw->find($searchQuery);
         foreach ($otherModels as $othrModel) {
             $othrModel->{$settings}['isdefault_field'] = 'false';
             $gw->save($othrModel);
         }
     }
 }