home · contact · privacy
Add Todo.comment display/posting in Todo view.
authorChristian Heller <c.heller@plomlompom.de>
Wed, 15 May 2024 06:51:00 +0000 (08:51 +0200)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 15 May 2024 06:51:00 +0000 (08:51 +0200)
plomtask/http.py
templates/todo.html
tests/todos.py

index 15f83766b4b511e137b665456e2044305d5ce0e9..2ecfcaa3734325951bad368d91e7aaeaafb836fe 100644 (file)
@@ -248,6 +248,7 @@ class TaskHandler(BaseHTTPRequestHandler):
         todo.set_enables(self.conn, self.form_data.get_all_int('enables'))
         todo.set_disables(self.conn, self.form_data.get_all_int('disables'))
         todo.is_done = len(self.form_data.get_all_str('done')) > 0
+        todo.comment = self.form_data.get_str('comment')
         todo.save(self.conn)
         for condition in todo.enables:
             condition.save(self.conn)
index 41a9eb1c876bafb1d2b4f485653b80a5445a947e..f50b635d2647879a66c602721481e68988a64bdc 100644 (file)
@@ -8,6 +8,7 @@ id: {{todo.id_}}<br />
 day: <a href="day?date={{todo.date}}">{{todo.date}}</a><br />
 process: <a href="process?id={{todo.process.id_}}">{{todo.process.title.newest|e}}</a><br />
 done: <input type="checkbox" name="done" {% if todo.is_done %}checked {% endif %} {% if not todo.is_doable %}disabled {% endif %}/><br /> 
+comment: <input name="comment" value="{{todo.comment|e}}"/>
 </p>
 <h4>conditions</h4>
 <table>
index 419d3dba122cb274110e30a6697cb5f40f8849d2..3158ecb3abe5a7457245ec4fdf554095edd0389c 100644 (file)
@@ -272,15 +272,15 @@ class TestsWithServer(TestCaseWithServer):
         self.check_post({}, '/todo?id=FOO', 400)
         self.check_post({}, '/todo?id=0', 404)
         # test posting naked entity
-        todo1 = post_and_reload({})
+        todo1 = post_and_reload({'comment': ''})
         self.assertEqual(todo1.children, [])
         self.assertEqual(todo1.parents, [])
         self.assertEqual(todo1.is_done, False)
         # test posting doneness
-        todo1 = post_and_reload({'done': ''})
+        todo1 = post_and_reload({'done': '', 'comment': ''})
         self.assertEqual(todo1.is_done, True)
         # test implicitly posting non-doneness
-        todo1 = post_and_reload({})
+        todo1 = post_and_reload({'comment': ''})
         self.assertEqual(todo1.is_done, False)
         # test malformed adoptions
         self.check_post({'adopt': 'foo'}, '/todo?id=1', 400)
@@ -290,17 +290,17 @@ class TestsWithServer(TestCaseWithServer):
         self.check_post({'day_comment': '', 'new_todo': 1},
                         '/day?date=2024-01-01', 302)
         # test todo 1 adopting todo 2
-        todo1 = post_and_reload({'adopt': 2})
+        todo1 = post_and_reload({'adopt': 2, 'comment': ''})
         todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1]
         self.assertEqual(todo1.children, [todo2])
         self.assertEqual(todo1.parents, [])
         self.assertEqual(todo2.children, [])
         self.assertEqual(todo2.parents, [todo1])
         # test todo1 cannot be set done with todo2 not done yet
-        todo1 = post_and_reload({'done': '', 'adopt': 2}, 400)
+        todo1 = post_and_reload({'done': '', 'adopt': 2, 'comment': ''}, 400)
         self.assertEqual(todo1.is_done, False)
         # test todo1 un-adopting todo 2 by just not sending an adopt
-        todo1 = post_and_reload({}, 302)
+        todo1 = post_and_reload({'comment': ''}, 302)
         todo2 = Todo.by_date(self.db_conn, '2024-01-01')[1]
         self.assertEqual(todo1.children, [])
         self.assertEqual(todo1.parents, [])