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

WIP: filtering by subgroup in journal #299

parent ed800ac6
Branches
No related merge requests found
...@@ -28,4 +28,44 @@ AS $function$ ...@@ -28,4 +28,44 @@ AS $function$
AND lessons.lesson_deleted = 0; AND lessons.lesson_deleted = 0;
$function$; $function$;
DROP FUNCTION IF EXISTS public.getstudentsforrating(pdisciplineid integer);
CREATE OR REPLACE FUNCTION public.getstudentsforrating(pdisciplineid integer)
RETURNS TABLE("ID" integer, "RecordBookID" integer, "LastName" character varying, "FirstName" character varying, "SecondName" character varying, "GradeID" integer, "GradeNum" integer, "Degree" bachelor_master_specialist, "GroupID" integer, "GroupNum" integer, "IsAttached" boolean, "SubgroupID" integer)
LANGUAGE plpgsql
AS $function$
DECLARE vSemesterID INT DEFAULT -1; vRes INT DEFAULT -1;
BEGIN
vSemesterID := GetDisciplineProperty(pDisciplineID, 'semester');
DROP TABLE IF EXISTS tDisciplineStudents;
vRes := Discipline_GetStudentsTemp(pDisciplineID);
return query
SELECT view_students.StudentID AS "ID",
view_students.RecordBookID as "RecordBookID",
view_students.LastName as "LastName",
view_students.FirstName as "FirstName",
view_students.SecondName as "SecondName",
view_students.GradeID as "GradeID",
view_students.GradeNum as "GradeNum",
view_students."degree" as "Degree",
view_students.GroupID as "GroupID",
view_students.GroupNum as "GroupNum",
( tDisciplineStudents."Type" IS NOT NULL ) AS "IsAttached",
students_subgroups.subgroup_id as "SubgroupID"
FROM tDisciplineStudents
INNER JOIN view_students ON view_students.StudentID = tDisciplineStudents.StudentID AND
view_students.SemesterID = vSemesterID
LEFT JOIN students_subgroups ON view_students.RecordBookID = students_subgroups.recordbook_id AND
students_subgroups.subgroup_id IN (SELECT subgroups.id FROM subgroups WHERE subgroups.discipline_id = pdisciplineid)
WHERE tDisciplineStudents."Type" is null or ( tDisciplineStudents."Type" !='detach')
ORDER BY view_students.GradeID ASC,
view_students.GroupNum ASC,
view_students.LastName ASC,
view_students.FirstName ASC;
END;
$function$;
...@@ -78,6 +78,24 @@ ...@@ -78,6 +78,24 @@
font: inherit; font: inherit;
} }
} }
.subgroupSelector {
float: right;
margin-top: -19px;
vertical-align: middle;
span {
margin-right: 7px;
}
select {
height: 35px;
width: auto;
font: inherit;
}
}
} }
#journalHead{ #journalHead{
......
...@@ -34,6 +34,7 @@ class Controller_Teacher_Discipline_Journal extends Controller_Environment_Teach ...@@ -34,6 +34,7 @@ class Controller_Teacher_Discipline_Journal extends Controller_Environment_Teach
'Discipline' => $this->discipline, 'Discipline' => $this->discipline,
'Lessons' => $lessons->as_array(), 'Lessons' => $lessons->as_array(),
'Groups' => $this->discipline->getAllGroups()->groupByUniqueKey('ID'), 'Groups' => $this->discipline->getAllGroups()->groupByUniqueKey('ID'),
'Subgroups' => $this->discipline->getAllSubgroups()->groupByUniqueKey('ID'),
'Students' => $students, 'Students' => $students,
'LessonTypes' => $lessonTypes->as_array(), 'LessonTypes' => $lessonTypes->as_array(),
'Attendance' => Model_Journal::getAttendanceForDiscipline($this->discipline), 'Attendance' => Model_Journal::getAttendanceForDiscipline($this->discipline),
......
...@@ -129,6 +129,15 @@ class Model_Discipline extends Model_Container ...@@ -129,6 +129,15 @@ class Model_Discipline extends Model_Container
->param(':id', $this->ID) ->param(':id', $this->ID)
->execute()->get('res'); ->execute()->get('res');
} }
public function getAllSubgroups() {
$sql = 'SELECT * FROM Discipline_GetSubgroups(:DisciplineID)';
return DB::query(Database::SELECT, $sql)
->parameters([
':DisciplineID' => $this->ID,
])->execute();
}
/** @return Model_Student[] */ /** @return Model_Student[] */
public function getStudents() { public function getStudents() {
......
...@@ -55,8 +55,13 @@ ...@@ -55,8 +55,13 @@
{% endmacro %} {% endmacro %}
<<<<<<< HEAD
{% macro LessonCell(Col, LessonID, LessonDate, LessonType, LessonName) %} {% macro LessonCell(Col, LessonID, LessonDate, LessonType, LessonName) %}
<td id="lesson_{{ LessonID }}" class="lesson_col_{{ Col }} lesson_type_{{ LessonType }}"> <td id="lesson_{{ LessonID }}" class="lesson_col_{{ Col }} lesson_type_{{ LessonType }}">
=======
{% macro LessonCell(Col, LessonID, LessonDate, LessonType, SubgroupID) %}
<td id="lesson_{{ LessonID }}" class="lesson_col_{{ Col }} lesson_type_{{ LessonType }} lesson_subgroup_{{SubgroupID}}">
>>>>>>> WIP: filtering by subgroup in journal #299
<input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate | date("d-m") }}"> <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate | date("d-m") }}">
{# <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate }}"> #} {# <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate }}"> #}
<div> <div>
...@@ -66,7 +71,7 @@ ...@@ -66,7 +71,7 @@
</td> </td>
{% endmacro %} {% endmacro %}
{% macro LessonCellTemplate(Col, LessonID, LessonDate) %} {% macro LessonCellTemplate(Col, LessonID, LessonDate, SubgroupID) %}
<td id="lesson_{{ LessonID }}" class="lesson_col_{{ Col }}" style="display: none"> <td id="lesson_{{ LessonID }}" class="lesson_col_{{ Col }}" style="display: none">
<input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate | date("d-m") }}"> <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate | date("d-m") }}">
{# <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate }}"> #} {# <input type="text" id="lesson_input_{{ LessonID }}" class="lesson_input col_{{ Col }}" value="{{ LessonDate }}"> #}
......
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