Merge branch 'master' of git.hjp.at:hjp/meeat

This commit is contained in:
Peter J. Holzer 2022-11-07 21:43:25 +01:00
commit 41d545d191
4 changed files with 31 additions and 10 deletions

23
app.py
View File

@ -27,7 +27,7 @@ def home():
log.debug("in home")
log.debug("session = %s", session)
if "user" not in session:
return redirect(url_for('register'))
return redirect(url_for("register", target="/"))
return render_template("home.html")
@app.route("/register", methods=["GET", "POST"])
@ -54,7 +54,12 @@ def register():
csr.execute(
"insert into bod(email, key, keychange) values(%s, %s, now())",
(email_address, key,))
confirmation_url = url_for("confirm",
log.debug("request.scheme = %s", request.scheme)
log.debug("request.server = %s", request.server)
log.debug("request.root_url = %s", request.root_url)
confirmation_url = \
request.root_url + \
url_for("confirm",
target=request.form["target"],
key=key)
send_mail(email_address, confirmation_url)
@ -73,6 +78,8 @@ def confirm():
@app.route("/vote/<string:key>")
def vote(key):
log.debug("session = %s", session)
if "user" not in session:
return redirect(url_for("register", target=request.url))
csr = get_cursor()
csr.execute("select * from meet where key = %s", (key,))
meet = csr.fetchone()
@ -126,7 +133,9 @@ def vote_date():
abort(400)
meet_id = r[0].meet
csr.execute("delete from date_vote where date = any (%s)", (date_ids,))
csr.execute(
"delete from date_vote where date = any (%s) and bod = %s",
(date_ids, session["user"]["id"]))
for pos, date_id in enumerate(date_ids):
csr.execute(
"insert into date_vote(date, bod, position) values(%s, %s, %s)",
@ -160,7 +169,9 @@ def vote_time():
abort(400)
meet_id = r[0].meet
csr.execute("delete from time_vote where time = any (%s)", (time_ids,))
csr.execute(
"delete from time_vote where time = any (%s) and bod = %s",
(time_ids, session["user"]["id"]))
for pos, time_id in enumerate(time_ids):
csr.execute(
"insert into time_vote(time, bod, position) values(%s, %s, %s)",
@ -194,7 +205,9 @@ def vote_place():
abort(400)
meet_id = r[0].meet
csr.execute("delete from place_vote where place = any (%s)", (place_ids,))
csr.execute(
"delete from place_vote where place = any (%s) and bod = %s",
(place_ids, session["user"]["id"]))
for pos, place_id in enumerate(place_ids):
csr.execute(
"insert into place_vote(place, bod, position) values(%s, %s, %s)",

View File

@ -1,4 +1,5 @@
flask
procrusql
procrusql >= 0.0.10
psycopg
psycopg2
gunicorn

View File

@ -12,6 +12,10 @@ body {
border-radius: 0.2em;
}
.blue-background-class {
background: #CDF;
}
body {
display: grid;
}

View File

@ -53,7 +53,7 @@
</div>
</body>
<script>
htmx.onLoad(function(content) {
function activateSortables(element) {
var sortables = document.querySelectorAll(".sortable");
for (const sortable of sortables) {
console.debug("making", sortable, "sortable")
@ -62,7 +62,10 @@
ghostClass: 'blue-background-class'
});
}
})
}
activateSortables(document)
//htmx.onLoad(function(content) { activateSortables(content) }
</script>
</html>