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

97 行
2.9 KiB

  1. app_name = "frappe"
  2. app_title = "Frappe Framework"
  3. app_publisher = "Web Notes Technologies Pvt. Ltd."
  4. app_description = "Full Stack Web Application Framework in Python"
  5. app_icon = "assets/frappe/images/frappe.svg"
  6. app_version = "5.0.0-alpha"
  7. app_color = "#3498db"
  8. app_email = "support@frappe.io"
  9. before_install = "frappe.utils.install.before_install"
  10. after_install = "frappe.utils.install.after_install"
  11. # website
  12. app_include_js = [
  13. "assets/js/desk.min.js",
  14. "assets/js/editor.min.js",
  15. ]
  16. app_include_css = [
  17. "assets/css/desk.min.css"
  18. ]
  19. web_include_js = [
  20. "assets/js/frappe-web.min.js",
  21. "website_script.js"
  22. ]
  23. web_include_css = [
  24. "assets/css/frappe-web.css",
  25. "style_settings.css"
  26. ]
  27. write_file_keys = ["file_url", "file_name"]
  28. notification_config = "frappe.core.notifications.get_notification_config"
  29. before_tests = "frappe.utils.install.before_tests"
  30. website_generators = ["Web Page", "Blog Post", "Blog Category", "Web Form"]
  31. # login
  32. on_session_creation = "frappe.desk.doctype.feed.feed.login_feed"
  33. # permissions
  34. permission_query_conditions = {
  35. "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions",
  36. "ToDo": "frappe.desk.doctype.todo.todo.get_permission_query_conditions",
  37. "User": "frappe.core.doctype.user.user.get_permission_query_conditions",
  38. "Feed": "frappe.desk.doctype.feed.feed.get_permission_query_conditions",
  39. "Note": "frappe.desk.doctype.note.note.get_permission_query_conditions"
  40. }
  41. has_permission = {
  42. "Event": "frappe.desk.doctype.event.event.has_permission",
  43. "ToDo": "frappe.desk.doctype.todo.todo.has_permission",
  44. "User": "frappe.core.doctype.user.user.has_permission",
  45. "Feed": "frappe.desk.doctype.feed.feed.has_permission",
  46. "Note": "frappe.desk.doctype.note.note.has_permission"
  47. }
  48. doc_events = {
  49. "*": {
  50. "after_insert": "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
  51. "validate": "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
  52. "on_update": [
  53. "frappe.desk.notifications.clear_doctype_notifications",
  54. "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
  55. "frappe.desk.doctype.feed.feed.update_feed"
  56. ],
  57. "after_rename": "frappe.desk.notifications.clear_doctype_notifications",
  58. "on_submit": [
  59. "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts",
  60. "frappe.desk.doctype.feed.feed.update_feed"
  61. ],
  62. "on_cancel": [
  63. "frappe.desk.notifications.clear_doctype_notifications",
  64. "frappe.email.doctype.email_alert.email_alert.trigger_email_alerts"
  65. ],
  66. "on_trash": "frappe.desk.notifications.clear_doctype_notifications"
  67. }
  68. }
  69. scheduler_events = {
  70. "all": [
  71. "frappe.email.bulk.flush",
  72. "frappe.email.doctype.email_account.email_account.pull"
  73. ],
  74. "daily": [
  75. "frappe.email.bulk.clear_outbox",
  76. "frappe.desk.notifications.clear_notifications",
  77. "frappe.desk.doctype.event.event.send_event_digest",
  78. "frappe.sessions.clear_expired_sessions",
  79. "frappe.email.doctype.email_alert.email_alert.trigger_daily_alerts",
  80. ]
  81. }