|
@@ -130,9 +130,10 @@
|
|
{/if}
|
|
{/if}
|
|
|
|
|
|
<script>
|
|
<script>
|
|
- export let schueler, privat
|
|
|
|
|
|
+ export let schueler, privat, knexConfig
|
|
let projekte = [];
|
|
let projekte = [];
|
|
let klassen = {}
|
|
let klassen = {}
|
|
|
|
+ Object.keys(schueler).forEach(k => klassen[k] = null)
|
|
let modal = false, modal_s, selected_woche, selected_mo_di, selected_mi_do;
|
|
let modal = false, modal_s, selected_woche, selected_mo_di, selected_mi_do;
|
|
function modalset (s) {
|
|
function modalset (s) {
|
|
modal = true
|
|
modal = true
|
|
@@ -140,9 +141,9 @@
|
|
}
|
|
}
|
|
const { Pool } = R('pg')
|
|
const { Pool } = R('pg')
|
|
const _ = R('lodash')
|
|
const _ = R('lodash')
|
|
- const pool = new Pool({ connectionString: privat.mein_bk_db})
|
|
|
|
|
|
+ const postgres = new Pool({ connectionString: privat.mein_bk_db})
|
|
function projekte_laden () {
|
|
function projekte_laden () {
|
|
- pool.query(`SELECT id, titel, leitung, woche, mo_di, mi_do, max_teilnehmer,
|
|
|
|
|
|
+ postgres.query(`SELECT id, titel, leitung, woche, mo_di, mi_do, max_teilnehmer,
|
|
(SELECT COUNT(*)
|
|
(SELECT COUNT(*)
|
|
FROM wahlen
|
|
FROM wahlen
|
|
WHERE projekte.id = wahlen.woche
|
|
WHERE projekte.id = wahlen.woche
|
|
@@ -156,10 +157,10 @@
|
|
WHERE projekte.id = wahlen.mi_do
|
|
WHERE projekte.id = wahlen.mi_do
|
|
) as gewaehlt_mi_do
|
|
) as gewaehlt_mi_do
|
|
FROM projekte`,
|
|
FROM projekte`,
|
|
- (err, resp) => projekte = resp.rows)
|
|
|
|
|
|
+ (err, resp) => projekte = resp.rows)
|
|
}
|
|
}
|
|
projekte_laden()
|
|
projekte_laden()
|
|
- pool.query(`SELECT * FROM klassen ORDER BY klasse`,
|
|
|
|
|
|
+ postgres.query(`SELECT * FROM klassen ORDER BY klasse`,
|
|
(err, resp) => resp.rows.forEach(k => { klassen[k.klasse] = k.abwesenheit }))
|
|
(err, resp) => resp.rows.forEach(k => { klassen[k.klasse] = k.abwesenheit }))
|
|
$: wahl = s => {
|
|
$: wahl = s => {
|
|
const abwesenheit = klassen[s.Klasse]
|
|
const abwesenheit = klassen[s.Klasse]
|
|
@@ -193,7 +194,7 @@
|
|
RETURNING *`
|
|
RETURNING *`
|
|
const values = [modal_s.id, selected_woche, selected_mo_di, selected_mi_do]
|
|
const values = [modal_s.id, selected_woche, selected_mo_di, selected_mi_do]
|
|
try {
|
|
try {
|
|
- const res = await pool.query(text, values)
|
|
|
|
|
|
+ const res = await postgres.query(text, values)
|
|
const data = res.rows[0]
|
|
const data = res.rows[0]
|
|
projekte_laden()
|
|
projekte_laden()
|
|
Object.assign(modal_s, data)
|
|
Object.assign(modal_s, data)
|
|
@@ -204,12 +205,15 @@
|
|
}
|
|
}
|
|
async function switcher(k, art) {
|
|
async function switcher(k, art) {
|
|
const abwesenheit = klassen[k] === null || klassen[k] !== art ? art : null
|
|
const abwesenheit = klassen[k] === null || klassen[k] !== art ? art : null
|
|
- const text = `UPDATE klassen SET abwesenheit = $1
|
|
|
|
- WHERE klasse = $2
|
|
|
|
|
|
+ const text = `INSERT INTO klassen(klasse, abwesenheit)
|
|
|
|
+ VALUES($1, $2)
|
|
|
|
+ ON CONFLICT (klasse) DO
|
|
|
|
+ UPDATE SET abwesenheit = $2
|
|
|
|
+ WHERE klassen.klasse = $1
|
|
RETURNING abwesenheit`
|
|
RETURNING abwesenheit`
|
|
- const values = [abwesenheit, k]
|
|
|
|
|
|
+ const values = [k, abwesenheit]
|
|
try {
|
|
try {
|
|
- const res = await pool.query(text, values)
|
|
|
|
|
|
+ const res = await postgres.query(text, values)
|
|
const data = res.rows[0]
|
|
const data = res.rows[0]
|
|
klassen[k] = data.abwesenheit
|
|
klassen[k] = data.abwesenheit
|
|
} catch(err) {
|
|
} catch(err) {
|