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

v.2.8.17

parents 6ed786f7 87c9b3d3
Branches
No related merge requests found
ALTER TABLE disciplines
ADD COLUMN formid integer DEFAULT NULL;
--ALTER TABLE ONLY disciplines
-- ADD CONSTRAINT disciplines_ibfk_7 FOREIGN KEY (formid) REFERENCES study_form(id);
drop view if exists public.view_disciplines_stat;
DROP FUNCTION IF EXISTS public.disciplinecollection_get(psemesterid integer, pfacultyid integer, pgradenum integer, pdegree bachelor_master_specialist);
CREATE OR REPLACE FUNCTION public.disciplinecollection_get(psemesterid integer, pfacultyid integer, pgradenum integer DEFAULT NULL::integer, pdegree bachelor_master_specialist DEFAULT NULL::bachelor_master_specialist)
RETURNS TABLE("ID" integer, "SubjectName" character varying, "AuthorID" integer, "ExamType" exam_credit_grading_credit, "StudyForm" integer, "State" text, "IsInactive" boolean, "IsGlobalStub" boolean, "PlanExternalID" integer, "GlobalName" character varying)
LANGUAGE plpgsql
AS $function$
-- select public.discipline_getwithfullness(
-- :psemesterid, -- put the psemesterid parameter value instead of 'psemesterid' (int4)
-- :pfacultyid -- put the pfacultyid parameter value instead of 'pfacultyid' (int4)
-- );
BEGIN
return query
SELECT view_disciplines.DisciplineID AS ID,
view_disciplines.SubjectName As SubjectName,
view_disciplines.AuthorID As AuthorID,
view_disciplines.ExamType As ExamType,
disciplines.FormID AS StudyForm,
CASE
WHEN (view_disciplines.MaxRate < 100 AND view_disciplines.IsLocked = 0) THEN 'no_map'
WHEN (view_disciplines.MaxRate = 100 AND view_disciplines.IsLocked = 0) THEN 'no_rates'
WHEN (view_disciplines.MaxRate = 100 AND view_disciplines.IsLocked = 1) THEN 'in_progress'
ELSE 'other'
END AS State,
disciplines.IsInactive as IsInactive,
disciplines.IsGlobalStub as IsGlobalStub,
view_disciplines.planexternalid,
view_disciplines.globalname as GlobalName
FROM view_disciplines
JOIN disciplines ON view_disciplines.disciplineid = disciplines.id
WHERE view_disciplines.SemesterID = pSemesterID AND
view_disciplines.FacultyID = pFacultyID AND
(view_disciplines.GradeNum = pgradenum or ((public.view_disciplines.GradeNum = pgradenum)is unknown)) AND
(view_disciplines.Degree = pdegree or ((public.view_disciplines.Degree = pdegree)is unknown));
END
$function$;
CREATE OR REPLACE VIEW public.view_disciplines_stat
AS SELECT ff.name,
( SELECT count(*) AS count
FROM disciplinecollection_get(11, ff.id) disciplinecollection_get("ID", "SubjectName", "AuthorID", "ExamType", "StudyForm", "State", "IsInactive", "PlanExternalID", "GlobalName", "GlobalName_1")) AS "Всего дисциплин",
( SELECT count(*) AS count
FROM disciplinecollection_get(11, ff.id) t("ID", "SubjectName", "AuthorID", "ExamType", "StudyForm", "State", "IsInactive", "PlanExternalID", "GlobalName", "GlobalName_1")
WHERE t."State" = 'no_map'::text AND t."IsInactive" = false) AS "Без УКД"
FROM faculties ff;
...@@ -50,6 +50,9 @@ $(() => { ...@@ -50,6 +50,9 @@ $(() => {
sorter: "text" sorter: "text"
}, },
4: { 4: {
sorter: "text"
},
5: {
sorter: "number" sorter: "number"
} }
}, },
...@@ -72,6 +75,7 @@ $(() => { ...@@ -72,6 +75,7 @@ $(() => {
"DisciplineID", "DisciplineID",
"DisciplineName", "DisciplineName",
"DisciplineAuthor", "DisciplineAuthor",
"ExamType",
"IsActive", "IsActive",
"PlanExternalID" "PlanExternalID"
], ],
......
...@@ -27,13 +27,15 @@ ...@@ -27,13 +27,15 @@
<table id="disciplineTable" class="tablesorter" style="table-layout: fixed; width: 100%;"> <table id="disciplineTable" class="tablesorter" style="table-layout: fixed; width: 100%;">
<thead> <thead>
<tr> <tr>
<td style="width: 70px;"></td> <td style="width: 100px;"></td>
<td>Название</td> <td style="width: 400px;">Название </td>
<td style="width: 250px;">Автор</td> <td style="width: 200px;">Автор</td>
{% if InMainList %} <td style="width: 150px;">Тип контроля </td>
<td style="width: 100px;">вкл./выкл.</td> <td style="width: 150px;">форма обуч. </td>
{% endif %} {#{% if InMainList %}#}
<td style="width: 250px;">Рабочий план</td> <td style="width: 200px;">вкл./выкл.</td>
{#{% endif %}#}
<td style="width: 150px;">Рабочий план</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
...@@ -52,7 +54,17 @@ ...@@ -52,7 +54,17 @@
<td> <td>
<a href="{{ URL.site("office/teachers/profile/") }}/{{ Teachers[discipline.ID].ID }}">{{ Text.abbreviateName(Teachers[discipline.ID]) }}</a> <a href="{{ URL.site("office/teachers/profile/") }}/{{ Teachers[discipline.ID].ID }}">{{ Text.abbreviateName(Teachers[discipline.ID]) }}</a>
</td> </td>
{% if InMainList %} {#{% if InMainList %} #}
<td style="white-space: normal;">
{{ discipline.ExamType | replace({'credit': "зачет", 'exam': "экзамен", 'grading_credit': "дифзачет"}) }}
</td>
<td style="white-space: normal;">
{% if discipline.StudyForm %}
{{ discipline.StudyForm | replace({1: "очная", 2: "очно-заочная", 3: "заочная"}) }}
{% else %}
n/a
{% endif %}
</td>
<td> <td>
{% if discipline.IsGlobalStub %} {% if discipline.IsGlobalStub %}
<a class="discipline_stub_{{ discipline.ID }}" <a class="discipline_stub_{{ discipline.ID }}"
...@@ -81,7 +93,7 @@ ...@@ -81,7 +93,7 @@
Межфакультетская дисциплина Межфакультетская дисциплина
{% endif %} {% endif %}
</td> </td>
{% endif %} {#{% endif %}#}
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
......
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