fixed routing of templates.genertors

This commit is contained in:
Rushabh Mehta 2014-06-19 16:11:17 +05:30
parent 5655e06448
commit 85e4a031ed
5 changed files with 46 additions and 46 deletions

View file

@ -55,10 +55,10 @@ doc_events = {
"on_trash": "frappe.core.doctype.notification_count.notification_count.clear_doctype_notifications"
},
"User Vote": {
"after_insert": "frappe.templates.generators.website_group.clear_cache_on_doc_event"
"after_insert": "frappe.website.doctype.website_group.website_group.clear_cache_on_doc_event"
},
"Website Route Permission": {
"on_update": "frappe.templates.generators.website_group.clear_cache_on_doc_event"
"on_update": "frappe.website.doctype.website_group.website_group.clear_cache_on_doc_event"
}
}
@ -71,6 +71,6 @@ scheduler_events = {
"frappe.sessions.clear_expired_sessions",
],
"hourly": [
"frappe.templates.generators.website_group.clear_event_cache"
"frappe.website.doctype.website_group.website_group.clear_event_cache"
]
}

View file

@ -8,58 +8,58 @@ from frappe.website.permissions import get_access
@frappe.whitelist(allow_guest=True)
def get_post_list_html(group, view, limit_start=0, limit_length=20):
from frappe.templates.generators.website_group import get_views
from frappe.website.doctype.website_group.website_group import get_views
# verify permission for paging
if frappe.local.form_dict.cmd == "get_post_list_html":
pathname = frappe.db.get_value("Website Route",
pathname = frappe.db.get_value("Website Route",
{"ref_doctype": "Website Group", "docname": group})
access = get_access(pathname)
if not access.get("read"):
return frappe.PermissionError
conditions = ""
values = [group]
group_type = frappe.db.get_value("Website Group", group, "group_type")
if group_type == "Events":
# should show based on time upto precision of hour
# because the current hour should also be in upcoming
values.append(now_datetime().replace(minute=0, second=0, microsecond=0))
if view in ("feed", "closed"):
order_by = "p.creation desc"
if view == "closed":
conditions += " and p.is_task=1 and p.status='Closed'"
elif view in ("popular", "open"):
now = get_datetime_str(now_datetime())
order_by = """(p.upvotes + post_reply_count - (timestampdiff(hour, p.creation, \"{}\") / 2)) desc,
order_by = """(p.upvotes + post_reply_count - (timestampdiff(hour, p.creation, \"{}\") / 2)) desc,
p.creation desc""".format(now)
if view == "open":
conditions += " and p.is_task=1 and p.status='Open'"
elif view == "upcoming":
conditions += " and p.is_event=1 and p.event_datetime >= %s"
order_by = "p.event_datetime asc"
elif view == "past":
conditions += " and p.is_event=1 and p.event_datetime < %s"
order_by = "p.event_datetime desc"
values += [int(limit_start), int(limit_length)]
posts = frappe.db.sql("""select p.*, pr.user_image, pr.first_name, pr.last_name,
(select count(pc.name) from `tabPost` pc where pc.parent_post=p.name) as post_reply_count
from `tabPost` p, `tabUser` pr
where p.website_group = %s and pr.name = p.owner and ifnull(p.parent_post, '')=''
where p.website_group = %s and pr.name = p.owner and ifnull(p.parent_post, '')=''
{conditions} order by {order_by} limit %s, %s""".format(conditions=conditions, order_by=order_by),
tuple(values), as_dict=True, debug=True)
context = { "posts": posts, "limit_start": limit_start, "view": get_views(group_type)[view] }
return frappe.get_template("templates/includes/post_list.html").render(context)

View file

@ -7,7 +7,7 @@ from frappe import _
from frappe.utils import get_fullname
from frappe.website.permissions import get_access
from frappe.utils.file_manager import save_file
from frappe.templates.generators.website_group import get_pathname
from frappe.website.doctype.website_group.website_group import get_pathname
def get_post_context(context):
post = frappe.get_doc("Post", frappe.form_dict.name)
@ -130,7 +130,7 @@ def save_post(post, content, picture=None, picture_name=None, title=None,
return post.parent_post or post.name
def process_picture(post, picture_name, picture):
from frappe.templates.generators.website_group import clear_cache
from frappe.website.doctype.website_group.website_group import clear_cache
post.picture_url = save_file(picture_name, picture, "Post", post.name, decode=True).file_url
frappe.db.set_value("Post", post.name, "picture_url", post.picture_url)

View file

@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe
from frappe.website.permissions import get_access, clear_permissions
from frappe.templates.generators.website_group import get_pathname
from frappe.website.doctype.website_group.website_group import get_pathname
from frappe.utils.email_lib.bulk import send
@frappe.whitelist()
@ -12,17 +12,17 @@ def suggest_user(term, group):
pathname = get_pathname(group)
if not get_access(pathname).get("admin"):
raise frappe.PermissionError
users = frappe.db.sql("""select pr.name, pr.first_name, pr.last_name,
users = frappe.db.sql("""select pr.name, pr.first_name, pr.last_name,
pr.user_image, pr.location
from `tabUser` pr
from `tabUser` pr
where (pr.first_name like %(term)s or pr.last_name like %(term)s)
and pr.user_type = "Website User"
and pr.user_image is not null and pr.enabled=1
and not exists(select wsp.name from `tabWebsite Route Permission` wsp
where wsp.website_route=%(group)s and wsp.user=pr.name)""",
and not exists(select wsp.name from `tabWebsite Route Permission` wsp
where wsp.website_route=%(group)s and wsp.user=pr.name)""",
{"term": "%{}%".format(term), "group": pathname}, as_dict=True)
template = frappe.get_template("templates/includes/user_display.html")
return [{
"value": "{} {}".format(pr.first_name or "", pr.last_name or ""),
@ -35,7 +35,7 @@ def add_sitemap_permission(group, user):
pathname = get_pathname(group)
if not get_access(pathname).get("admin"):
raise frappe.PermissionError
permission = frappe.get_doc({
"doctype": "Website Route Permission",
"website_route": pathname,
@ -43,11 +43,11 @@ def add_sitemap_permission(group, user):
"read": 1
})
permission.insert(ignore_permissions=True)
user = permission.as_dict()
user.update(frappe.db.get_value("User", user.user,
user.update(frappe.db.get_value("User", user.user,
["name", "first_name", "last_name", "user_image", "location"], as_dict=True))
return frappe.get_template("templates/includes/sitemap_permission.html").render({
"user": user
})
@ -57,18 +57,18 @@ def update_permission(group, user, perm, value):
pathname = get_pathname(group)
if not get_access(pathname).get("admin"):
raise frappe.PermissionError
permission = frappe.get_doc("Website Route Permission", {"website_route": pathname, "user": user})
permission.set(perm, int(value))
permission.save(ignore_permissions=True)
# send email
if perm=="admin" and int(value):
group_title = frappe.db.get_value("Website Route", pathname, "page_title")
subject = "You have been made Administrator of Group " + group_title
send(recipients=[user],
send(recipients=[user],
subject= subject, add_unsubscribe_link=False,
message="""<h3>Group Notification<h3>\
<p>%s</p>\
@ -82,15 +82,15 @@ def update_description(group, description):
group = frappe.get_doc("Website Group", group)
group.group_description = description
group.save(ignore_permissions=True)
@frappe.whitelist()
def add_website_group(group, new_group, public_read, public_write, group_type="Forum"):
if not get_access(get_pathname(group)).get("admin"):
raise frappe.PermissionError
parent_website_route = frappe.db.get_value("Website Route",
parent_website_route = frappe.db.get_value("Website Route",
{"ref_doctype": "Website Group", "docname": group})
frappe.get_doc({
"doctype": "Website Group",
"group_name": group + "-" + new_group,
@ -99,4 +99,4 @@ def add_website_group(group, new_group, public_read, public_write, group_type="F
"group_type": group_type,
"public_read": int(public_read),
"public_write": int(public_write)
}).insert(ignore_permissions=True)
}).insert(ignore_permissions=True)

View file

@ -39,7 +39,7 @@ class Post(Document):
def on_update(self):
from frappe.templates.website_group.post import clear_post_cache
from frappe.templates.generators.website_group import clear_cache
from frappe.website.doctype.website_group.website_group import clear_cache
clear_cache(website_group=self.website_group)
clear_post_cache(self.parent_post or self.name)