Taches personnelles OK - partie Done à gérer
This commit is contained in:
parent
df14d389b1
commit
8531c141d7
38
src/app.py
38
src/app.py
@ -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)
|
||||
|
||||
|
||||
|
||||
|
@ -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,11 +17,15 @@ class task:
|
||||
self.title = title
|
||||
self.text = text
|
||||
self.priority = priority
|
||||
self.personnal = personnal
|
||||
|
||||
if done:
|
||||
self.donemark = "✅"
|
||||
else:
|
||||
self.donemark = "⚠️"
|
||||
else:
|
||||
if personnal:
|
||||
self.donemark = "🔒"
|
||||
else:
|
||||
self.donemark = "⚠️"
|
||||
|
||||
def rendertime(self, pretimestamp: int):
|
||||
"""
|
||||
|
18
src/funcs.py
18
src/funcs.py
@ -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)
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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 }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user