mirror of
https://expo.survex.com/repositories/troggle/.git
synced 2024-11-21 23:01:52 +00:00
make default date sensible for LBEs
This commit is contained in:
parent
7dbaea5d24
commit
517d27458c
@ -1,5 +1,5 @@
|
||||
import subprocess
|
||||
from datetime import datetime, timezone
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from pathlib import Path
|
||||
|
||||
from django import forms
|
||||
@ -246,13 +246,11 @@ def logbookedit(request, year=None, slug=None):
|
||||
putting the text of the form prompt in red (same as for an invalid date, which is arguably more important).
|
||||
No check is done on the other people on the trip as this is picked up anyway by parsing on import
|
||||
and we don't really care at this point.
|
||||
|
||||
If the author name is mispelled, noticed, and changed, then two logbook entries are created
|
||||
with sequential slugs ...b ...c etc. This is because we are doing validation on GET not on POST
|
||||
and we are not rewriting the URL when a slug gets set. Hmm.
|
||||
|
||||
Normal use of this form is producing duplicate logbook entries.. why ?!
|
||||
"""
|
||||
def yesterday():
|
||||
yesterday = datetime.now() - timedelta(1)
|
||||
return yesterday.strftime('%Y-%m-%d')
|
||||
|
||||
def validate_year(year):
|
||||
try:
|
||||
expo = Expedition.objects.get(year=year)
|
||||
@ -261,12 +259,16 @@ def logbookedit(request, year=None, slug=None):
|
||||
return year
|
||||
|
||||
def new_entry_form():
|
||||
# set the date to be "yesterday" as this will, hopefully, usually be the case
|
||||
|
||||
return render(
|
||||
request,
|
||||
"logbookform.html",
|
||||
{
|
||||
"form": form,
|
||||
"year": year,
|
||||
"yesterday": yesterday(),
|
||||
|
||||
},
|
||||
)
|
||||
def clean_tu(tu):
|
||||
@ -474,6 +476,7 @@ def logbookedit(request, year=None, slug=None):
|
||||
|
||||
# HOWEVER by doing a redirect rather than returning a rendered page, we lose all the
|
||||
# error settings e.g dateflag and authroflag so the user gets no feedback about bad data entered.
|
||||
# so we need to pass the flags explicitly int he url and then extract them from the request in the GET bit. sigh.
|
||||
return HttpResponseRedirect(f"/logbookedit/{slug}?dateflag={dateflag}&authorflag={authorflag}")
|
||||
|
||||
# return render(
|
||||
|
@ -32,11 +32,16 @@
|
||||
<input name="prev_slug" id="prev_slug" value="{{slug}}" type=hidden>
|
||||
|
||||
<span {% if dateflag %}style="color:red"{% endif %}>
|
||||
<span {% if yesterday%}style="color:blue"{% endif %}>
|
||||
<label for="date">Date of the activity{% if dateflag %} (cannot change year on an existing entry){% endif %}</label>
|
||||
<input {% if not user.username %} disabled{% endif %}
|
||||
{% if dateflag %}style="color:red"{% endif %}
|
||||
{% if yesterday%}style="color:blue"{% endif %}
|
||||
label = "Date" name = "date" size="12"
|
||||
title="Date of the activity, a single day, in ISO format: 2020-08-17"
|
||||
{% if date %}value="{{date}}"{% else %}placeholder="2023-08-12"{% endif %}
|
||||
{% if date %}value="{{date}}"{% else %}
|
||||
{% if yesterday %} value="{{yesterday}}"{% else %}
|
||||
placeholder="2025-08-12"{% endif %}{% endif %}
|
||||
required />
|
||||
</span>
|
||||
|
||||
@ -44,6 +49,7 @@
|
||||
<span {% if authorflag %}style="color:red"{% endif %}>
|
||||
<label for="author">Your name (author) <a href="/aliases/{{year}}">[valid authors]</a></label>
|
||||
<input {% if not user.username %} disabled{% endif %}
|
||||
{% if authorflag %}style="color:red"{% endif %}
|
||||
label = "author" name = "author" size="20"
|
||||
title="The person writing the logbook entry"
|
||||
{% if author %}value="{{author}}"{% else %}placeholder="Animal"{% endif %}
|
||||
|
Loading…
Reference in New Issue
Block a user