hmt 3 år sedan
förälder
incheckning
7577dc7e80
2 ändrade filer med 68 tillägg och 2 borttagningar
  1. 63 0
      components/reservierung.svelte
  2. 5 2
      Übersicht.svelte

+ 63 - 0
components/reservierung.svelte

@@ -0,0 +1,63 @@
+<script>
+  export let schueler, privat, einstellungen = {};
+  let reservierung_anzeigen = einstellungen.reservierung_anzeigen;
+  let schueler_verbergen;
+  $: console.log(reservierung_anzeigen)
+  const { Pool } = R("pg");
+  const pool = new Pool({ connectionString: privat.mein_bk_db });
+  $: (reservierung_anzeigen !== null) && pool.query(`UPDATE einstellungen SET reservierung_anzeigen=$1`, [reservierung_anzeigen])
+</script>
+
+<style>
+  @import "./node_modules/bulma-tooltip/dist/css/bulma-tooltip.min.css";
+</style>
+
+<h3 class="title">Reservierungen Bibliothek</h3>
+<div class="field">
+  <label class="checkbox">
+    <input type="checkbox" bind:checked={reservierung_anzeigen} />
+    Reservierungsseite für Schüler anzeigen
+  </label>
+</div>
+<div class="field">
+  <label class="checkbox">
+    <input type="checkbox" bind:checked={schueler_verbergen} />
+    Schüler verbergen
+  </label>
+</div>
+{#if !schueler_verbergen}
+  <div class="columns">
+    <div class="column is-two-thirds">
+      {#each Object.entries(schueler) as [klasse, schueler]}
+        <h3 class="title">{klasse}</h3>
+        <table class="table is-striped">
+          <thead>
+            <tr>
+              <th>Name</th>
+              <th>Vorname</th>
+              <th>Auswahlstatus</th>
+            </tr>
+          </thead>
+          <tbody>
+            {#each schueler as s}
+              <tr>
+                <td>{#if s.age.year < 18}<span class="tag is-danger">18</span>{/if}-{s.age}-{s.Name}</td>
+                <td>{s.Vorname}</td>
+                <td>
+                  <span
+                    class="tag"
+                    class:is-light={s.reservierung === undefined || s.reservierung === null}
+                    class:is-danger={s.reservierung === 'abgelehnt'}
+                    class:is-info={s.reservierung === 'in Bearbeitung'}
+                    class:is-success={s.reservierung === 'abholbereit'}
+                    class:is-warning={s.reservierung === 'abholbereit (U18)'}
+                  >{s.reservierung || '–'}</span>
+                </td>
+              </tr>
+            {/each}
+          </tbody>
+        </table>
+      {/each}
+    </div>
+  </div>
+{/if}

+ 5 - 2
Übersicht.svelte

@@ -25,6 +25,7 @@
         <li class:is-active={active === Einstellungen} on:click={() => active=Einstellungen}>Einstellungen</li>
         <li class:is-active={active === Infos} on:click={() => active=Infos}>Infos</li>
         <li class:is-active={active === Teams} on:click={() => active=Teams}>Teams</li>
+        <!-- <li class:is-active={active === Reservierung} on:click={() => active=Reservierung}>iPads</li> -->
       </ul>
     </div>
     <svelte:component this={active} schueler={schueler_filter} {privat} {einstellungen} {knexConfig}/>
@@ -68,8 +69,9 @@
   import Einstellungen from './components/einstellungen.svelte'
   import Infos from './components/infos.svelte'
   import Teams from './components/teams.svelte'
+  // import Reservierung from './components/reservierung.svelte'
   export let knexConfig, privat
-  let active = ProjektwocheDrucksache
+  let active = Teams
   let suche = ''
 
   const { Pool } = R('pg')
@@ -83,7 +85,7 @@
       einstellungen || postgres.query(`INSERT INTO einstellungen DEFAULT VALUES RETURNING *`)
         .then(res => einstellungen = res.rows[0])
     })
-  postgres.query(`SELECT schueler.*,
+  postgres.query(`SELECT schueler.*, AGE(schueler.geburtsdatum),
                     wlan.voucher,
                     wahlen.*
               FROM schueler
@@ -91,6 +93,7 @@
               LEFT JOIN wahlen ON schueler.id = wahlen.schueler_id`)
         .then(resp => {
           schueler_entfernt = resp.rows
+          console.log(resp.rows)
         })
   const mysql_connection = mysql.createConnection(knexConfig.connection)
   mysql_connection.connect()