您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

51 行
1.5 KiB

  1. # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
  2. # MIT License. See license.txt
  3. from __future__ import unicode_literals
  4. import webnotes
  5. from webnotes.model.doc import Document
  6. @webnotes.whitelist()
  7. def get(arg=None):
  8. """get todo list"""
  9. return webnotes.conn.sql("""select name, owner, description, date,
  10. priority, checked, reference_type, reference_name, assigned_by
  11. from `tabToDo` where (owner=%s or assigned_by=%s)
  12. order by field(priority, 'High', 'Medium', 'Low') asc, date asc""",
  13. (webnotes.session['user'], webnotes.session['user']), as_dict=1)
  14. @webnotes.whitelist()
  15. def edit(arg=None):
  16. import markdown2
  17. args = webnotes.local.form_dict
  18. d = Document('ToDo', args.get('name') or None)
  19. d.description = args['description']
  20. d.date = args['date']
  21. d.priority = args['priority']
  22. d.checked = args.get('checked', 0)
  23. if not d.owner: d.owner = webnotes.session['user']
  24. d.save(not args.get('name') and 1 or 0)
  25. if args.get('name') and d.checked:
  26. notify_assignment(d)
  27. return d.name
  28. @webnotes.whitelist()
  29. def delete(arg=None):
  30. name = webnotes.form_dict['name']
  31. d = Document('ToDo', name)
  32. if d and d.name and d.owner != webnotes.session['user']:
  33. notify_assignment(d)
  34. webnotes.conn.sql("delete from `tabToDo` where name = %s", name)
  35. def notify_assignment(d):
  36. doc_type = d.reference_type
  37. doc_name = d.reference_name
  38. assigned_by = d.assigned_by
  39. if doc_type and doc_name and assigned_by:
  40. from webnotes.widgets.form import assign_to
  41. assign_to.notify_assignment(assigned_by, d.owner, doc_type, doc_name)