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(); } } } }
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(); } }
public function save() { parent::save(); if (!CTaxonomyManager::getCacheTaxonomy()->hasElement($this->getId())) { CTaxonomyManager::getCacheTaxonomy()->add($this->getId(), $this); CTaxonomyManager::getCacheTaxonomy()->add($this->getAlias(), $this); } }
/** * Обновление прав доступа к таблице по умолчанию * * @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(); } }
/** * Сохранялка новая, групповая. * Блин, как я задолбался уже это писать... */ 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(); } }
/** * Сохранялка новая, групповая. */ 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(); } }