Browse Source

updates + lehrer info

hmt 7 years ago
parent
commit
6060920c94
4 changed files with 45 additions and 21 deletions
  1. 7 0
      migrations/13_lehrer_info.rb
  2. 18 10
      sv.rb
  3. 1 4
      views/ergebnis.slim
  4. 19 7
      views/hashid.slim

+ 7 - 0
migrations/13_lehrer_info.rb

@@ -0,0 +1,7 @@
+Sequel.migration do
+  change do
+    add_column :lehrer, :info, String
+  end
+end
+
+

+ 18 - 10
sv.rb

@@ -38,7 +38,6 @@ end
 
 class SV < Sinatra::Application
   configure do
-    STOP_ZEIT = 'Oct 3, 2017, 18:00'
     enable :sessions
     set :session_secret, (ENV['SV_SESSION_SECRET'] || 'your_secret')
     Slim::Engine.set_options pretty: true
@@ -51,8 +50,17 @@ class SV < Sinatra::Application
   end
 
   helpers do
-    def ende
-      Time.now > time_for(STOP_ZEIT)
+    def vor_der_wahl?
+      Time.now < time_for(ENV['SV_WAHL_BEGINN'])
+    end
+
+    def nach_der_wahl?
+      Time.now > time_for(ENV['SV_WAHL_ENDE'])
+    end
+
+    def wahlzeit?
+      zeit = Time.now
+      (zeit > Time.parse(ENV["SV_WAHL_BEGINN"])) and (zeit < Time.parse(ENV["SV_WAHL_ENDE"]))
     end
 
     def protected!
@@ -82,7 +90,7 @@ class SV < Sinatra::Application
   end
 
   get '/' do
-    if ende
+    if nach_der_wahl?
       redirect to("/ergebnis")
     end
     infos = Info.all
@@ -94,7 +102,7 @@ class SV < Sinatra::Application
   end
 
   post "/wahl" do
-    if ende
+    if wahlzeit?
       session[:flash] = [0, "Sie können sich nicht mehr aufstellen lassen, die Wahl hat bereits begonnen"]
       redirect back
     end
@@ -130,7 +138,7 @@ class SV < Sinatra::Application
   end
 
   get '/ergebnis' do
-    protected! if !ende
+    protected! unless nach_der_wahl?
     sprecher, schuko, lehrer, waehler = [], [], [], 0
     DB.transaction do
       sprecher = Schueler.where(:sprecher => true).all
@@ -164,11 +172,11 @@ class SV < Sinatra::Application
   end
 
   post "/:hashid" do
-    if ende
-      session[:flash] = [0, "Der Wahlzeitraum ist seit 3. Oktober 18:00 Uhr abgelaufen."]
+    if nach_der_wahl?
+      session[:flash] = [0, "Der Wahlzeitraum ist bereits abgelaufen."]
       redirect back
-    else
-      session[:flash] = [0, "Der Wahlzeitraum beginnt erst am 30. September um 18:00 Uhr."]
+    elsif vor_der_wahl?
+      session[:flash] = [0, "Der Wahlzeitraum hat noch nicht begonnen."]
       redirect back
     end
 

+ 1 - 4
views/ergebnis.slim

@@ -31,10 +31,7 @@ dl.dl-horizontal
 
 h3 Legende
 |Grün hinterlegte Kandidaten sind gewählt, bei den Teilnehmern der Schulkonferenz
- sind die gelb hinterlegten Kandidaten die Vertreter. Evin und Miguel haben
- einen Gleichstand der Stimmen und müssten sich bezüglich der Teilnahme an der
- Schulkonferenz absprechen.
-
+ sind die gelb hinterlegten Kandidaten die Vertreter.
 
 h2 Eigene Stimme prüfen
 form method="post" action=url("/hashcheck")

+ 19 - 7
views/hashid.slim

@@ -9,15 +9,19 @@
       |Wenn Sie ihn verlieren,
        können weder Sie noch wir die Stimmabgabe nachvollziehen.
       -session.delete(:stimm_hash)
-h1 SV-Wahlen 2016
+h1 SV-Wahlen #{Time.now.year}
 .panel.panel-danger
   .panel-body
     h2
       'Hallo
       =schueler.vorname
       |,
-    h3 Die Wahl findet von Freitag 30. September 18 Uhr bis Montag 3. Oktober 18 Uhr statt.
-    -if !ende
+
+    h3
+      |Die Wahl findet von #{time_for(ENV["SV_WAHL_BEGINN"]).strftime("%d.%m.%Y, %R")}
+       Uhr bis #{time_for(ENV["SV_WAHL_ENDE"]).strftime("%d.%m.%Y, %R")} Uhr statt.
+
+    -if vor_der_wahl?
       |Bis dahin sollten alle Schüler und Studierenden des BK-Bethel Gelegenheit
        haben, sich für die Wahl aufstellen zu lassen.
       p
@@ -30,13 +34,14 @@ h1 SV-Wahlen 2016
     |Es werden insgesamt 5 Vertreter und 5 weitere Stellvertreter für die
      Schulkonferenz gewählt.
     p
-    |Die Schulkonferenz tagt in diesem Schuljahr bereits am 4. Oktober um 18 Uhr.
+    |Die Schulkonferenz tagt in diesem Schuljahr bereits am
+     #{time_for(ENV["SV_TERMIN_SCHUKO"]).strftime("%d.%m.%Y, %R")} Uhr.
     p
     |Prüfen Sie diese oder die
     a<> href=url("/") Startseite
     |für eventuelle weitere Nachrichten.
 
--if !ende
+-if vor_der_wahl?
   .panel.panel-info
     .panel-body
       h3 Für welche Ämter stellen Sie sich zur Verfügung?
@@ -97,9 +102,13 @@ h1 SV-Wahlen 2016
       h3 Verbindungslehrer, die zur Wahl stehen
       ul
         -Lehrer.each do |l|
-          li =l.name
+          li
+            =l.name
+            -if l.info
+              blockquote
+                p ==markdown(l.info)
 
--if (Time.now < time_for('Oct 3, 2016, 18:00')) && (Time.now > time_for('Sep 30, 2016, 18:00'))
+-if wahlzeit?
   -unless schueler.gewaehlt
     .panel.panel-info
       .panel-body
@@ -149,6 +158,9 @@ h1 SV-Wahlen 2016
                   label
                     input type="checkbox" name="lehrer[]" value=l.id
                       =l.name
+                      -if l.info
+                        blockquote
+                          p ==markdown(l.info)
           .form-group
             .col-sm-offset-1.col-sm-9
               input type="hidden" name="hashid" value=schueler.hashid