commit 3f0219aeca1414a794f0429550dc4c0273a26adf parent 035fb3aed060a6b130cced5907b6419def5861eb Author: rob <rob@tarina.org> Date: Wed, 15 Feb 2023 11:31:35 +0200 myky tavara Diffstat:
28 files changed, 258 insertions(+), 104 deletions(-)
diff --git a/public_html/html/addevent.html b/public_html/html/addevent.html diff --git a/public_html/html/admin.html b/public_html/html/admin.html @@ -4,7 +4,7 @@ $def with (anslagstavla, saysomething) <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="/bilder">Byyns fotoalbum</a> | <a href="/dorrkoder">Dörrkoder</a> <br> <div class="anslagstavla"> <h4>Säg någå</h4> 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/robstyle.css" type="text/css" rel="stylesheet"/> + <link rel="stylesheet" href="/static/leipuri.css" type="text/css" rel="stylesheet"/> <meta name="google-site-verification" content="88dInqkR1qhmPAMVnlopcopq6t_5-6RQ5_VEl5ja6GA" /> </HEAD> <body> @@ -13,5 +13,7 @@ $def with (content) $:content <script type="text/javascript" src="../static/scrollcookie.js"></script> + + </body> diff --git a/public_html/html/base2.html b/public_html/html/base2.html diff --git a/public_html/html/base3.html b/public_html/html/base3.html @@ -2,6 +2,7 @@ $def with (content) <!doctype html> <head> <meta name="viewport" content="initial-scale=1.0"> + <meta http-equiv="cache-control" content="no-cache"> <meta charset="utf-8"> <style> /* Always set the map height explicitly to define the size of the div @@ -16,6 +17,11 @@ $def with (content) margin: 0px auto; width: 95%; } + #protokoll { + margin: 0px auto; + width: 750px; + height: 800px; + } </style> </head> diff --git a/public_html/html/bild.html b/public_html/html/bild.html @@ -10,7 +10,7 @@ $if back_next.next != None: <a href="/static/bilder/$imglink">full storlek</a> <br> <h2>$b.titel</h2> -<a href="/bilder#$imghash"><img id="bild" src="/static/bilder/web/$imglink"></a><br> +<a href="/bilder#$imghash"><img id="bild" src="/static/bilder/web/$imglink?=$b.lastmod"></a><br> <a href="/bilder#$imghash"><-- tryck här elr på bilden för ti far tibaks</a> <p>📸 <a href="/bilder?search=$b.fotograf">$b.fotograf</a>, år: <a href="/bilder?search=$b.year">$b.year</a>, plats: <a href="/bilder?search=$b.plats">$b.plats</a></p> <p>Story: $b.beskrivning</p> diff --git a/public_html/html/bilder.html b/public_html/html/bilder.html @@ -46,7 +46,7 @@ $if search != '': $ print(i.beskrivning) $ imageurl = i.filename + '.jpeg' <div class="bild" id="$i.filename"> - <a href="/bild/$i.filename"><img src="/static/bilder/thumb/$imageurl"></a> + <a href="/bild/$i.filename"><img src="/static/bilder/thumb/$imageurl?=$i.lastmod"></a> $if i.titel != None: $if i.titel != '': <h4><a href="/bild/$i.filename">$i.titel</a></h4> @@ -83,7 +83,7 @@ $else: $ print(i.beskrivning) $ imageurl = i.filename + '.jpeg' <div class="bild" id="$i.filename"> - <a href="/bild/$i.filename"><img src="/static/bilder/thumb/$imageurl"></a> + <a href="/bild/$i.filename"><img src="/static/bilder/thumb/$imageurl?=$i.lastmod"></a> $if i.titel != None: $if i.titel != '': <h4><a href="/bild/$i.filename">$i.titel</a></h4> diff --git a/public_html/html/bildinfo.html b/public_html/html/bildinfo.html @@ -3,7 +3,7 @@ $ imglink = imghash + '.jpeg' <div id="album"> <br> <a href="/bild/$imghash"><-- tibaks</a> - <a href="/bild/$imghash"><img src="/static/bilder/web/$imglink" width=100%"></a> + <a href="/bild/$imghash"><img src="/static/bilder/web/$imglink?=$lastmod" width=100%"></a> <a href="/bild/$imghash"><-- tibaks</a> <div id="default"> <div id="addevent"> @@ -11,6 +11,8 @@ $ imglink = imghash + '.jpeg' $:infoform.render() </form> <br> + <a href="/upload?edit=$imglink">Ladda upp bild pånytt</a> + <br> <a href="/bild/$imghash"><-- tibaks</a> <p>Version historik</p> $for i in allaversioner: diff --git a/public_html/html/dorrkoder.html b/public_html/html/dorrkoder.html diff --git a/public_html/html/edit.html b/public_html/html/edit.html 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 <form action="/removeevent/$i.id" method="post"><input type="submit" value="radera"></form> + <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> </div> </div> </div> diff --git a/public_html/html/forgotpass.html b/public_html/html/forgotpass.html diff --git a/public_html/html/index.html b/public_html/html/index.html @@ -1,56 +1,63 @@ -$def with (upcomingevents) +$def with (upcomingevents, displayname) $var upcomingevents = upcomingevents <div id="container"> - <div id="default"> - <br> - <h1>Bygdis.fi</h1> - <p><a href="#styrelsen">styrelsen</a> | <a href="#bokningar">bokningar</a> | <a href="/om">om sidan</a> | <a href="/login">logga in</a></p> +<div id="default"> +$if displayname != '': + <p>inloggad som <b><a href="/tuning">$displayname.displayname</a></b> ❃ | <a href="/logout">Logga ut</a> 🗝</p> +$if displayname == '': + <b><a href="/login">Logga in / kirjaudu sisään </a></b> +<br> +<h1>Bygdis.fi</h1> +<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 id=event> - <h4>$i.event</h4> - $i.veckodag $i.datumtid[8:10] $i.datumtid[5:7] kl. $i.datumtid[10:16] + <div class=anslagstavla> + <h3>$i.veckodag $i.datumtid[8:10] $i.datumtid[5:7] kl. $i.datumtid[10:16]</h3> + <h2>$i.event</h2> + <p>$i.info</p> </div> - <div id="styrelsen"> - <h1>Styrelsen</h1> - Lars-Erik Kullström | 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> - </div> - <div id="bokningar"> - <h1>Bokningar</h1> - Bokningar tas emot på <a href="tel:0447624040">0447624040</a><br> - <h2>Veckoslut</h2> - <b>fredagkväll till söndag eftermiddag</b><br> - <h3>Hela huset</h3> - medlemmar 180 €<br> - icke medlemmar 300 €<br> - <h3>Serveringsrummet</h3> - medlemmar 80 €<br> - icke medlemmar 120 €<br> - <h3>Serveringsrummet och kök</h3> - medlemmar 100 €<br> - icke medlemmar 150 €<br> - ~-~<br> - <h2>En dag</h2> - <h3>Hela huset</h3> - medlemmar 100 €<br> - icke medlemmar 150€<br> - <h3>Serveringsrummet</h3> - medlemmar 50 €<br> - icke medlemmar 100 €<br> - <h3>Serveringsrummet och kök</h3> - medlemmar 80 €<br> - icke medlemmar 120 €<br> - ~-~<br> - <h3>Städning</h3> - Städning kan skötas av en städfirma om hyresgästen så önskar då faktureras hyresgästen enligt städfirmans avgift. - <h3>Bordsdukar och löpare</h3> - 8€/kg (2-3 vita dukar går på 1kg) - <br>Hommansby Uf sköter <b>alltid</b> om tvättning av dukarna. - <h3>Uthyrning av jaktföreningens kylrum</h3> - 30€/veckoslut - <h3>Marthornas mat- och kaffeservis</h3> - 20€/servis - </div> - </div> + + +<div id="styrelsen"> +<h1>Styrelsen</h1> +Lars-Erik Kullström | 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> +</div> +<div id="bokningar"> +<h1>Bokningar</h1> +Bokningar tas emot på <a href="tel:0447624040">0447624040</a><br> +<h2>Veckoslut</h2> +<b>fredagkväll till söndag eftermiddag</b><br> +<h3>Hela huset</h3> +medlemmar 180 €<br> +icke medlemmar 300 €<br> +<h3>Serveringsrummet</h3> +medlemmar 80 €<br> +icke medlemmar 120 €<br> +<h3>Serveringsrummet och kök</h3> +medlemmar 100 €<br> +icke medlemmar 150 €<br> +~-~<br> +<h2>En dag</h2> +<h3>Hela huset</h3> +medlemmar 100 €<br> +icke medlemmar 150€<br> +<h3>Serveringsrummet</h3> +medlemmar 50 €<br> +icke medlemmar 100 €<br> +<h3>Serveringsrummet och kök</h3> +medlemmar 80 €<br> +icke medlemmar 120 €<br> +~-~<br> +<h3>Städning</h3> +Städning kan skötas av en städfirma om hyresgästen så önskar då faktureras hyresgästen enligt städfirmans avgift. +<h3>Bordsdukar och löpare</h3> +8€/kg (2-3 vita dukar går på 1kg) +<br>Hommansby Uf sköter <b>alltid</b> om tvättning av dukarna. +<h3>Uthyrning av jaktföreningens kylrum</h3> +30€/veckoslut +<h3>Marthornas mat- och kaffeservis</h3> +20€/servis +</div> +</div> </div> diff --git a/public_html/html/kiitos.html b/public_html/html/kiitos.html diff --git a/public_html/html/login.html b/public_html/html/login.html @@ -2,15 +2,16 @@ $def with (loginform, fejl, link) <div id="container"> <div id="default"> <br> - <h2>Logga in</h2> + <h2>login/loggain/kirjaudu</h2> <div id="addevent"> <form method="POST"> $:loginform.render() </form> <h4>$fejl</h4> $if link == True: - <a href="/forgotpass">ja ha glöömi å vill ha nyyt lösen</a> + <a href="/forgotpass">unohdin salasanani/glömt lösenordet</a> </div> <b><p></p></b> + <a href="javascript:history.back()"><--- tibaks</a> </div> </div> diff --git a/public_html/html/nope.html b/public_html/html/nope.html diff --git a/public_html/html/ny.html b/public_html/html/ny.html @@ -2,12 +2,12 @@ $def with (namn, url) <div id="container"> <div id="default"> <br> -<h2>Välkommen $namn!</h2> -<p>Du är nu inlogga!.</p> +<h2>Välkommen / Tervetuloa / Welcome $namn!</h2> +<p>Du är nu inloggad / you are in!.</p> $if url != '': <a href="$url">Fortsätt ---></a> $else: - <a href="/bilder">Fortsätt ---></a> + <a href="/">Fortsätt ---></a> <b><p></p></b> </div> </div> diff --git a/public_html/html/nydorrkod.html b/public_html/html/nydorrkod.html diff --git a/public_html/html/old.html b/public_html/html/old.html diff --git a/public_html/html/om.html b/public_html/html/om.html diff --git a/public_html/html/protokoll.html b/public_html/html/protokoll.html @@ -1,10 +1,10 @@ -$def with (year, years, protokoll, view) +$def with (year, years, protokoll, view, protokoll_edit, nr) $var protokoll = protokoll $var view = view <div id="container"> <div id="default"> <br> - <a href="/admin">Tillbaka</a> | <a href="/logout">Logga ut</a><br><br> + <a href="/admin">Tillbaka</a> | <a href="/logout">Logga ut</a> | <a href="/protokoll?nytt=ar">nytt år</a><br><br> $for i in years: <a href="/protokoll?year=$i">$i</a> | <br> @@ -14,8 +14,26 @@ $var view = view <a href="/protokoll?year=$year&nr=$p">$i</a> | $ p += 1 <br> + <br> - <a href="/static/pdf/uf-protokoll.pdf">Ladda ner som pdf</a> + <br> + <a href="/protokoll?pdf=protokoll&nr=$nr&year=$year">Ladda ner som pdf</a> $:view + <br> + <br> + <pre> + ------------------------------------------------------------------------------------ + Editera protokollet. OBS använd markdown. Kopiera från föregående protokoll så veit du no. + Spara knapp längst nere. Kom ihåg att spara ändringarna.</pre> + <form method="POST"> + $:protokoll_edit.render() + </form> </div> + <br> + <br> + <a href="/protokoll?rm=protokoll&nr=$nr&year=$year">Radera protokoll</a> + <br> + <a href="/protokoll?cp=protokoll&nr=$nr&year=$year">Kopiera protokoll</a> + <br> + <br> </div> diff --git a/public_html/html/register.html b/public_html/html/register.html @@ -3,8 +3,10 @@ $def with (loginform, formfail, totusers) <div id="default"> <br> $if totusers > 1: - <h2>Registreer te mesama!</h2> - <p>Tu måst registreer te för att kun sät opp bilder å anat plåtär. men ja ha ju registreer mej ridan <a href="/login">logg in tå</a></p> + <h2>Registrera dej på bygdis.fi</h2> + <h2>Rekisteryöidy bygdispistefiille</h2> + <h2>Register please!</h2> + <p>Do it!</p> $else: <h2>Registrera superadmin</h2> <div id="addevent"> diff --git a/public_html/html/register2.html b/public_html/html/register2.html @@ -0,0 +1,19 @@ +$def with (loginform, formfail, totusers) +<div id="container"> + <div id="default"> + <br> + $if totusers > 1: + <h2>Registrera ditt eget byya användarnamn!</h2> + <p>Vi ska hoppas att så många som möjligt vill registrera sej, int bara för att få en komplett bild av vem som finns här i byn men för att kunna skapa en mail lista för att kunna kontakta alla byysbor. Ett forum med upp och ned röstning är i arbete, samt om du vill ha dörrkod måste du ha ett användarnamn.</p> + $else: + <h2>Registrera superadmin</h2> + <div id="addevent"> + <form method="POST"> + $:loginform.render() + <h2>$formfail</h2> + </form> + </div> + <a href="javascript:history.back()"><--- tibaks</a> + </div> + </div> +</div> diff --git a/public_html/html/remove.html b/public_html/html/remove.html diff --git a/public_html/html/senaste.html b/public_html/html/senaste.html diff --git a/public_html/html/tuning.html b/public_html/html/tuning.html @@ -1,11 +1,11 @@ $def with (tuningform, formfail, user) <div id="container"> <div id="default"> - <h2>Tuuna ditt konto $user!</h2> + <h2>ditt, sinun, yours $user!</h2> <form method="POST"> $:tuningform.render() </form> <h2>$formfail</h2> - <a href="/bilder"><--tibaks</a> + <a href="/"><--tibaks</a> </div> </div> diff --git a/public_html/html/upload.html b/public_html/html/upload.html diff --git a/server.py b/server.py @@ -21,14 +21,16 @@ urls = ( "/", "index", "/login?", "login", "/logout", "logout", - "/addevent", "addevent", + "/addevent?", "addevent", "/event", "event", + "/undo", "undo", + "/roskis", "undo", "/removeevent/(\d+)", "removeevent", "/editevent/(\d+)", "editevent", "/removepost/(\d+)", "removepost", "/old", "old", "/bilder?", "bilder", - "/upload", "upload", + "/upload?", "upload", "/bild/(.*)?", "bild", "/bildinfo/(.*)?", "bildinfo", "/om", "om", @@ -42,7 +44,7 @@ urls = ( "/register?", "register", "/forgotpass?", "forgotpass", "/ny", "ny", - "/protokoll", "protokoll", + "/protokoll?", "protokoll", "/nope", "nope" ) @@ -75,10 +77,13 @@ def getkalenderall(): #events = db.select('kalender', what='id, datumtid, event', order='datumtid ASC') return events -def nyevent(datumtid, event): +def nyevent(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) + if id==None: + db.insert('kalender', datumtid=datumtid, veckodag=veckodagar[veckodag], event=event, admin=admin_visible, info=info) + else: + db.update('kalender', where='id="'+id+'"', datumtid=datumtid, veckodag=veckodagar[veckodag], event=event, admin=admin_visible, info=info) print("event added to database") return @@ -98,6 +103,18 @@ def getprotokoll(year): filename = a.name modtime = a.stat().st_mtime listmodtime.append((filename, modtime)) + listmodtime.sort(key=lambda tup: tup[0]) + protokoll = [] + for a in listmodtime: + protokoll.append(a[0]) + return protokoll + +def getprotokoll_lastmodified(year): + listmodtime = [] + for a in os.scandir(basedir + '/protokoll/' + year): + filename = a.name + modtime = a.stat().st_mtime + listmodtime.append((filename, modtime)) listmodtime.sort(key=lambda tup: tup[1]) protokoll = [] for a in listmodtime: @@ -262,13 +279,20 @@ class addevent(): 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:"), web.form.Textarea('event', description="beskrivning:"), + web.form.Textarea('info', description="mer info:"), web.form.Textarea('admin', description="synligt för admin:"), web.form.Button('skicka')) def GET(self): + i = web.input(id=None) if session.login == 5: - now = datetime.datetime.now() kalender = self.form() - kalender.fill(year=now.year, month=now.month, day=now.day, tid=str(now.hour).zfill(2) + ':00', antal='1') + if i.id==None: + now = datetime.datetime.now() + kalender.fill(year=now.year, month=now.month, day=now.day, tid=str(now.hour).zfill(2) + ':00', antal='1') + else: + event = db.select('kalender', where='id="'+i.id+'"')[0] + now=datetime.datetime.strptime(event.datumtid, '%Y-%m-%d %H:%M:%S') + kalender.fill(year=now.year, month=now.month, day=now.day, tid=str(now.hour).zfill(2) + ':00', antal='1', event=event.event, admin=event.admin, info=event.info) return render.addevent(kalender) else: raise web.seeother('/login') @@ -278,7 +302,7 @@ class addevent(): if not kalender.validates(): return render.addevent(kalender) else: - i = web.input() + i = web.input(id=None) try: tidh = int(i.tid[:2]) tidm = int(i.tid[-2:]) @@ -304,19 +328,33 @@ class addevent(): manydatum.append(datum + datetime.timedelta(days=c)) c = c + dayz for d in manydatum: - nyevent(d, i.event) - return web.seeother('/admin') + nyevent(i.id, d, i.event, i.admin, i.info) + return web.seeother('/event') else: raise web.seeother('/login') class removeevent(): - def POST(self, id): + def GET(self, id): if session.login == 5: + e = db.select('kalender', where='id="'+str(id)+'"')[0] + db.insert('kalroskis', datumtid=e.datumtid, event=e.event, admin=e.admin, info=e.info) db.delete('kalender', where="id=" + id) raise web.seeother('/event') else: raise web.seeother('/login') +class undo(): + def GET(self): + if session.login == 5: + e = db.query("SELECT * FROM kalroskis ORDER BY id DESC LIMIT 1;")[0] + db.insert('kalender', datumtid=e.datumtid, event=e.event, admin=e.admin, info=e.info) + e = db.query("DELETE FROM kalroskis ORDER BY id DESC LIMIT 1;") + raise web.seeother('/event') + else: + raise web.seeother('/login') + + + class editevent(): def POST(self): s = web.input().signal @@ -344,15 +382,15 @@ class login(): resetpasslink = False i = web.input(error=None) if i.error == 'fejl': - fejl = 'fejl lösenord!' + fejl = 'fejl lösenord! / Väärä salasana' resetpasslink = True if i.error == 'tom': - fejl = 'hmm.. he funkka inga!' + fejl = 'hmm.. he funkka inga! / Ei toimi' if session.login < 3: loginform = self.form() return render.login(loginform, fejl, resetpasslink) if session.login == 3: - return web.seeother('/bilder') + return web.seeother('/') if session.login == 5: raise web.seeother('/admin') def POST(self): @@ -382,25 +420,27 @@ class login(): session.backurl = '' raise web.seeother(backurl) else: - raise web.seeother('/bilder') + if i.user == "byyssare": + raise web.seeother('/register') + raise web.seeother('/') else: return web.seeother('/login?error=fejl') class forgotpass(): form = web.form.Form( web.form.Textbox('mail', web.form.notnull, description="e-post:"), - web.form.Button('Skicka nytt lösenord!')) + web.form.Button('Skicka nytt lösenord / Lähetä uusi salasana')) def GET(self): fejl = '' i = web.input(error=None) if i.error == 'fejl': - fejl = 'hittar inga e-post!' + fejl = 'hittar inga e-post / ei löydy email' elif i.error == 'done': - fejl = 'ditt lösenord e uppdaterat å skickat till din e-post' + fejl = 'ditt lösenord e uppdaterat å skickat till din e-post / salasanasi on vaihdettu ja lähetetty mailiisi' elif i.error == 'nej': - fejl = 'nej hörru dedär gaar inga!' + fejl = 'nej hörru dedär gaar inga / ei käy' elif i.error == 'stopresetpass': - fejl = 'Nytt lösenord ha redan 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' + 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' if session.login < 3: loginform = self.form() return render.forgotpass(loginform, fejl) @@ -432,7 +472,7 @@ class forgotpass(): password_hashed = bcrypt.hashpw(password, salt) db.update('bildadmin', where='name="'+p.name+'"', password=password_hashed) print("lösenordet uppdaterat!") - msg = "Ditt nya lösenord till byyns fotoalbum e: " + unencrypted_password + ' , om du vill ändra lösenordet ti någå du kommer ihåg så tryck på namne ditt högst op på ruutån efter du loggat in.' + msg = "Ditt nya lösenord till bygdis.fi e: " + unencrypted_password + ' , om du vill ändra lösenordet ti någå ana som du minns så tryck på namne ditt högst op på ruutån efter du loggat in.' sendmail(p.mail, 'Nytt lösenord till byyns fotoalbum', msg) raise web.seeother('/forgotpass?error=done') raise web.seeother('/forgotpass?error=fejl') @@ -465,6 +505,7 @@ class register(): elif w.fail == 'mailtaken': formfail = 'tu ha redan laga ett användarnamn me tetta epost konto!' elif w.fail == 'kortlosen': + print('kakkaka') formfail = 'he va no för uuslit lösenord, minst 5 bokstäver' except: pass @@ -568,7 +609,6 @@ class dorrkoderapi(): global basedir f = open(basedir+"/apikey", "r") apikey = f.readline().strip() - print(apikey) i = web.input(apikey=None,logger=None,doorstate=None,debug=None) if i.apikey == apikey: if i.logger != None: @@ -576,8 +616,13 @@ class dorrkoderapi(): if getDorrkoduser(i.logger) != '': print('logging dorrkod!') dorrLogger(i.logger) - elif i.doorstate != None: - db.update('doordebug', where='id="1"', doorstate=i.doorstate, debug=i.debug, datum=datetime.datetime.now()) + print(i.logger) + print(i.doorstate) + print(i.debug) + if i.doorstate != None: + print('yes, bygdis is online') + id=1 + db.update('doordebug', where='id="'+str(id)+'"', doorstate=i.doorstate, debug=i.debug, datum=datetime.datetime.now()) else: dorrkoder = getDorrkoder() #encoding = response.info().get_content_charset('utf8') @@ -767,6 +812,7 @@ class bilder(): rights = 'mod' elif session.login > 1: rights = 'byyssare' + return render.bilder(bilder, rights, session.user, tot, limit, bildpersida, session.search, db, str, print) else: return web.seeother('/login') @@ -796,9 +842,18 @@ class upload(): return web.seeother('/login') def POST(self): if session.login > 2: - i = web.input(imgfile={}) + i = web.input(imgfile={},edit=None) for p in i: print(p) + if i.edit != None: + imgname=i.edit + if '.jpg' in i.edit: + imghash=i.edit.replace('.jpg','') + elif '.jpeg' in i.edit: + imghash=i.edit.replace('.jpeg','') + else: + imghash = hashlib.md5(str(random.getrandbits(256)).encode('utf-8')).hexdigest() + imgname = imghash + '.jpeg' if i.imgfile != {}: print(i.imgfile.filename) if i.imgfile.filename == '': @@ -811,8 +866,7 @@ class upload(): imgdir = basedir + '/public_html/static/bilder/' imgpath=i.imgfile.filename.replace('\\','/') # replaces the windows-style slashes with linux ones. #filename=filepath.split('/')[-1] # splits the and chooses the last part (the filename with extension) - imghash = hashlib.md5(str(random.getrandbits(256)).encode('utf-8')).hexdigest() - imgname = imghash + '.jpeg' + #imgname = str(len(os.listdir(imgdir))).zfill(3) + '.jpeg' fout = open(imgdir +'/'+ imgname,'wb') # creates the file where the uploaded file should be stored fout.write(i.imgfile.file.read()) # writes the uploaded file to the newly created file. @@ -829,8 +883,8 @@ class upload(): image.save(imgdir + '/web/' + imgname) image.thumbnail((300,300), Image.ANTIALIAS) image.save(imgdir + '/thumb/' + imgname) - - db.insert('bilder', filename=imghash, uploaddate=datetime.datetime.now(), uppladdare=session.user, lastmod=datetime.datetime.now(), moddedby=session.user) + if i.edit != None: + db.insert('bilder', filename=imghash, uploaddate=datetime.datetime.now(), uppladdare=session.user, lastmod=datetime.datetime.now(), moddedby=session.user) raise web.seeother('/bildinfo/' + imghash) else: return render.upload() @@ -858,6 +912,7 @@ class bildinfo(): oldinfo = oldinfo[0] allaversioner = db.select('allaversioner', where="filename='" + imghash +"'", what='id, moddedby, lastmod', order='id DESC') infoform.fill(titel=oldinfo.titel, year=oldinfo.year, fotograf=oldinfo.fotograf, plats=oldinfo.plats, beskrivning=oldinfo.beskrivning, personer=oldinfo.personer) + return render.bildinfo(infoform, imghash, oldinfo.moddedby, oldinfo.lastmod, allaversioner) else: session.backurl = '/bildinfo/' + imghash @@ -956,7 +1011,11 @@ class logout(): class index(): def GET(self): upcomingevents = getkalender() - return render2.index(upcomingevents) + if session.login > 1: + displayname = db.query("SELECT displayname FROM bildadmin WHERE name='"+session.user+"';")[0] + else: + displayname = '' + return render2.index(upcomingevents, displayname) class old(): def GET(self): @@ -969,14 +1028,26 @@ class nope(): return render.nope() class protokoll(): + form = web.form.Form( + web.form.Textarea('protokoll', web.form.notnull, description=""), + web.form.Button('spara')) def GET(self): if session.login == 5: - webdata = web.input(year=None, nr=0) + protokoll_edit = self.form() + webdata = web.input(year=None, nr=0, cp=None, rm=None, pdf=None) view = '' years = os.listdir(basedir + '/protokoll/') years.sort() if webdata.year: protokoll = getprotokoll(webdata.year) + if webdata.cp == "protokoll": + print('copy protokoll') + os.system("cp "+basedir + '/protokoll/' + webdata.year + '/' + protokoll[int(webdata.nr)] +' '+basedir+'/protokoll/'+webdata.year+'/0'+str(len(protokoll))+'.md') + protokoll = getprotokoll(webdata.year) + if webdata.rm == "protokoll": + print('remove protokoll') + os.system("rm "+basedir + '/protokoll/' + webdata.year + '/' + protokoll[int(webdata.nr)]) + raise web.seeother('/protokoll?year='+webdata.year) else: protokoll = [] if len(protokoll) > 0: @@ -985,11 +1056,37 @@ class protokoll(): #make pdf from markdown viewfile = subprocess.check_output(pandoc_html) view = viewfile.decode() - pandoc_pdf = ['pandoc', '--verbose', basedir + '/protokoll/' + webdata.year + '/' + protokoll[int(webdata.nr)], '-f', 'markdown', '-V', 'papersize:a4', '-V', 'geometry:margin=0.8in','-s', '-o', basedir + '/public_html/static/pdf/uf-protokoll.pdf'] - subprocess.Popen(pandoc_pdf, cwd=basedir + '/public_html/static/pdf/') - return render3.protokoll(webdata.year, years, protokoll, view) + if webdata.pdf == "protokoll": + pandoc_pdf = ['pandoc', '--verbose', basedir + '/protokoll/' + webdata.year + '/' + protokoll[int(webdata.nr)], '-f', 'markdown', '-V', 'papersize:a4', '-V', 'geometry:margin=0.8in','-s', '-o', basedir + '/public_html/static/pdf/uf-protokoll.pdf'] + subprocess.Popen(pandoc_pdf, cwd=basedir + '/public_html/static/pdf/') + randhash = hashlib.md5(str(random.getrandbits(256)).encode('utf-8')).hexdigest() + raise web.seeother('/static/pdf/uf-protokoll.pdf?nocache='+randhash) + #read protokoll + read_p=basedir + '/protokoll/' + webdata.year + '/' + protokoll[int(webdata.nr)] + with open(read_p, 'rU') as file: + p_list=file.readlines() + pr='' + for p in p_list: + pr=pr+p + protokoll_edit.fill(protokoll=pr) + return render3.protokoll(webdata.year, years, protokoll, view, protokoll_edit, webdata.nr) else: raise web.seeother('/login') + def POST(self): + if session.login == 5: + i = web.input(year=None, nr=0, cp=None) + protokoll = [] + if i.year != None: + protokoll = getprotokoll(i.year) + write_p=basedir + '/protokoll/' + i.year + '/' + protokoll[int(i.nr)] + if i.protokoll: + with open(write_p, 'w') as file: + file.write(i.protokoll) + print('ADDDDDDDDDDDDDING TO database post ' + i.protokoll) + raise web.seeother('/protokoll?year='+i.year+'&nr='+i.nr) + else: + raise web.seeother('/login') + class protokollredirect(): def GET(self):