commit 52420bbf60e935faa61148491565d93fee784a81
parent 3f0219aeca1414a794f0429550dc4c0273a26adf
Author: rob <rob@tarina.org>
Date:   Tue,  7 Mar 2023 20:28:46 +0200
myky nytt
Diffstat:
8 files changed, 236 insertions(+), 47 deletions(-)
diff --git a/public_html/html/admin.html b/public_html/html/admin.html
@@ -1,17 +1,60 @@
-$def with (anslagstavla, saysomething)
+$def with (anslagstavla, saysomething, bokningar, doordebug, str, log, getDorrkoduser,roskis)
 <div id="container">
     <div id="default">
     <br>
     <h1>Bygdis.fi</h1>
     <a href="/event">Event</a> | <a href="/protokoll">Protokoll</a> |  <a href="/static/mlinvoice">Fakturera</a> | <a href="/logout">Logga ut</a><br>
-    <a href="/bilder">Byyns fotoalbum</a> | <a href="/dorrkoder">Dörrkoder</a> 
+    <a href="/bilder">Byyns fotoalbum</a> | <a href="/dorrkoder">Dörrkoder</a> |  <a href="/boka">Boka</a>
     <br>
+    <br>
+    $if doordebug.doorstate == 'False':
+        Dörren är stängd. <br>
+    $doordebug.datum.strftime('%d-%m-%y %H:%M')
+    <br>
+    Senaste i dörrloggen<br>
+    $for i in log:
+        $i.datum.strftime('%d-%m-%y %H:%M')
+        $i.dorrkod
+        $getDorrkoduser(i.dorrkod)
+        <br>
+    <br> 
+    <a href="/admin?emptytrash=now">Skicka efter roskis tömning</a> <br>
+    Senast skickat: $roskis.datum.strftime('%d-%m-%y %H:%M')
+
+    <h2>bokningar</h2>
+    $for i in bokningar: 
+        <div class="anslagstavla" id="$i.bokningshash">
+        <h3>$i.datumtid[:-8]</h3>
+        <b>$i.namn</b><br>
+        evenemang: $i.event <br>
+        $i.boka<br>
+        epost: $i.epost <br>
+        tfn: $i.telefon <br>
+        villkor godkända: $i.villkor <br>
+        $i.privat <br><br>
+        <a href="/admin?approve=$i.id" method="post">Godkänn</a> | 
+        <a href="/boka?id=$i.bokningshash">Ändra</a> |
+        <a href="/admin?sendrules=$i.id">Skicka regler</a> |
+        <a href="/admin?fakturera=$i.id">Fakturera</a> | 
+        <a href="/admin?doorcode=$i.id">Skicka dörrkod</a> | 
+        <a href="/admin?remove=$i.id">Radera</a>
+        <br>
+        <br>
+        status:
+        $if i.approved:
+            godkändes $i.approved och lades till i event
+        $if i.doorcode:
+            dörrkod $i.doorcode har skickats
+        $if i.faktura:
+            faktura har skickats $i.faktura
+        </div>
     <div class="anslagstavla">
     <h4>Säg någå</h4>
     <form method="POST">
     $:saysomething.render()
     </form>
     </div>
+
     $for i in anslagstavla:
         <div class=anslagstavla>
             <h3>$i.datumtid[8:10] $i.datumtid[5:7] kl. $i.datumtid[10:16]</h3>
diff --git a/public_html/html/base.html b/public_html/html/base.html
@@ -5,7 +5,7 @@ $def with (content)
     <title>Hommansby Ungdomsförening</title>
     <meta name="description" content="Hommansby Ungdomsförening. Bygdegården." />
     <meta name="viewport" content="width=device-width; initial-scale=1.0;">
-    <link rel="stylesheet" href="/static/leipuri.css" type="text/css" rel="stylesheet"/>
+    <link rel="stylesheet" href="/static/leipuri.css?v=123" type="text/css" rel="stylesheet"/>
     <meta name="google-site-verification" content="88dInqkR1qhmPAMVnlopcopq6t_5-6RQ5_VEl5ja6GA" />
 </HEAD>
 <body>
diff --git a/public_html/html/boka.html b/public_html/html/boka.html
@@ -0,0 +1,49 @@
+$def with (boka)
+<div id="container">
+<div id="default">
+<h2>Boka Bygdegården</h2>
+<pre>
+<b>Villkor och regler.</b>
+
+1. Max 230 personer får vistas samtidigt i lokalen.
+
+2. Rökning förbjuden inomhus. Ute på gården intill ingången finns kärl för fimpar.
+
+3. Fester kräver uppvisande av nöjestillstånd. Undantag är familjefester som tex. 50-årskalas, bröllop och dop där inget nöjestillstånd krävs.
+
+4. Den som hyr lokalen ansvarar för att lokalen och gårdsplanen är städad senast dagen efter tillställningen. 
+
+<b>Städregler</b>
+
+1. Bord och stolar torkas och placeras på samma sätt som vid uthyrning av lokalen.
+
+2. Kökets arbetsytor torkas.
+
+3. Golven sopas med borste.
+
+4. Golvet i köket, serveringrummet, hallen och toaletter skall våttorkas.
+
+<u>5. Salsgolvet och scenen tvättas med lätt fuktad trasa!</u>
+
+6. Sopor sorteras i paff, glas och metall som förs till återvinningkärlen på gårdsplanen. Övriga sopor förs till sopkärlet vid köksingången.
+
+<b>Övriga villkor</b>
+
+1. Värmepumparnas inställningar skall sättas till ursprunglit läge efter användning.
+
+2. Eventuella skador på lokalen eller lösöret meddelas till lokalens bokningsansvariga (tel.0447624040) senast följande dag och skadorna ersättas till sitt fulla pris på räkning.
+
+3. Tillställningar som avbokas två veckor före tillställningen faktureras inte. Tillställningar som avbokas senare än två veckor före tillställningen faktureras till halva priset. Oavbokade tilställningar faktureras till fullt pris.
+
+4. Ifall lokalen lämnas ostädad, faktureras hyresgästen en städavgift. Denna avgift beror på städningens omfattning och fastställs enligt rådande avtal med städfirman som föreningen anlitar.
+</pre>
+<h2>Boknings formulär</h2>
+<div id="addevent">
+<form method="POST">
+$:boka.render()
+</form>
+</div>
+<b><p></p></b>
+</div>
+</div>
+</div>
diff --git a/public_html/html/dorrkoder.html b/public_html/html/dorrkoder.html
@@ -2,26 +2,24 @@ $def with (dorrkoder, log, getDorrkoduser)
 
 <br>
 <h1>Bygdis.fi</h1>
+<a href="/admin"><<-----tibaks</a>
 <h2>Dörrkoder</h2>
 <a href="/nydorrkod">Lägg till</a>
-<table style="max-width:800px">
+<br>
+<br>
 $for i in dorrkoder:
-    <tr>
-    <th>$i.dorrkod</th>
-    <th>$i.name</th>
-    <th>$i.mail</th>
-    <th>$i.datum.strftime('%d-%m-%y %H:%M')</th>
-    <th><form action="/dorrkoder/$i.id" method="post"><input type="submit" value="radera"></form></th>
-    <th><form action="/dorrkoder/$i.id" method="post"><input type="submit" value="uppdatera"></form></th>
-    </tr>
+    <b>$i.dorrkod</b> <u>$i.name</u> | $i.mail | $i.datum.strftime('%d-%m-%y %H:%M') | <a href="/dorrkoder?radera=$i.id" >radera</a> | 
+    <a href="/dorrkoder?uppdatera=$i.id">uppdatera</a>
+    <a href="/dorrkoder?fakturera=$i.id">fakturera</a>
+    <hr>
+    <br>
 </table>
-<h2>Logg</h2>
-<table style="max-width:800px">
+<h2>Dörr logg</h2>
+<br>
+Senaste i dörrloggen<br>
 $for i in log:
-    <tr>
-    <th>$i.datum.strftime('%d-%m-%y %H:%M')</th>
-    <th>$i.dorrkod</th>
-    <th>$getDorrkoduser(i.dorrkod)</th>
-    </tr>
-</table>
-    
+    $i.datum.strftime('%d-%m-%y %H:%M')
+    $i.dorrkod
+    $getDorrkoduser(i.dorrkod)
+    <br>
+ 
diff --git a/public_html/html/event.html b/public_html/html/event.html
@@ -8,7 +8,7 @@ $var upcomingevents = upcomingevents
     <a href="/admin">Tillbaka</a> | <a href="/addevent">Lägg till</a> | <a href="/logout">Logga ut</a>
     $for i in upcomingevents:
         <div id=event>
-            <h4>$i.event</h4>$i.veckodag $i.datumtid[8:10] $i.datumtid[5:7] kl. $i.datumtid[10:16] $i.admin <br> $i.info<a href="/addevent?id=$i.id">Ändra/Muuta</a> <a href="/removeevent/$i.id" method="post">Delete</a>
+            <h4>$i.event</h4>$i.veckodag $i.datumtid[8:10] $i.datumtid[5:7] kl. $i.datumtid[10:16] $i.admin <br> $i.info <br><a href="/addevent?id=$i.id">Ändra/Muuta</a> <a href="/addevent?id=$i.id©event=$i.id">Kopiera/Kopio</a>   <a href="/removeevent/$i.id" method="post">Delete</a>
         </div>
     </div>
 </div>
diff --git a/public_html/html/index.html b/public_html/html/index.html
@@ -7,7 +7,8 @@ $if displayname != '':
 $if displayname == '':
     <b><a href="/login">Logga in / kirjaudu sisään </a></b>
 <br>
-<h1>Bygdis.fi</h1>
+<h1>bygdis.fi</h1>
+<h2>Hommansby Ungdomsförening</h2>
 <p><a href="#styrelsen">styrelsen</a> | <a href="#bokningar">bokningar</a> | <a href="/om">om sidan</a> | <a href="/bilder">Byyns fotoalbum</a>
     $for i in upcomingevents:
         <div class=anslagstavla>
@@ -19,9 +20,9 @@ $if displayname == '':
 
 <div id="styrelsen">
 <h1>Styrelsen</h1>
-Lars-Erik Kullström | ordförande </a><br>
+Mia Wigren | ordförande </a><br>
 Robin Bäckman | sekreterare | <a href="tel:0447624040">0447624040</a><br>
-Benjamin Bäckman, Frieda Ramstedt, Johanna Granqvist, Tom Granqvist, Mia Wigren<br>
+Ronja Wiik, Benjamin Bäckman, Frieda Ramstedt, Johanna Granqvist, Tom Granqvist, Lars-Erik Kullström<br>
 </div>
 <div id="bokningar">
 <h1>Bokningar</h1> 
diff --git a/server.py b/server.py
@@ -16,6 +16,7 @@ import bcrypt
 import sys
 basedir = os.path.dirname(os.path.realpath(__file__))
 sys.path.append(basedir)
+import settings
 
 urls = (
     "/", "index",
@@ -38,6 +39,7 @@ urls = (
     "/tuning?", "tuning",
     "/senaste", "senaste",
     "/admin", "admin",
+    "/boka", "boka",
     "/dorrkoder?", "dorrkoder",
     "/nydorrkod?", "nydorrkod",
     "/dorrkoderapi?", "dorrkoderapi",
@@ -48,6 +50,8 @@ urls = (
     "/nope", "nope"
 )
 
+postadmin = settings.postadmin
+postadmin_signature = settings.postadmin_signature
 render = web.template.render(basedir + "/public_html/html/", base="base")
 render2 = web.template.render(basedir + "/public_html/html/", base="base2")
 render3 = web.template.render(basedir + "/public_html/html/", base="base3")
@@ -87,6 +91,18 @@ def nyevent(id, datumtid, event, admin_visible, info):
     print("event added to database")
     return
 
+def copyevent(id, datumtid, event, admin_visible, info):
+    veckodagar = u'Måndag', u'Tisdag', u'Onsdag', u'Torsdag', u'Fredag', u'Lördag', u'Söndag'
+    veckodag = datumtid.weekday()
+    db.insert('kalender', datumtid=datumtid, veckodag=veckodagar[veckodag], event=event, admin=admin_visible, info=info)
+    print("event added to database")
+    return
+
+def getbokningar():
+    bokningar = db.query("SELECT * FROM bokningar ORDER BY datumtid DESC")
+    #events = db.select('kalender', what='id, datumtid, event', order='datumtid ASC')
+    return bokningar
+
 def getposts():
     posts = db.query("SELECT * FROM posts ORDER BY datumtid DESC")
     #events = db.select('kalender', what='id, datumtid, event', order='datumtid ASC')
@@ -166,8 +182,11 @@ def addDorrkod(dorrkod, name, mail):
 def dorrLogger(dorrkod):
     db.insert('dorrlogger', dorrkod=dorrkod, datum=datetime.datetime.now())
 
-def getDorrlog():
-    log=db.query("SELECT * FROM dorrlogger ORDER BY datum DESC")
+def getDorrlog(limit):
+    if limit == 0:
+        log=db.query("SELECT * FROM dorrlogger ORDER BY datum DESC")
+    else:
+        log=db.query("SELECT * FROM dorrlogger ORDER BY datum DESC LIMIT "+str(limit))
     return log
 
 def getDorrkoduser(dorrkod):
@@ -184,8 +203,8 @@ def getDorrkoder():
 
 def sendmail(email, subject, msg):
     #Send mail
-    echomsg = subprocess.Popen(('echo', msg), stdout=subprocess.PIPE)
-    sendmsg = subprocess.check_output(('mail', '-r', 'rob@bygdis.fi', '-s', subject, email), stdin=echomsg.stdout)
+    echomsg = subprocess.Popen(('echo', msg+'\n'+postadmin_signature), stdout=subprocess.PIPE)
+    sendmsg = subprocess.check_output(('mail', '-r', postadmin, '-s', subject, email), stdin=echomsg.stdout)
     echomsg.wait()
     #subprocess.call(['echo', msg, '|', 'mail', '-r', 'rob@tarina.org','-s', subject, email])
 
@@ -242,26 +261,94 @@ class admin():
     def GET(self):
         print(session.login)
         if session.login == 5:
+            doordebug = db.select('doordebug')[0]
             saysomething = self.form()
             anslagstavla = getposts()
-            return render2.admin(anslagstavla, saysomething)
+            bokningar = getbokningar()
+            roskis=db.select('roskis')[0]
+            i = web.input(approve=None,sendrules=None,fakturera=None,doorcode=None,remove=None,emptytrash=None)
+            if i.approve != None:
+                #Send mail to admin
+                bokning = db.select('bokningar', where='id="'+i.approve+'"')[0]
+                msg = "Bokning godkänd av " + bokning.namn + ' epost: ' + bokning.epost
+                sendmail(postadmin, 'Bokning godkänd!', msg)
+                #Send mail to user
+                msg = "Hej " + bokning.namn + " tack din bokning godkändes, du får fakturan inom kort och en dörrkod när fakturan är betald. Tack!"
+                sendmail(bokning.epost, 'Bokning av Bygdegården lyckades och är godkänd', msg)
+                db.update('bokningar', where='id="'+i.approve+'"', approved=datetime.datetime.now())
+                raise web.seeother('/admin?kakka')
+            if i.sendrules != None:
+                raise web.seeother('/admin?kakka')
+            if i.fakturera != None:
+                raise web.seeother('/admin?kakka')
+            if i.doorcode != None:
+                raise web.seeother('/admin?kakka')
+            if i.remove != None:
+                raise web.seeother('/admin?kakka')
+            if i.emptytrash == 'now':
+                db.update('roskis',  where='id=1',datum=datetime.datetime.now())
+                raise web.seeother('/admin')
+            log = getDorrlog(10)
+            return render2.admin(anslagstavla,saysomething,bokningar,doordebug,str,log,getDorrkoduser,roskis)
         else:
             raise web.seeother('/login')
     def POST(self):
         if session.login == 5:
+            i = web.input(post=None,approve=None,sendrules=None,fakturera=None,doorcode=None,remove=None)
             saysomething = self.form()
-            if not saysomething.validates():
-                return render2.admin(anslagstavla, saysomething)
-            else:
-                i = web.input()
+            if i.post != None:
                 print('ADDDDDDDDDDDDDING TO database post ' + i.post)
                 now = datetime.datetime.now()
                 print('ADDDDDDDDDDDDDING TO database date' + str(now))
                 nypost(now, i.post)
-                raise web.seeother('/admin')
+            raise web.seeother('/admin')
         else:
             raise web.seeother('/login')
 
+class boka():
+    form = web.form.Form(
+    web.form.Textbox('year', web.form.notnull, web.form.regexp('\d+', 'yyyy'), description="år:"),
+    web.form.Textbox('day', web.form.notnull, web.form.regexp('\d+', 'dd'), description="dag:", autofocus="autofocus"),
+    web.form.Textbox('month', web.form.notnull, web.form.regexp('\d+', 'MM'), description="månad:"),
+    web.form.Dropdown('boka', [u'Veckoslut hela huset (medlem) 200€', u'Veckoslut hela huset (icke medlem) 350 €', u'Veckoslut serveringsrummet och kök (medlem) 100€', u'Veckoslut serveringsrummet och kök (icke medlem) 150€', u'En dag hela huset (medlem) 100€', u'En dag hela huset (icke medlem) 150€', u'En dag serveringsrummet och kök (medlem) 80€', u'En dag serveringsrummet och kök (icke medlem) 120€'], web.form.notnull, description="bokning"),
+    web.form.Textarea('event', web.form.notnull, description="beskrivning:"),
+    web.form.Textbox('namn', web.form.notnull, description="namn:"),
+    web.form.Textbox('epost', web.form.notnull, description="e-post:"),
+    web.form.Textbox('telefon', web.form.regexp('\d+', 'nummer tack'), description="telefon:"),
+    web.form.Radio('villkor', [u'Nej', u'Ja'], web.form.notnull, description="Jag godkänner alla regler och villkor."),
+    web.form.Radio('privat', [u'Privat', u'Offentligt'], web.form.notnull, description="Evenemanget som ordnas är:"),
+    web.form.Button('Skicka'))
+    def GET(self):
+        i = web.input(id=None, cp=None)
+        form_boka = self.form()
+        if i.id==None:
+            now = datetime.datetime.now()
+            form_boka.fill(year=now.year, month=now.month, day=now.day)
+        else:
+            event = db.select('bokningar', where='bokningshash="'+i.id+'"')[0]
+            now=datetime.datetime.strptime(event.datumtid, '%Y-%m-%d %H:%M:%S')
+            form_boka.fill(year=now.year, month=now.month, day=now.day, boka=event.boka, event=event.event, namn=event.namn, epost=event.epost, telefon=event.telefon, villkor=event.villkor, privat=event.privat)
+        return render.boka(form_boka)
+    def POST(self):
+        form_boka = self.form()
+        if not form_boka.validates():
+            return render.boka(form_boka)
+        else:
+            i = web.input(id=None, copyevent=None)
+            try:
+                year = int(i.year)
+                month = int(i.month)
+                day = int(i.day)
+                datum = datetime.datetime(year, month, day)
+            except ValueError:
+                return render.nope()
+            if i.id == None:
+                bokningshash = hashlib.md5(str(random.getrandbits(256)).encode('utf-8')).hexdigest()
+                db.insert('bokningar', datumtid=datum, boka=i.boka, event=i.event, namn=i.namn, epost=i.epost, telefon=i.telefon, villkor=i.villkor, privat=i.privat, bokningshash=bokningshash)
+            else:
+                db.update('bokningar', where='bokningshash="'+i.id+'"', datumtid=datum, boka=i.boka, event=i.event, namn=i.namn, epost=i.epost, telefon=i.telefon, villkor=i.villkor, privat=i.privat)
+            raise web.seeother('/admin') 
+
 class event():
     def GET(self):
         if session.login == 5:
@@ -273,8 +360,8 @@ class event():
 class addevent():
     form = web.form.Form(
     web.form.Textbox('year', web.form.notnull, web.form.regexp('\d+', 'yyyy'), description="år:"),
-    web.form.Textbox('month', web.form.notnull, web.form.regexp('\d+', 'MM'), description="månad:"),
     web.form.Textbox('day', web.form.notnull, web.form.regexp('\d+', 'dd'), description="dag:", autofocus="autofocus"),
+    web.form.Textbox('month', web.form.notnull, web.form.regexp('\d+', 'MMM'), description="månad:"),
     web.form.Textbox('tid', web.form.notnull, web.form.regexp('^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$', 'Skriv tiden såhär 07:20'), description="klockslag:"),
     web.form.Dropdown('upprepa', [u'Nej', u'Varje vecka', u'Varannan vecka', u'Varje månad'], web.form.notnull, description="återkommande"),
     web.form.Textbox('antal', web.form.regexp('\d+', 'nummer tack'), description="hur många gånger:"),
@@ -283,7 +370,7 @@ class addevent():
     web.form.Textarea('admin', description="synligt för admin:"),
     web.form.Button('skicka'))
     def GET(self):
-        i = web.input(id=None)
+        i = web.input(id=None, cp=None)
         if session.login == 5:
             kalender = self.form()
             if i.id==None:
@@ -302,7 +389,7 @@ class addevent():
             if not kalender.validates():
                 return render.addevent(kalender)
             else:
-                i = web.input(id=None)
+                i = web.input(id=None, copyevent=None)
                 try:
                     tidh = int(i.tid[:2])
                     tidm = int(i.tid[-2:])
@@ -328,7 +415,10 @@ class addevent():
                     manydatum.append(datum + datetime.timedelta(days=c))
                     c = c + dayz
                 for d in manydatum:
-                    nyevent(i.id, d, i.event, i.admin, i.info)
+                    if copyevent != None:
+                        copyevent(i.id, d, i.event, i.admin, i.info)
+                    else:
+                        nyevent(i.id, d, i.event, i.admin, i.info)
                 return web.seeother('/event')
         else:
             raise web.seeother('/login')
@@ -353,8 +443,6 @@ class undo():
         else:
             raise web.seeother('/login')
 
-           
-
 class editevent():
     def POST(self):
         s = web.input().signal
@@ -440,7 +528,7 @@ class forgotpass():
         elif i.error == 'nej':
             fejl = 'nej hörru dedär gaar inga / ei käy'
         elif i.error == 'stopresetpass':
-            fejl = 'Nytt lösenord ha skickats åt dej! int ha du väl nu igen tappat bort ditt lösen? hmm.. om de e problematiskt ta kontakt med rob@bygdis.fi / sama på finska'
+            fejl = 'Nytt lösenord ha skickats åt dej! int ha du väl nu igen tappat bort ditt lösen? hmm.. om de e problematiskt ta kontakt med '+postadmin+' / sama på finska'
         if session.login < 3:
             loginform = self.form()
             return render.forgotpass(loginform, fejl)
@@ -538,7 +626,7 @@ class register():
             adduser(i.user, i.password, i.mail.lower())
             #Send mail to Madbaker
             msg = "Wowowowoweeewaaa! Ny användare på bygdis.fi! " + i.user + ' ' + i.mail
-            sendmail('rob@bygdis.fi', 'Wowowoweewaaa!', msg)
+            sendmail(postadmin, 'Wowowoweewaaa!', msg)
             #Send mail to new user
             msg = "Gratulis " + i.user + ", du har nu ett konto opa bygdis.fi! Logga in med användarnamn å lösenord på sidan https://bygdis.fi/login"
             sendmail(i.mail, 'Byyns eji fotoalbum', msg)
@@ -588,9 +676,9 @@ class nydorrkod():
             addDorrkod(dorrkod, i.namn, i.mail.lower())
             #Send mail to Madbaker
             msg = "Wowowowoweeewaaa! Ny dörrkod! " + i.namn + ' ' + i.mail + ' ' + str(dorrkod)
-            sendmail('rob@bygdis.fi', 'Wowowoweewaaa!', msg)
+            sendmail(postadmin, 'Wowowoweewaaa!', msg)
             #Send mail to new user
-            msg = "Gratulis " + i.namn + ", du har en dörrkod ti bygdis: " + str(dorrkod)
+            msg = "Gratulis " + i.namn + ", du har en dörrkod till Bygdegården: " + str(dorrkod)
             sendmail(i.mail, 'Dörrkod till Bygdegården', msg)
             return web.seeother('/dorrkoder')
 
@@ -598,9 +686,13 @@ class dorrkoder():
     def GET(self):
         if session.login == 5:
             dorrkoder = getDorrkoder()
-            log = getDorrlog()
+            log = getDorrlog(0)
+            i = web.input(radera=None,uppdatera=None,fakturera=None,emptytrash=None)
+            if i.radera != None:
+                db.delete('dorrkoder', where='id="'+i.radera+'"')
+                raise web.seeother('/dorrkoder')
             print(dorrkoder)
-            return render.dorrkoder(dorrkoder, log, getDorrkoduser)
+            return render.dorrkoder(dorrkoder,log,getDorrkoduser)
         else:
             web.seeother('/')
 
diff --git a/settings.py b/settings.py
@@ -0,0 +1,6 @@
+#!/usr/bin/python3
+# -*- coding: utf-8 -*-
+
+postadmin="info@bygdis.fi"
+postadmin_signature="-~-\nWebadmin\nHommansby Ungdomsförening r.f.\ninfo@bygdis.fi\n+358 44 7624 040"
+