This repository has been archived by the owner on May 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.ru
93 lines (75 loc) · 3.03 KB
/
config.ru
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
require 'roda'
require 'sequel/core'
require 'mail'
class App < Roda
DB = Sequel.sqlite
Sequel.extension :migration
Sequel::Migrator.run(DB, File.expand_path('../db/migrations', __FILE__))
DB.extension :date_arithmetic
DB.freeze
plugin :render, :escape=>true
plugin :request_aref, :raise
plugin :hooks
plugin :flash
plugin :route_csrf, :csrf_failure=>:clear_session
secret = ENV.fetch('RODAUTH_SESSION_SECRET')
plugin :sessions, :secret=>secret, :key=>'rodauth-demo.session'
plugin :rodauth, :csrf => :route_csrf do
db DB
enable :login, :create_account, :email_auth, :logout
require_login_confirmation? false
email_from 'Elternbeirat SGH <[email protected]>'
create_account_autologin? false
create_account_set_password? false
create_account_button 'Konto erstellen'
create_account_error_flash 'Konto konnte nicht erstellt werden (create_account_error_flash).'
create_account_notice_flash 'Konto wurde erfolgreich angelegt (create_account_notice_flash).'
create_account_route 'konto-anlegen'
create_account_link "<p><a href=\"#{prefix}/konto-anlegen\">Neues Konto anlegen</a></p>"
email_auth_email_subject 'Login-Link für den SGH Elternverteiler'
email_auth_email_sent_notice_flash 'Wir haben einen Link zum Login an Ihre eMail-Adresse geschickt (email_auth_email_sent_notice_flash).'
email_auth_email_recently_sent_error_flash 'Wir haben Ihnen bereits kürzlich einen Link zum Login geschickt. Bitte prüfen Sie Ihr Postfach und auch den SPAM-Ordner (email_auth_email_recently_sent_error_flash).'
email_auth_error_flash 'Login ist fehlgeschlagen (email_auth_error_flash).'
email_auth_request_error_flash 'TODO (email_auth_request_error_flash).'
no_matching_email_auth_key_message 'Login ist fehlgeschlagen. Der Link ist falsch oder veraltet (no_matching_email_auth_key_message).'
email_auth_email_body do
<<~MSG
Hallo,
jemand hat mit dieser eMail-Adresse ein Login beim SGH Elternverteiler
beauftragt. Wenn Sie sich jetzt anmelden möchten, gehen Sie bitte zu
folgender Adresse:
#{email_auth_email_link}
Falls Sie das nicht veranlasst haben, können Sie diese eMail ignorieren.
Mit freundlichen Grüßen
Ihr Elternbeirat des Schickhardt-Gymnasiums Herrenberg
MSG
end
login_button 'Login'
login_error_flash 'Login ist fehlgeschlagen (login_error_flash).'
login_error_status 'TODO (login_error_status).'
login_notice_flash 'Login erfolgreich (login_notice_flash).'
require_login_error_flash 'TODO (require_login_error_flash).'
require_mail? false
send_email_auth_email do
mail = {
from: email_from,
to: email_to,
subject: email_auth_email_subject,
body: email_auth_email_body,
}
warn "TODO Enqueing mail: #{mail}"
end
end
route do |r|
r.rodauth
r.root do
view 'index'
end
r.get 'account' do
rodauth.require_authentication
view 'account'
end
end
freeze
end
run App.freeze.app