Add descriptive grades (#15)

Add old and new student descriptive grades support
This commit is contained in:
Dominik Korsa 2019-03-14 09:03:20 +01:00 committed by Mikołaj Pich
parent 0be594860c
commit 573bca8b51
4 changed files with 55 additions and 11 deletions

View file

@ -0,0 +1,32 @@
[
{
"NazwaPrzedmiotu": "Zachowanie",
"Opis": "Zawsze pomaga nauczycielom, między innymi w rozwiązywaniu problemów z komputerem oraz rówieśnikom w nauce. Nie rozmawia na lekcji, zawsze odrabia zadania domowe. Uczeń zasługuje na ocene bardzo dobrą.",
"IsReligiaEtyka": false
},
{
"NazwaPrzedmiotu": "Religia/Etyka",
"Opis": "5",
"IsReligiaEtyka": true
},
{
"NazwaPrzedmiotu": "Edukacja polonistyczna",
"Opis": "dostateczny",
"IsReligiaEtyka": false
},
{
"NazwaPrzedmiotu": "Edukacja matematyczna",
"Opis": "Uczeń opanował materiał w stopniu dopuszczającym. Należy popracować nad tabliczką mnożenia do 10. Umiejętność dodawania do 20 opanowana w stopniu bardzo dobrym.",
"IsReligiaEtyka": false
},
{
"NazwaPrzedmiotu": "Zajęcia dodatkowe",
"Opis": "",
"IsReligiaEtyka": false
},
{
"NazwaPrzedmiotu": "Zajęcia inne",
"Opis": "Uczeń nie uczęszcza na żadne oceniane zajęcia dodatkowe.",
"IsReligiaEtyka": false
}
]

View file

@ -62,6 +62,7 @@ router.get("/Oceny(\.mvc|)/Wszystkie", (req, res) => {
const details = require("../../data/api/student/Oceny");
const subjectCategories = require("../../data/api/dictionaries/KategorieOcen");
const summary = require("../../data/api/student/OcenyPodsumowanie");
const descriptiveGrades = require("../../data/api/student/OcenyOpisowe");
if (req.query.details === '2') {
data = details.map(item => {
@ -81,14 +82,17 @@ router.get("/Oceny(\.mvc|)/Wszystkie", (req, res) => {
viewPath = "opiekun/oceny-szczegolowy";
} else {
viewPath = "opiekun/oceny-skrocony";
data = subjects.map(item => {
return {
"subject": item.Nazwa,
"average": dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id).Wpis,
"predictedRating": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id).Wpis,
"finalRating": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id).Wpis
};
});
data = {
normalGrades: subjects.map(item => {
return {
"subject": item.Nazwa,
"average": dictMap.getByValue(summary.SrednieOcen, "IdPrzedmiot", item.Id).Wpis,
"predictedRating": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id).Wpis,
"finalRating": dictMap.getByValue(summary.OcenyPrzewidywane, "IdPrzedmiot", item.Id).Wpis
};
}),
descriptiveGrades,
};
}
res.render(viewPath, {

View file

@ -398,6 +398,7 @@ router.all("/Oceny.mvc/Get", (req, res) => {
const summary = require("../../data/api/student/OcenyPodsumowanie");
const teachers = require("../../data/api/dictionaries/Nauczyciele");
const subjectCategories = require("../../data/api/dictionaries/KategorieOcen");
const descriptiveGrades = require("../../data/api/student/OcenyOpisowe");
res.json({
"data": {
@ -429,7 +430,7 @@ router.all("/Oceny.mvc/Get", (req, res) => {
"WidocznyPrzedmiot": false
};
}),
"OcenyOpisowe": [],
"OcenyOpisowe": descriptiveGrades,
"TypOcen": 2,
"IsOstatniSemestr": false,
"IsDlaDoroslych": false

View file

@ -24,7 +24,7 @@ append content
input#widokSzczegolowy(name="szczegolyOcenRadio" value="2" type="radio")
label(for="widokSzczegolowy") Szczegółowy
table.ocenyZwykle-table
table.ocenyZwykle-table.ocenyOpisowe-table
thead
tr
th Przedmiot
@ -33,10 +33,17 @@ append content
th Przewidywana ocena roczna
th Ocena roczna
tbody
each item in data
each item in data.normalGrades
tr
td= item.subject
td.break-word Brak ocen
td= item.average ? item.average : "-"
td= item.predictedRating ? item.predictedRating : "-"
td= item.finalRating ? item.finalRating : "-"
h2= "Oceny opisowe "
table.ocenyOpisowe-table
tbody
each item in data.descriptiveGrades
tr
td= item.NazwaPrzedmiotu
td= item.Opis || "Brak oceny opisowej"