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

72 行
1.8 KiB

  1. # Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
  2. # MIT License. See license.txt
  3. from __future__ import unicode_literals
  4. import frappe
  5. from frappe.website.render import clear_cache
  6. @frappe.whitelist()
  7. def get_children(parent=None):
  8. if not frappe.has_permission("Website Sitemap"):
  9. raise frappe.PermissionError
  10. if parent=="Sitemap":
  11. parent = ""
  12. return frappe.conn.sql("""select name as value, 1 as expandable from `tabWebsite Sitemap` where
  13. ifnull(parent_website_sitemap, '')=%s order by -idx desc""", parent, as_dict=True)
  14. @frappe.whitelist()
  15. def move(name, up_or_down):
  16. ret = None
  17. if not frappe.has_permission("Website Sitemap"):
  18. raise frappe.PermissionError
  19. sitemap = frappe.doc("Website Sitemap", name)
  20. if up_or_down=="up":
  21. if sitemap.idx > 0:
  22. prev = frappe.doc("Website Sitemap", {
  23. "parent_website_sitemap": sitemap.parent_website_sitemap,
  24. "idx": sitemap.idx - 1
  25. })
  26. if prev.name:
  27. prev.idx = prev.idx + 1
  28. prev.save()
  29. sitemap.idx = sitemap.idx - 1
  30. sitemap.save()
  31. ret = "ok"
  32. else:
  33. nexts = frappe.doc("Website Sitemap", {
  34. "parent_website_sitemap": sitemap.parent_website_sitemap,
  35. "idx": sitemap.idx + 1
  36. })
  37. if nexts.name:
  38. nexts.idx = nexts.idx - 1
  39. nexts.save()
  40. sitemap.idx = sitemap.idx + 1
  41. sitemap.save()
  42. ret = "ok"
  43. clear_cache()
  44. @frappe.whitelist()
  45. def update_parent(name, new_parent):
  46. if not frappe.has_permission("Website Sitemap"):
  47. raise frappe.PermissionError
  48. sitemap = frappe.doc("Website Sitemap", name)
  49. if sitemap.ref_doctype:
  50. generator = frappe.bean(sitemap.ref_doctype, sitemap.docname)
  51. if not generator.meta.has_field("parent_website_sitemap"):
  52. frappe.throw("Does not allow moving.")
  53. generator.doc.parent_website_sitemap = new_parent
  54. generator.save()
  55. else:
  56. frappe.msgprint("Template Pages cannot be moved.")
  57. clear_cache()