예제 #1
0
echo $form->field($model, 'id_faculty')->dropDownList(ArrayHelper::map(Faculty::find()->all(), 'faculty_id', 'faculty_name'), ['prompt' => 'Оберіть факультет', 'onchange' => '
                $.post("index.php?r=timetable/lessons/speciality_list&id=' . '"+$(this).val(), function( data ) {
                  $( "select#lessons-id_speciality" ).html( data );
                });
            '])->label("Факультет");
?>
    
    <?php 
echo $form->field($model, 'id_speciality')->dropDownList(ArrayHelper::map(Speciality::find()->all(), 'speciality_id', 'speciality_name'), ['prompt' => 'Оберіть спеціальність', 'onchange' => '
                $.post("index.php?r=timetable/lessons/groups_list&id=' . '"+$(this).val()+"&course=' . '"+$("#lessons-course_get").val(), function( data ) {
                  $( "select#lessons-id_group" ).html( data );
                });
            '])->label("Спеціальність");
?>
    
    <?php 
echo $form->field($model, 'id_group')->dropDownList(ArrayHelper::map(Groups::findAll(['is_subgroup' => 0]), 'group_id', 'main_group_name'), ['prompt' => 'Оберіть групу'])->label("Група");
?>
  
    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? 'Обрати' : 'Оновити', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
?>

</div>
예제 #2
0
use app\module\handbook\models\Groups;
/* @var $this yii\web\View */
/* @var $model app\module\handbook\models\Discipline */
$d_name = DisciplineList::findOne([$model->id_discipline]);
$this->title = $d_name['discipline_name'];
$this->params['breadcrumbs'][] = ['label' => 'Дисципліни', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
function auditory($val)
{
    $classes = ClassRooms::findOne(['classrooms_id' => $val]);
    $housing = Housing::findOne(['housing_id' => $classes['id_housing']]);
    return $classes['classrooms_number'] . ' - ' . $housing['name'];
}
$optionsId = DisciplineGroups::findAll(['id_discipline' => $model->discipline_distribution_id]);
for ($i = 0; $i < count($optionsId); $i++) {
    $optionName[] = Groups::findAll(['group_id' => $optionsId[$i]['id_group']]);
    $optionsArray[] = $optionName[$i][0]['main_group_name'] . " ";
}
$optionsString = implode(' | ', $optionsArray);
?>
<div class="discipline-view">

    <h1><?php 
echo Html::encode($this->title);
?>
</h1>

    <p>
        <?php 
echo Html::a('Оновити', ['update', 'id' => $model->discipline_distribution_id], ['class' => 'btn btn-primary']);
?>
 /**
  * Creates a new Lessons model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new Lessons();
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         $group_info = Groups::findOne(["group_id" => $model->id_group]);
         function lesson_insert($id_group, $is_numerator)
         {
             $m = new Lessons();
             $m->is_holiday = $model->is_holiday;
             $m->all_group = $model->all_group;
             $m->id_discipline = $model->id_discipline;
             $m->id_teacher = $model->id_teacher;
             $m->id_classroom = $model->id_classroom;
             $m->id_group = $id_group;
             $m->id_faculty = $model->id_faculty;
             $m->id_speciality = $model->id_speciality;
             $m->course = $model->course;
             $m->semester = $model->semester;
             $m->id_okr = $model->id_okr;
             $m->is_numerator = $is_numerator;
             $m->day = $model->day;
             $m->comment = $model->comment;
             $m->lesson_number = $model->lesson_number;
             $m->insert();
         }
         //Код для всего потока
         if ($model->all_speciality) {
             $sp = Speciality::findAll(['id_faculty' => $model->id_faculty]);
             //Узнаем факультет этой группы
             $gr = Groups::find()->where(['inflow_year' => date("Y") - $model->course])->all();
             //Выбираем все группы с таким же годом поступления
             foreach ($gr as $g) {
                 foreach ($sp as $s) {
                     if ($s['speciality_id'] == $g['id_speciality']) {
                         //Если у группы и специальности совпадают ИД, это то, что нужно
                         $stream_groups[] = $g['group_id'];
                     }
                 }
             }
             //Сам код вставки
             /* 
                 Если выбрана галка "Числитель/знаменатель", единожды записываем данные для этой группы
             */
             if ($model->num_dem == 1) {
                 //Если выбрана галка "Числитель/знаменатель"
                 if ($model->is_numerator == 0) {
                     //Если ИД подгруппы совпадает - психуем и забиваем
                     $m = new Lessons();
                     $m->is_holiday = $model->is_holiday;
                     $m->all_group = $model->all_group;
                     $m->id_discipline = $model->id_discipline;
                     $m->id_teacher = $model->id_teacher;
                     $m->id_classroom = $model->id_classroom;
                     $m->id_group = $model->id_group;
                     $m->id_faculty = $model->id_faculty;
                     $m->id_speciality = $model->id_speciality;
                     $m->course = $model->course;
                     $m->semester = $model->semester;
                     $m->id_okr = $model->id_okr;
                     $m->is_numerator = 1;
                     $m->comment = $model->comment;
                     $m->day = $model->day;
                     $m->lesson_number = $model->lesson_number;
                     $m->insert();
                 } else {
                     //Иначе все по новой
                     $m = new Lessons();
                     $m->is_holiday = $model->is_holiday;
                     $m->all_group = $model->all_group;
                     $m->id_discipline = $model->id_discipline;
                     $m->id_teacher = $model->id_teacher;
                     $m->id_classroom = $model->id_classroom;
                     $m->id_group = $model->id_group;
                     $m->id_faculty = $model->id_faculty;
                     $m->id_speciality = $model->id_speciality;
                     $m->course = $model->course;
                     $m->semester = $model->semester;
                     $m->id_okr = $model->id_okr;
                     $m->is_numerator = 0;
                     $m->comment = $model->comment;
                     $m->day = $model->day;
                     $m->lesson_number = $model->lesson_number;
                     $m->insert();
                 }
                 foreach ($stream_groups as $sg) {
                     $is_group_for_subgroup = Groups::find()->where(['parent_group' => $sg])->all();
                     $group_speciality = Groups::find()->where(['group_id' => $sg])->select('id_speciality')->all();
                     if (!empty($is_group_for_subgroup) || $sg == $model->id_group) {
                         //Если у группы существуют подгруппы или это первоначальная группа - пропускаем
                         continue;
                     } else {
                         $m = new Lessons();
                         $m->is_holiday = $model->is_holiday;
                         $m->all_group = $model->all_group;
                         $m->id_discipline = $model->id_discipline;
                         $m->id_teacher = $model->id_teacher;
                         $m->id_classroom = $model->id_classroom;
                         $m->id_group = $sg;
                         $m->id_faculty = $model->id_faculty;
                         $m->id_speciality = $group_speciality[0]['id_speciality'];
                         $m->course = $model->course;
                         $m->semester = $model->semester;
                         $m->id_okr = $model->id_okr;
                         $m->is_numerator = 0;
                         $m->comment = $model->comment;
                         $m->day = $model->day;
                         $m->lesson_number = $model->lesson_number;
                         $m->insert();
                         $m = new Lessons();
                         $m->is_holiday = $model->is_holiday;
                         $m->all_group = $model->all_group;
                         $m->id_discipline = $model->id_discipline;
                         $m->id_teacher = $model->id_teacher;
                         $m->id_classroom = $model->id_classroom;
                         $m->id_group = $sg;
                         $m->id_faculty = $model->id_faculty;
                         $m->id_speciality = $group_speciality[0]['id_speciality'];
                         $m->course = $model->course;
                         $m->semester = $model->semester;
                         $m->id_okr = $model->id_okr;
                         $m->is_numerator = 1;
                         $m->comment = $model->comment;
                         $m->day = $model->day;
                         $m->lesson_number = $model->lesson_number;
                         $m->insert();
                     }
                 }
             } else {
                 //Если галка Числитель/знаменатель не выбрана
                 foreach ($stream_groups as $sg) {
                     $is_group_for_subgroup = Groups::find()->where(['parent_group' => $sg])->all();
                     $group_speciality = Groups::find()->where(['group_id' => $sg])->select('id_speciality')->all();
                     if (!empty($is_group_for_subgroup) || $sg == $model->id_group) {
                         //Если у группы существуют подгруппы или это первоначальная группа - пропускаем
                         continue;
                     } else {
                         $m = new Lessons();
                         $m->is_holiday = $model->is_holiday;
                         $m->all_group = $model->all_group;
                         $m->id_discipline = $model->id_discipline;
                         $m->id_teacher = $model->id_teacher;
                         $m->id_classroom = $model->id_classroom;
                         $m->id_group = $sg;
                         $m->id_faculty = $model->id_faculty;
                         $m->id_speciality = $group_speciality[0]['id_speciality'];
                         $m->course = $model->course;
                         $m->semester = $model->semester;
                         $m->id_okr = $model->id_okr;
                         $m->is_numerator = $model->is_numerator;
                         $m->comment = $model->comment;
                         $m->day = $model->day;
                         $m->lesson_number = $model->lesson_number;
                         $m->insert();
                     }
                 }
             }
             //Конец кода вставки
             //Конец кода для всего потока
         } else {
             //Если не выбрана галка "Для всего потока"
             if ($group_info['parent_group'] == 0) {
                 //Выясняем группа это или подгруппа
                 $is_group = true;
                 //Если это группа
                 if ($model->num_dem == 1) {
                     //Записываем если выбрана галочка Числитель/Знаменатель для 1 группы
                     $m = new Lessons();
                     if ($model->is_numerator == 1) {
                         $m->is_holiday = $model->is_holiday;
                         $m->all_group = $model->all_group;
                         $m->id_discipline = $model->id_discipline;
                         $m->id_teacher = $model->id_teacher;
                         $m->id_classroom = $model->id_classroom;
                         $m->id_group = $model->id_group;
                         $m->id_faculty = $model->id_faculty;
                         $m->id_speciality = $model->id_speciality;
                         $m->course = $model->course;
                         $m->semester = $model->semester;
                         $m->id_okr = $model->id_okr;
                         $m->is_numerator = 0;
                         $m->day = $model->day;
                         $m->comment = $model->comment;
                         $m->lesson_number = $model->lesson_number;
                         $m->insert();
                     } else {
                         $m->is_holiday = $model->is_holiday;
                         $m->all_group = $model->all_group;
                         $m->id_discipline = $model->id_discipline;
                         $m->id_teacher = $model->id_teacher;
                         $m->id_classroom = $model->id_classroom;
                         $m->id_group = $model->id_group;
                         $m->id_faculty = $model->id_faculty;
                         $m->id_speciality = $model->id_speciality;
                         $m->course = $model->course;
                         $m->semester = $model->semester;
                         $m->id_okr = $model->id_okr;
                         $m->is_numerator = 1;
                         $m->day = $model->day;
                         $m->comment = $model->comment;
                         $m->lesson_number = $model->lesson_number;
                         $m->insert();
                     }
                 }
             } else {
                 $is_group = false;
                 //Если это подгруппа
                 if ($model->all_group == 1) {
                     //Если выбрана галка для всей группы
                     $groups_arr = Groups::findAll(['parent_group' => $model->parent]);
                     if ($model->num_dem == 1) {
                         //Если выбрана галка числитель/знаменатель, сохраним это для этой подгруппы
                         $m = new Lessons();
                         if ($model->is_numerator == 1) {
                             $m->is_holiday = $model->is_holiday;
                             $m->all_group = $model->all_group;
                             $m->id_discipline = $model->id_discipline;
                             $m->id_teacher = $model->id_teacher;
                             $m->id_classroom = $model->id_classroom;
                             $m->id_group = $model->id_group;
                             $m->id_faculty = $model->id_faculty;
                             $m->id_speciality = $model->id_speciality;
                             $m->course = $model->course;
                             $m->semester = $model->semester;
                             $m->id_okr = $model->id_okr;
                             $m->is_numerator = 0;
                             $m->comment = $model->comment;
                             $m->day = $model->day;
                             $m->lesson_number = $model->lesson_number;
                             $m->insert();
                         } else {
                             $m->is_holiday = $model->is_holiday;
                             $m->all_group = $model->all_group;
                             $m->id_discipline = $model->id_discipline;
                             $m->id_teacher = $model->id_teacher;
                             $m->id_classroom = $model->id_classroom;
                             $m->id_group = $model->id_group;
                             $m->id_faculty = $model->id_faculty;
                             $m->id_speciality = $model->id_speciality;
                             $m->course = $model->course;
                             $m->semester = $model->semester;
                             $m->id_okr = $model->id_okr;
                             $m->is_numerator = 1;
                             $m->comment = $model->comment;
                             $m->day = $model->day;
                             $m->lesson_number = $model->lesson_number;
                             $m->insert();
                         }
                     }
                     foreach ($groups_arr as $ga) {
                         //Перебираем все группы
                         if ($ga['group_id'] == $model->id_group) {
                             //Если ИД подгруппы совпадает - психуем и забиваем
                             continue;
                         } else {
                             //Иначе все по новой
                             if ($model->num_dem == 1) {
                                 //Выбрана галочка Числитель/Знаменатель для всей группы
                                 $m = new Lessons();
                                 $m->is_holiday = $model->is_holiday;
                                 $m->all_group = $model->all_group;
                                 $m->id_discipline = $model->id_discipline;
                                 $m->id_teacher = $model->id_teacher;
                                 $m->id_classroom = $model->id_classroom;
                                 $m->id_group = $ga['group_id'];
                                 $m->id_faculty = $model->id_faculty;
                                 $m->id_speciality = $model->id_speciality;
                                 $m->course = $model->course;
                                 $m->semester = $model->semester;
                                 $m->id_okr = $model->id_okr;
                                 $m->is_numerator = 0;
                                 $m->comment = $model->comment;
                                 $m->day = $model->day;
                                 $m->lesson_number = $model->lesson_number;
                                 $m->insert();
                                 $m = new Lessons();
                                 $m->is_holiday = $model->is_holiday;
                                 $m->all_group = $model->all_group;
                                 $m->id_discipline = $model->id_discipline;
                                 $m->id_teacher = $model->id_teacher;
                                 $m->id_classroom = $model->id_classroom;
                                 $m->id_group = $ga['group_id'];
                                 $m->id_faculty = $model->id_faculty;
                                 $m->id_speciality = $model->id_speciality;
                                 $m->course = $model->course;
                                 $m->semester = $model->semester;
                                 $m->id_okr = $model->id_okr;
                                 $m->is_numerator = 1;
                                 $m->comment = $model->comment;
                                 $m->day = $model->day;
                                 $m->lesson_number = $model->lesson_number;
                                 $m->insert();
                             } else {
                                 $m = new Lessons();
                                 $m->is_holiday = $model->is_holiday;
                                 $m->all_group = $model->all_group;
                                 $m->id_discipline = $model->id_discipline;
                                 $m->id_teacher = $model->id_teacher;
                                 $m->id_classroom = $model->id_classroom;
                                 $m->id_group = $ga['group_id'];
                                 $m->id_faculty = $model->id_faculty;
                                 $m->id_speciality = $model->id_speciality;
                                 $m->course = $model->course;
                                 $m->semester = $model->semester;
                                 $m->id_okr = $model->id_okr;
                                 $m->comment = $model->comment;
                                 $m->is_numerator = $model->is_numerator;
                                 $m->day = $model->day;
                                 $m->lesson_number = $model->lesson_number;
                                 $m->insert();
                             }
                         }
                     }
                 } else {
                     if ($model->num_dem == 1) {
                         //Если выбрана галка числитель/знаменатель, сохраним это для этой подгруппы
                         $m = new Lessons();
                         if ($model->is_numerator == 1) {
                             $m->is_holiday = $model->is_holiday;
                             $m->all_group = $model->all_group;
                             $m->id_discipline = $model->id_discipline;
                             $m->id_teacher = $model->id_teacher;
                             $m->id_classroom = $model->id_classroom;
                             $m->id_group = $model->id_group;
                             $m->id_faculty = $model->id_faculty;
                             $m->id_speciality = $model->id_speciality;
                             $m->course = $model->course;
                             $m->semester = $model->semester;
                             $m->id_okr = $model->id_okr;
                             $m->is_numerator = 0;
                             $m->comment = $model->comment;
                             $m->day = $model->day;
                             $m->lesson_number = $model->lesson_number;
                             $m->insert();
                         } else {
                             $m->is_holiday = $model->is_holiday;
                             $m->all_group = $model->all_group;
                             $m->id_discipline = $model->id_discipline;
                             $m->id_teacher = $model->id_teacher;
                             $m->id_classroom = $model->id_classroom;
                             $m->id_group = $model->id_group;
                             $m->id_faculty = $model->id_faculty;
                             $m->id_speciality = $model->id_speciality;
                             $m->course = $model->course;
                             $m->semester = $model->semester;
                             $m->id_okr = $model->id_okr;
                             $m->is_numerator = 1;
                             $m->comment = $model->comment;
                             $m->day = $model->day;
                             $m->lesson_number = $model->lesson_number;
                             $m->insert();
                         }
                     }
                 }
             }
         }
         //Конец кода добавления
         if ($model->subgroup == 1) {
             $url = Url::to('index.php?r=timetable/lessons/editor&id' . $model->lesson_id . '&semester_for_editor=' . $model->semester . '&course_get=' . $model->course . '&faculty_id=' . $model->id_faculty . '&speciality_id=' . $model->id_speciality . '&group_id=' . $model->parent . '#lesson_id' . $model->lesson_id);
         } else {
             $url = Url::to('index.php?r=timetable/lessons/editor&id' . $model->lesson_id . '&semester_for_editor=' . $model->semester . '&course_get=' . $model->course . '&faculty_id=' . $model->id_faculty . '&speciality_id=' . $model->id_speciality . '&group_id=' . $model->id_group . '#lesson_id' . $model->lesson_id);
         }
         return $this->redirect($url);
     } else {
         return $this->renderAjax('create', ['model' => $model]);
     }
 }
예제 #4
0
use yii\bootstrap\Modal;
use yii\helpers\Url;
/* @var $this yii\web\View */
/* @var $model app\module\timetable\models\Lessons */
$semester_for_editor = $_GET['semester_for_editor'];
$course_get = $_GET['course_get'];
$faculty = $_GET['faculty_id'];
$speciality = $_GET['speciality_id'];
$group_id = $_GET['group_id'];
$inflow_year = date('Y') - $course_get;
$spec_name = Speciality::findOne(["speciality_id" => $speciality]);
$faculty_name = Faculty::findOne(["faculty_id" => $faculty]);
$week = ["", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"];
$groups_list = Groups::findAll(["id_speciality" => $speciality, "inflow_year" => $inflow_year, "group_id" => $group_id]);
$less_time = LessonTime::find()->all();
$gl = Groups::findAll(["parent_group" => $group_id]);
if (count($gl) > 0) {
    //Определяем есть ли у группы подгруппы
    $group_has_subgroup = true;
    $groups_list = $gl;
    $parent = $gl[0]['parent_group'];
} else {
    $group_has_subgroup = false;
    $parent = 0;
}
$this->title = 'Редагувати розклад:';
$this->params['breadcrumbs'][] = ['label' => 'Редактор розкладу', 'url' => ['index']];
$this->params['breadcrumbs'][] = $semester_for_editor . ' семестр';
$this->params['breadcrumbs'][] = $course_get . ' курс';
$this->params['breadcrumbs'][] = $faculty_name['faculty_name'];
$this->params['breadcrumbs'][] = $spec_name['speciality_name'];