Taches personnelles OK - partie Done à gérer

This commit is contained in:
Justine Pelletreau 2022-11-18 17:24:56 +01:00
parent df14d389b1
commit 8531c141d7
5 changed files with 65 additions and 17 deletions

View File

@ -15,6 +15,7 @@ from random import choice
app = Flask(__name__)
mktaskdir()
#Homepage, GET : getting the page. Maybe getting it with arguments generated by a button on the page, in which case we take it into account
@app.route('/', methods=['GET'])
def render():
@ -31,13 +32,13 @@ def render():
#...or using their preferred theme if do have one
else:
csslink = request.cookies.get('csslink')
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
#Delete has been clicked
if request.args.get("delete") is not None:
todelete = request.args.get("delete")
deltask(int(todelete))
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
#Edit has been clicked
elif request.args.get("edit") is not None:
@ -70,9 +71,9 @@ def render():
mytask = switchstatus(mytask)
deltask(toswitch)
addtask(mytask)
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
else:
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
resp = make_response(render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink))
return resp
@ -88,17 +89,22 @@ def homepage():
try:
tasktitle = request.form['title']
tasktext = request.form['text']
print("PING")
priority = request.form['priority']
if "personnal" in request.form.keys():
personnal = True
else:
personnal = False
print(f"Got new task with prio {priority}")
rightnow = int(time.time())
newtask = task(createtime=rightnow, modtime=rightnow, title=tasktitle, text=tasktext, done=False, priority=int(priority))
newtask = task(createtime=rightnow, modtime=rightnow, title=tasktitle, text=tasktext, done=False, priority=int(priority), personnal=False)
addtask(newtask)
except:
except Exception as E:
print(f"!!!!!!!!!! {E} - {request.form}")
pass
return render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)
return render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)
#Export mode
@ -126,7 +132,13 @@ def edit():
todoselected = "selected"
doneselected = ""
return render_template("edit.html", tasknumber=tasknumber, ntitle=mytask.title, ntext=mytask.text, csslink = csslink, priority=mytask.priority, taskdonemark=mytask.donemark, todoselected=todoselected, doneselected=doneselected)
#Is it personnal ?
if mytask.personnal:
pers_checked = "checked"
else:
pers_checked = ""
return render_template("edit.html", tasknumber=tasknumber, ntitle=mytask.title, ntext=mytask.text, csslink = csslink, priority=mytask.priority, taskdonemark=mytask.donemark, todoselected=todoselected, doneselected=doneselected, pers_checked=pers_checked)
#Handling post
if request.method == "POST":
@ -141,11 +153,15 @@ def edit():
taskdone = True
else:
taskdone = False
if "personnal" in request.form.keys():
personnal = True
else:
personnal = False
deltask(tasknumber)
rightnow = int(time.time())
newtask = task(createtime=tasknumber, modtime=rightnow, title=tasktitle, text=tasktext, done=taskdone, priority=taskpriority)
newtask = task(createtime=tasknumber, modtime=rightnow, title=tasktitle, text=tasktext, done=taskdone, priority=taskpriority, personnal = personnal)
addtask(newtask)
return render_template("homepage.html", ntodo = todotasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)
return render_template("homepage.html", ntodo = todotasks(gettasks()), npers = personnaltasks(gettasks()), ndone = donetasks(gettasks()), csslink = csslink)

View File

@ -7,7 +7,7 @@
#CLASS
class task:
def __init__(self, createtime: int, modtime: int, title: str, text: str, done: bool, priority: int):
def __init__(self, createtime: int, modtime: int, title: str, text: str, done: bool, priority: int, personnal: bool = False):
"""
createtime, modtime : epoch time of task writing / modfying
title and text are str
@ -17,9 +17,13 @@ class task:
self.title = title
self.text = text
self.priority = priority
self.personnal = personnal
if done:
self.donemark = ""
else:
if personnal:
self.donemark = "🔒"
else:
self.donemark = "⚠️"

View File

@ -146,6 +146,22 @@ def todotasks(tasklist):
return finalstr
def personnaltasks(tasklist):
"""
Sorts tasks in tasklist: Gives todotasks sorted by priority
"""
buffer = []
finalstr = ""
for task in tasklist:
if task.donemark == "🔒":
buffer.append(task)
tasks = sorted(buffer, key=lambda task: task.priority, reverse=True)
for task in tasks:
finalstr += task.flaskrender()
return finalstr
def donetasks(tasklist):
"""
Sorts tasks in tasklist: Gives done tasks sorted by modtime
@ -165,7 +181,7 @@ def donetasks(tasklist):
def convertemoji():
tasks = gettasks()
for task in tasks:
if task.donemark not in ["⚠️", ""]:
if task.donemark not in ["⚠️", "", "🔒"]:
task.donemark = "⚠️"
dumptasks(tasks)

View File

@ -20,6 +20,8 @@
<option value="⚠️" {{ todoselected }}>⚠️</option>
<option value="✅" {{ doneselected }}></option>
</select>
<label for="personnal">Private</label>
<input type="checkbox" name="personnal" id="personnal" {{ pers_checked }}><br>
<button type="submit" name="submit">OK</button>
<div class="tasktime">Note : you can drag the textbox to make it bigger.</div>
</form>

View File

@ -15,13 +15,23 @@
<input type="text" name="title" class="title" placeholder="Title"><br>
<textarea type="text" name="text" rows = "5" cols = "60*" class="text" placeholder="Text"></textarea><br>
<label for="priority">Priority</label>
<input type="number" name="priority" class="priorityinput" id="priority" min="0" max="10" value="5"><br>
<input type="number" name="priority" class="priorityinput" id="priority" min="0" max="10" value="5">
<label for="personnal">Private</label><input type="checkbox" name="personnal" id="personnal"><br>
<button type="submit" name="submit">Post</button>
<div class="tasktime">Note : you can drag the textbox to make it bigger. Scroll down to see your previous tasks.</div>
</form>
<br>
<hr>
<h2 class="separator">Todo</h2>
<h2 class="separator">Private</h2>
<hr>
<details>
<summary>Click to expand.</summary>
<p>
{{ npers }}
</p>
</details>
<hr>
<h2 class="separator">Work</h2>
<hr>
<div class="globalcontainer">
{{ ntodo }}