public function actionAdd() { /** * получим дисциплину, по которой делаем рабочую программу * @var CCorriculumDiscipline $discipline * @var CCorriculum $corriculum */ $discipline = CCorriculumsManager::getDiscipline(CRequest::getInt("id")); $corriculum = $discipline->cycle->corriculum; // $plan = new CWorkPlan(); $plan->title = "Наименование не указано"; $plan->title_display = $plan->title; // дисциплина из учебного плана $plan->corriculum_discipline_id = $discipline->getId(); // дисциплина из справочника if (!is_null($discipline->discipline)) { $plan->discipline_id = $discipline->discipline->getId(); } // копируем информацию из учебного плана if (!is_null($corriculum)) { $plan->direction_id = $corriculum->speciality_direction_id; $plan->qualification_id = $corriculum->qualification_id; $plan->education_form_id = $corriculum->form_id; } $plan->date_of_formation = date("Y-m-d"); $plan->year = date("Y"); $plan->authors = new CArrayList(); $plan->authors->add(CSession::getCurrentPerson()->getId(), CSession::getCurrentPerson()->getId()); // место дисциплины в структуре плана if (!is_null($discipline->cycle)) { $plan->position = "Дисциплина относится к базовой части учебного цикла " . $discipline->cycle->title; } $plan->save(); /** * Скопируем компетенции из плана * @var CCorriculumDisciplineCompetention $competention */ foreach ($discipline->competentions->getItems() as $competention) { $planCompetention = new CWorkPlanCompetention(); $planCompetention->plan_id = $plan->getId(); $planCompetention->allow_delete = 0; $planCompetention->competention_id = $competention->competention_id; if ($competention->knowledge_id != 0) { $planCompetention->knowledges->add($competention->knowledge_id, $competention->knowledge_id); } if ($competention->skill_id != 0) { $planCompetention->skills->add($competention->skill_id, $competention->skill_id); } if ($competention->experience_id != 0) { $planCompetention->experiences->add($competention->experience_id, $competention->experience_id); } $planCompetention->save(); } $category = new CWorkPlanContentCategory(); $category->plan_id = $plan->getId(); $category->order = 1; $category->title = "Пустая категория"; $category->save(); $this->redirect("?action=edit&id=" . $plan->getId()); }
public function actionSave() { $object = new CWorkPlanContentCategory(); $object->setAttributes(CRequest::getArray($object::getClassName())); if ($object->validate()) { $object->save(); if ($this->continueEdit()) { $this->redirect("workplancontentcategories.php?action=edit&id=" . $object->getId()); } else { $this->redirect("workplans.php?action=edit&id=" . $object->plan_id); } return true; } $this->setData("object", $object); $this->renderView("_corriculum/_workplan/contentCategories/edit.tpl"); }