Skip to content

Commit

Permalink
bessere Nutzerdaten
Browse files Browse the repository at this point in the history
  • Loading branch information
hmt committed Jun 23, 2020
1 parent a839625 commit 615de0e
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 9 deletions.
3 changes: 2 additions & 1 deletion src/components/Einstellungen.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@
try {
query.forEach((q) => $db.prepare(q).run());
datensatz_schueler = "";
notifier.fertig("Schüler importiert");
const res = $db.prepare(`SELECT COUNT(*) as anzahl FROM schueler`).get()
notifier.fertig(`${schueler_values.length || 0} Datensätze verarbeitet; ${res.anzahl} Nutzer in der Datenbank.`);
} catch (e) {
notifier.fehler("Fehler beim Schülerimport:", e.message);
console.log(e);
Expand Down
48 changes: 43 additions & 5 deletions src/components/Nutzer.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,18 @@
active = 2;
return group_by(res, "klasse");
}
function schueler() {
const res = $db
.prepare(
`
SELECT s.name, s.vorname, s.id, s.klasse
FROM schueler AS s
`
)
.all();
active = 5;
return group_by(res, "klasse");
}
function nutzer_gesperrt() {
const res = $db
.prepare(
Expand All @@ -63,35 +75,61 @@
active = 4;
return group_by(res, "nichtschueler");
}
const zahlen_a = $db.prepare(`
SELECT
sum(case when a.jahr != s.jahr then 1 else 0 end) as s,
count(DISTINCT s.id) as a
FROM ausleihe AS a
LEFT JOIN schueler AS s ON (s.id = a.schueler_id)
`).get()
const zahlen = $db.prepare(`
SELECT
Count(*) as a,
sum(case when nichtschueler = 1 then 0 else 1 end) as sch,
sum(case when nichtschueler = 1 then 1 else 0 end) as s,
sum(case when gesperrt = 1 then 1 else 0 end) as g,
sum(case when gesperrt = 1 then 1 else 0 end) as g
FROM schueler
`).get()
</script>

<!-- svelte-ignore a11y-missing-attribute -->
<div class="tabs is-boxed">
<ul>
<li class:is-active={active === 5} on:click={_ => (klasse = schueler())}>
<a>
<span class="tag is-primary">{zahlen.sch}</span>
&nbsp;<span>Schüler nach Gruppe</span>
</a>
</li>
<li class:is-active={active === 1} on:click={_ => (klasse = ausleiher())}>
<a>
<span>Nutzer mit Ausleihe</span>
<span class="tag is-primary">{zahlen_a.a}</span>
&nbsp;<span>Nutzer mit Ausleihe</span>
</a>
</li>
<li
class:is-active={active === 2}
on:click={_ => (klasse = ausleiher_vorjahr())}>
<a>
<span>Nutzer mit Ausleihe aus Vorjahren</span>
<span class="tag is-{zahlen_a.s < 1 ? 'primary':'danger'}">{zahlen_a.s}</span>
&nbsp;<span>Nutzer mit Ausleihe aus Vorjahren</span>
</a>
</li>
<li
class:is-active={active === 3}
on:click={_ => (klasse = nutzer_gesperrt())}>
<a>
<span>Gesperrte Nutzer</span>
<span class="tag is-{zahlen_a.g < 1 ? 'primary':'danger'}">{zahlen.g}</span>
&nbsp;<span>Gesperrte Nutzer</span>
</a>
</li>
<li
class:is-active={active === 4}
on:click={_ => (klasse = sonstige_nutzer())}>
<a>
<span>Sonstige Nutzer</span>
<span class="tag is-primary">{zahlen.s}</span>
&nbsp;<span>Sonstige Nutzer</span>
</a>
</li>
</ul>
Expand Down Expand Up @@ -120,7 +158,7 @@
<td>{i + 1}</td>
<td>{s.name}</td>
<td>{s.vorname}</td>
<td>{s.memo}</td>
<td>{s.memo || ""}</td>
</tr>
{/each}
</tbody>
Expand Down
6 changes: 3 additions & 3 deletions src/components/Schueler.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@
<h2 class="sub-title">{s.klasse || 'Sonstiger Nutzer'}</h2>
<div class="field">
{#if yes}
<button class="button is-danger" on:click={()=>remove_schueler()}>Schüler aus Datenbank löschen</button>
<button class="button is-danger" on:click={()=>remove_schueler()}>Nutzer aus Datenbank löschen</button>
{:else}
<label class="checkbox is-danger">
<input type="checkbox" bind:checked={yes}> Löschen aktivieren. Der Schüler und alle Leihgaben können aus der Datenbank gelöscht werden.</label>
<input type="checkbox" bind:checked={yes}> Löschen aktivieren. Der Nutzer und alle Leihgaben können aus der Datenbank gelöscht werden.</label>
{/if}
</div>
<div class="field">
<button class="button" class:is-warning={s.gesperrt} class:is-success={!s.gesperrt} on:click={()=>suspend_schueler()}>Schüler {s.gesperrt ? 'ent':''}sperren</button>
<button class="button" class:is-warning={s.gesperrt} class:is-success={!s.gesperrt} on:click={()=>suspend_schueler()}>Nutzer {s.gesperrt ? 'ent':''}sperren</button>
</div>
<div class="field">
<label class="label">Memo</label>
Expand Down

0 comments on commit 615de0e

Please sign in to comment.