Add attendance
This commit is contained in:
parent
7aeca892d8
commit
6f5c589fdd
5 changed files with 191 additions and 5 deletions
77
data/opiekun/frekwencja.json
Normal file
77
data/opiekun/frekwencja.json
Normal file
|
@ -0,0 +1,77 @@
|
|||
[
|
||||
{
|
||||
"number": "0",
|
||||
"days": [
|
||||
{
|
||||
"name": "Fizyka",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Metodologia programowania",
|
||||
"isAbsenceUnexcused": true
|
||||
},
|
||||
{
|
||||
"name": "Religia",
|
||||
"isAbsenceExcused": true
|
||||
},
|
||||
{
|
||||
"name": "Religia",
|
||||
"isAbsenceForSchoolReasons": true
|
||||
},
|
||||
{
|
||||
"name": "Uroczyste zakończenie roku szkolnego",
|
||||
"isUnexcusedLateness": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"number": "1",
|
||||
"days": [
|
||||
{
|
||||
"name": "Metodologia programowania",
|
||||
"isExcusedLateness": true
|
||||
},
|
||||
{
|
||||
"name": "Język angielski",
|
||||
"isExemption": true
|
||||
},
|
||||
{
|
||||
"name": "Użytkowanie urządzeń peryferyjnych komputera",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Wychowanie fizyczne",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Wychowanie fizyczne",
|
||||
"isPresence": true
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"number": "2",
|
||||
"days": [
|
||||
{
|
||||
"name": "Język polski",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Język polski",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Język niemiecki",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Język niemiecki",
|
||||
"isPresence": true
|
||||
},
|
||||
{
|
||||
"name": "Użytkowanie urządzeń peryferyjnych komputera",
|
||||
"isPresence": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
56
public/stylesheets/_attendance.scss
Normal file
56
public/stylesheets/_attendance.scss
Normal file
|
@ -0,0 +1,56 @@
|
|||
.x-obecnosc:before {
|
||||
content: 'obecność';
|
||||
background: green;
|
||||
}
|
||||
|
||||
.x-nieobecnosc-nieuspr:before {
|
||||
content: 'nieobecność nieusprawiedliwiona';
|
||||
background: red;
|
||||
}
|
||||
|
||||
.x-nieobecnosc-uspr:before {
|
||||
content: 'nieobecność usprawiedliwiona';
|
||||
background: orange;
|
||||
}
|
||||
|
||||
.x-nieobecnosc-przycz-szkol:before {
|
||||
content: 'nieobecność z przyczyn szkolnych';
|
||||
background: lightblue;
|
||||
}
|
||||
|
||||
.x-sp-nieusprawiedliwione:before {
|
||||
content: 'spóźnienie nieusprawiedliwione';
|
||||
background: yellow;
|
||||
}
|
||||
|
||||
.x-sp-spr:before {
|
||||
content: 'spóźnienie usprawiedliwione';
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.x-sp-zwolnienie:before {
|
||||
content: 'zwolnienie';
|
||||
background: purple;
|
||||
}
|
||||
|
||||
.x-sp-nieobecny-w-oddziale:before {
|
||||
content: 'nieobecny w oddziale';
|
||||
background: grey;
|
||||
}
|
||||
|
||||
.x-obecnosc:before {
|
||||
content: 'obecność';
|
||||
background: green;
|
||||
}
|
||||
|
||||
[class^="x"]:before {
|
||||
color: #fff;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.presentData td:not(.padding-zero):not(.x-sp-nieobecny-w-oddziale):not(:first-child):before {
|
||||
display: block;
|
||||
content: 'pusta';
|
||||
background: grey;
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
@import "scaffolding";
|
||||
@import "grades-table";
|
||||
@import "attendance";
|
||||
@import "timetable-table";
|
||||
@import "filters";
|
||||
@import "header";
|
||||
|
|
|
@ -34,25 +34,37 @@ router.get("/Default/123456/Uczen.mvc/DanePodstawowe", (req, res) => {
|
|||
|
||||
router.get("/Default/123456/Oceny(\.mvc|)/Wszystkie", (req, res) => {
|
||||
let dataPath;
|
||||
let viePath;
|
||||
let viewPath;
|
||||
|
||||
if (req.query.details === '2') {
|
||||
dataPath = "../../data/opiekun/oceny-szczegolowy.json";
|
||||
viePath = "opiekun/oceny-szczegolowy";
|
||||
viewPath = "opiekun/oceny-szczegolowy";
|
||||
} else {
|
||||
viePath = "opiekun/oceny-skrocony";
|
||||
viewPath = "opiekun/oceny-skrocony";
|
||||
dataPath = "../../data/opiekun/oceny-skrocony.json";
|
||||
}
|
||||
|
||||
res.render(viePath, {
|
||||
res.render(viewPath, {
|
||||
title: "Witryna ucznia i rodzica – Oceny",
|
||||
data: require(dataPath)
|
||||
});
|
||||
});
|
||||
|
||||
router.get('/Default/123456/Frekwencja.mvc', (req, res) => {
|
||||
res.render("opiekun/frekwencja", {
|
||||
title: "Witryna ucznia i rodzica – Frekwencja",
|
||||
data: require("../../data/opiekun/frekwencja.json"),
|
||||
weekDays: converter.getWeekDaysFrom(req.query.data),
|
||||
tics: {
|
||||
prev: converter.getPrevTick(req.query.data),
|
||||
next: converter.getNextTick(req.query.data)
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
router.get("/Default/123456/Lekcja(\.mvc|)/PlanLekcji", (req, res) => {
|
||||
res.render("opiekun/plan-lekcji", {
|
||||
title: "Witryna ucznia i rodzica – Paln Lekcji",
|
||||
title: "Witryna ucznia i rodzica – Plan lekcji",
|
||||
data: require("../../data/opiekun/plan-lekcji.json"),
|
||||
weekDays: converter.getWeekDaysFrom(req.query.data),
|
||||
tics: {
|
||||
|
|
40
src/views/opiekun/frekwencja.pug
Normal file
40
src/views/opiekun/frekwencja.pug
Normal file
|
@ -0,0 +1,40 @@
|
|||
extends layout
|
||||
|
||||
mixin nav
|
||||
.navigation
|
||||
a.button-prev(href="/Default/123456/Frekwencja.mvc?data=" + tics.prev) Poprzedni tydzień
|
||||
a.button-next(href="/Default/123456/Frekwencja.mvc?data=" + tics.next) Następny tydzień
|
||||
|
||||
append content
|
||||
main.mainContainer
|
||||
h1 Frekwencja
|
||||
+nav
|
||||
div
|
||||
table.presentData
|
||||
thead
|
||||
tr
|
||||
th Lekcja
|
||||
each item in weekDays
|
||||
th
|
||||
| #{item[0]}
|
||||
br
|
||||
| #{item[1]}
|
||||
tbody
|
||||
each item in data
|
||||
tr
|
||||
td= item.number
|
||||
each cell in item.days
|
||||
td.padding-zero
|
||||
div(class={
|
||||
'x-obecnosc': cell.isPresence,
|
||||
'x-nieobecnosc-nieuspr': cell.isAbsenceUnexcused,
|
||||
'x-nieobecnosc-uspr': cell.isAbsenceExcused,
|
||||
'x-nieobecnosc-przycz-szkol': cell.isAbsenceForSchoolReasons,
|
||||
'x-sp-nieusprawiedliwione': cell.isUnexcusedLateness,
|
||||
'x-sp-spr': cell.isExcusedLateness,
|
||||
'x-sp-zwolnienie': cell.isExemption
|
||||
})
|
||||
span= cell.name
|
||||
|
||||
|
||||
+nav
|
Loading…
Reference in a new issue