コード例 #1
1
 public function save()
 {
     parent::save();
     /**
      * У сотрудников, которых нет приказов по
      * ГАК в году комиссии автоматически устанавливается
      * приказ от комиссии
      */
     if ($this->order_id !== 0) {
         $persons = new CArrayList();
         foreach ($this->members->getItems() as $person) {
             $persons->add($person->getId(), $person);
         }
         if (!is_null($this->manager)) {
             $persons->add($this->manager->getId(), $this->manager);
         }
         foreach ($persons->getItems() as $person) {
             if (is_null($person->getSABOrdersByYear($this->year))) {
                 $ar = new CActiveRecord(array("id" => null, "person_id" => $person->getId(), "year_id" => $this->year->getId(), "order_id" => $this->order_id));
                 $ar->setTable(TABLE_SAB_PERSON_ORDERS);
                 $ar->insert();
             }
         }
     }
 }
コード例 #2
0
 public function save()
 {
     parent::save();
     // берем все старые записи об участии и создаем их заново
     $q = new CQuery();
     $q->remove(TABLE_EVENT_MEMBERSHIP)->condition("event_id=" . $this->getId())->execute();
     // добавляем заново
     foreach ($this->getMembers()->getItems() as $item) {
         $q = new CQuery();
         $q->insert(TABLE_EVENT_MEMBERSHIP, array("resource_id" => $item->getId(), "event_id" => $this->getId(), "calendar_id" => $this->getCalendar()->getId()));
         $q->execute();
     }
 }
コード例 #3
0
 public function save()
 {
     parent::save();
     if (!CTaxonomyManager::getCacheTaxonomy()->hasElement($this->getId())) {
         CTaxonomyManager::getCacheTaxonomy()->add($this->getId(), $this);
         CTaxonomyManager::getCacheTaxonomy()->add($this->getAlias(), $this);
     }
 }
コード例 #4
0
 /**
  * Обновление прав доступа к таблице по умолчанию
  *
  * @param CActiveModel $model
  * @param array $entries
  * @param int $level
  */
 private function updateDefaultAccess(CActiveModel $model, array $entries, $level = 1)
 {
     // 1. удаляем старые записи доступа
     foreach (CActiveRecordProvider::getWithCondition(TABLE_ACL_DEFAULTS, "table_id=" . $model->getId())->getItems() as $item) {
         $obj = new CActiveModel($item);
         $obj->remove();
     }
     // 2. создаем новые записи уровня сущностей
     foreach ($entries["id"] as $key => $value) {
         $entry = new CActiveModel();
         $entry->getRecord()->setTable(TABLE_ACL_DEFAULTS);
         $entry->table_id = $model->getId();
         $entry->level = $level;
         $entry->entry_type = $entries["type"][$key];
         $entry->entry_id = $value;
         $entry->save();
     }
 }
コード例 #5
0
 /**
  * Сохранялка новая, групповая.
  * Блин, как я задолбался уже это писать...
  */
 public function save()
 {
     if ($this->getId() != 0) {
         // удаляем старые вопросы
         $q = new CQuery();
         $q->remove(TABLE_SEB_QUSTIONS_IN_TICKETS)->condition("ticket_id=" . $this->getId())->execute();
     }
     parent::save();
     // сохраняем новые вопросы
     foreach ($this->getQuestions()->getItems() as $i) {
         $q = new CQuery();
         $q->insert(TABLE_SEB_QUSTIONS_IN_TICKETS, array("ticket_id" => $this->getId(), "question_id" => $i->getId()))->execute();
     }
 }
コード例 #6
0
 /**
  * Сохранялка новая, групповая.
  */
 public function save()
 {
     if ($this->getId() != 0) {
         // удаляем старых членов ГАК вместе с председателем
         $q = new CQuery();
         $q->remove(TABLE_SEB_PROTOCOL_MEMBERS)->condition("protocol_id=" . $this->getId())->execute();
     }
     parent::save();
     // сохраняем новыех участников
     foreach ($this->getMembers()->getItems() as $member) {
         $q = new CQuery();
         $q->insert(TABLE_SEB_PROTOCOL_MEMBERS, array("protocol_id" => $this->getId(), "person_id" => $member->getId(), "isMaster" => 0))->execute();
     }
     // председателя тоже сохраняем
     if (!is_null($this->getBoardMaster())) {
         $q = new CQuery();
         $q->insert(TABLE_SEB_PROTOCOL_MEMBERS, array("protocol_id" => $this->getId(), "person_id" => $this->getBoardMaster()->getId(), "isMaster" => 1))->execute();
     }
 }