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

ADD: 1c data for discipline in separate tab #316

parent c0ddb369
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
......@@ -36,6 +36,12 @@ class Controller_Teacher_Discipline_Edit extends Controller_Environment_Teacher
]);
}
public function action_edit_info() {
$this->twig->set([
'DisciplineInternalInfo' => $this->discipline->getInternalInfo(),
]);
}
public function action_edit_structure() {
$this->twig->Map = $this->getMapInfo();
}
......
......@@ -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,11 @@
<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~'/info', '2. Внутренние сведения', {'title': 'Сведения об учебном плане', 'class': ''~step_0})|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 }}
......
{% extends 'teacher/discipline/MapBase' %}
{% set step_0 = 'active' %}
{% block discipline_media %}
{{ HTML.style('static/css/select2.css')|raw }}
{{ HTML.style('static/css/teacher/discipline/create.css')|raw }}
{{ HTML.script('static/js/libs/select2.js')|raw }}
{% endblock %}
{% block map_content %}
<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]["Name"] }}
</div>
</div>
{#<p class="help">Если Вы не нашли предмет в данном списке, пожалуйста, обратитесь в поддержку с помощью кнопки "Сообщение".</p>#}
</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