Skip to content
Snippets Groups Projects
Commit 8f3a204b authored by Anton Bagliy's avatar Anton Bagliy
Browse files

Merge branch 'issue488_discipline_info' into develop

parents c0ddb369 253650dc
Branches
No related merge requests found
drop function if exists public.discipline_get_internals(pdisciplineid integer);
CREATE OR REPLACE FUNCTION public.discipline_get_internals(pdisciplineid integer)
RETURNS TABLE("Name" character varying, "DisciplineID" integer, "PlanExternalID" integer, "SubjectExternalID" character varying)
LANGUAGE plpgsql
AS $function$
begin
return query
select subjects.name as "Name",
disciplines.id as "DisciplineID",
study_plans.externalid as "PlanExternalID",
subjects.externalid as "SubjectExternalID"
from disciplines
join subjects on disciplines.subjectid = subjects.id
left join disciplines_study_plans on disciplines.id = disciplines_study_plans.disciplineid
left join study_plans on disciplines_study_plans.studyplanid = study_plans.id
where disciplines.id = pdisciplineid;
END;
$function$;
\ No newline at end of file
......@@ -33,6 +33,7 @@ class Controller_Teacher_Discipline_Edit extends Controller_Environment_Teacher
'SubjectsList' => Model_Faculty::with($this->discipline->FacultyID)->getSubjects(),
'GradesList' => Model_Grades::loadAll(),
'DisciplineCreationISAllowed' => Model_System::loadConfig()->Functional->DisciplineCreation,
'DisciplineInternalInfo' => $this->discipline->getInternalInfo(),
]);
}
......
......@@ -94,6 +94,12 @@ class Model_Discipline extends Model_Container
DB::query(Database::SELECT, $sql)->param(':id', $this->ID)->execute();
}
public function getInternalInfo() {
$sql = 'SELECT * FROM discipline_get_internals(:id)';
return DB::query(Database::SELECT, $sql)
->param(':id', $this->ID)
->execute()->as_array();
}
// todo: should return Model_Group[]
public function getGroups() {
......
......@@ -33,10 +33,10 @@
<div class="tabsWrapper">
<div class="tabs">
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/settings', '1. Базовые настройки', {'title': 'Шаг 1. Базовые настройки', 'class': ''~step_1})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/structure', '2. Модули', {'title': 'Шаг 2. Модули', 'class': ''~step_2})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/teachers', '3. Преподаватели', {'title': 'Шаг 3. Прикрепление преподавателей', 'class': ''~step_3})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/groups', '4. Группы', {'title': 'Шаг 4. Прикрепление групп', 'class': ''~step_4})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/students', '5. Студенты', {'title': 'Шаг 5. Прикрепление студентов', 'class': ''~step_5})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/structure', '3. Модули', {'title': 'Шаг 2. Модули', 'class': ''~step_2})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/teachers', '4. Преподаватели', {'title': 'Шаг 3. Прикрепление преподавателей', 'class': ''~step_3})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/groups', '5. Группы', {'title': 'Шаг 4. Прикрепление групп', 'class': ''~step_4})|raw }}</div>
<div class="tab">{{ HTML.anchor('discipline/'~Discipline.ID~'/students', '6. Студенты', {'title': 'Шаг 5. Прикрепление студентов', 'class': ''~step_5})|raw }}</div>
<div class="tab">
{% if Discipline.IsMapCreated %}
{{ HTML.anchor('discipline/'~Discipline.ID~'/rate', 'Перейти к оцениванию →', {'title': 'Выставление баллов за семестр', 'id': "rate_link", 'class': ''})|raw }}
......
......@@ -125,4 +125,23 @@
</div>
</div>
<div class="LayerSection">
<div class="itemBlock">
<div class="title">Учебный план: </div>
<div class="field">
{{ DisciplineInternalInfo[0]['PlanExternalID'] }}
</div>
</div>
</div>
<div class="LayerSection">
<div class="itemBlock">
<div class="title">Номер предмета:</div>
<div class="field">
{{ DisciplineInternalInfo[0]["SubjectExternalID"] }}
</div>
</div>
{#<p class="help">Если Вы не нашли предмет в данном списке, пожалуйста, обратитесь в поддержку с помощью кнопки "Сообщение".</p>#}
</div>
{% endblock %}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment