- redir_params += [('search', postvars['search'][0])]
- if 'choose_task' in postvars.keys():
- for i, uuid in enumerate(postvars['choose_task']):
- if not uuid in db.selected_day.todos.keys():
- # task = db.tasks[uuid]
- db.update_todo_mini(uuid, db.selected_date, None, False, 1.0)
- if 'choose_todo' in postvars.keys():
- for i, id_ in enumerate(postvars['choose_todo']):
- if not id_ in [todo.id_ for todo in db.selected_day.linked_todos_as_list]:
- db.link_day_with_todo(db.selected_date, id_)
+ if 'filter' in postvars.keys():
+ redir_params += [('search', postvars['search'][0])]
+ redir_params += [('hide_chosen_tasks', int('hide_chosen_tasks' in postvars.keys()))]
+ else:
+ db.selected_date = postvars['date'][0]
+ todos_to_shrink = []
+ todos_to_delete = []
+ for todo in db.selected_day.linked_todos_as_list:
+ if todo.visible and not ('chosen_todo' in postvars.keys() and todo.id_ in postvars['chosen_todo']):
+ if len(todo.comment) > 0 or len(todo.day_tags) > 0 or not todo.is_effort_removable(db.selected_date):
+ # print("DEBUG", len(todo.comment) > 0, len(todo.day_tags) > 0, todo.is_effort_removable(db.selected_date))
+ raise PlomException('will not remove effort of preserve-worthy values')
+ if len(todo.efforts) > 1:
+ todos_to_shrink += [todo]
+ # db.delete_effort(todo, db.selected_date)
+ else:
+ todos_to_delete += [todo]
+ # db.delete_todo(todo.id_)
+ for todo in todos_to_shrink:
+ db.delete_effort(todo, db.selected_date)
+ for todo in todos_to_delete:
+ db.delete_todo(todo.id_)
+ if 'choose_task' in postvars.keys():
+ for id_ in postvars['choose_task']:
+ db.add_todo(task=db.tasks[id_], efforts={db.selected_date: None})
+ if 'choose_todo' in postvars.keys():
+ for id_ in postvars['choose_todo']:
+ todo = db.todos[id_]
+ todo.efforts[db.selected_date] = None
+
+ # if 'choose_task' in postvars.keys():
+ # for i, uuid in enumerate(postvars['choose_task']):
+ # if not uuid in db.selected_day.todos.keys():
+ # # task = db.tasks[uuid]
+ # db.update_todo_mini(uuid, db.selected_date, None, False, 1.0)
+ # if 'choose_todo' in postvars.keys():
+ # for i, id_ in enumerate(postvars['choose_todo']):
+ # if not id_ in [todo.id_ for todo in db.selected_day.linked_todos_as_list]:
+ # db.link_day_with_todo(db.selected_date, id_)