Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

58 linhas
1.3 KiB

  1. # Copyright 2013 Web Notes Technologies Pvt Ltd
  2. # License: MIT. See license.txt
  3. from __future__ import unicode_literals
  4. import webnotes
  5. from webnotes.widgets import reportview
  6. @webnotes.whitelist()
  7. def get():
  8. try:
  9. from startup.open_count import for_doctype, for_module
  10. except ImportError, e:
  11. return {}
  12. can_read = webnotes.user.get_can_read()
  13. open_count_doctype = {}
  14. open_count_module = {}
  15. for d in for_doctype:
  16. if d in can_read:
  17. condition = for_doctype[d]
  18. key = condition.keys()[0]
  19. result = reportview.execute(d, fields=["count(*)"],
  20. filters=[[d, key, "=", condition[key]]], as_list=True)[0][0]
  21. if result:
  22. open_count_doctype[d] = result
  23. for m in for_module:
  24. open_count_module[m] = for_module[m]()
  25. return {
  26. "open_count_doctype": open_count_doctype,
  27. "open_count_module": open_count_module
  28. }
  29. def get_notification_info_for_boot():
  30. out = get()
  31. from startup.open_count import for_doctype
  32. can_read = webnotes.user.get_can_read()
  33. conditions = {}
  34. module_doctypes = {}
  35. doctype_info = dict(webnotes.conn.sql("""select name, module from tabDocType"""))
  36. for d in for_doctype:
  37. if d in can_read:
  38. conditions[d] = for_doctype[d]
  39. module_doctypes.setdefault(doctype_info[d], []).append(d)
  40. out.update({
  41. "conditions": conditions,
  42. "module_doctypes": module_doctypes,
  43. })
  44. return out