Fixes related to Website Route system and other misc fixes

This commit is contained in:
Anand Doshi 2014-06-27 21:02:55 +05:30
parent 5ba7ab0fed
commit 11ada53ed5
11 changed files with 829 additions and 798 deletions

View File

@ -91,6 +91,11 @@ def get_data():
"description": _("Manage Territory Tree."),
"doctype": "Territory",
},
{
"type": "doctype",
"name": "Sales Partner",
"description": _("Manage Sales Partners."),
},
{
"type": "page",
"label": _("Sales Person"),

View File

@ -64,6 +64,7 @@ class Customer(TransactionBase):
c.customer = self.name
c.customer_name = self.customer_name
c.is_primary_contact = 1
c.ignore_permissions = getattr(self, "ignore_permissions", None)
try:
c.save()
except frappe.NameError:

File diff suppressed because it is too large Load Diff

View File

@ -102,5 +102,6 @@ def invalidate_cache_for(doc, item_group=None):
item_group = doc.name
for i in get_parent_item_groups(item_group):
if i.page_name:
clear_cache(i.page_name)
route = frappe.db.get_value("Website Route", {"ref_doctype":"Item Group", "docname": i.name})
if route:
clear_cache(route)

View File

@ -17,6 +17,11 @@ cur_frm.cscript.refresh = function(doc,dt,dn){
// make lists
cur_frm.cscript.make_address(doc,dt,dn);
cur_frm.cscript.make_contact(doc,dt,dn);
if (doc.show_in_website) {
cur_frm.set_intro(__("Published on website at: {0}",
[repl('<a href="/%(website_route)s" target="_blank">/%(website_route)s</a>', doc.__onload)]));
}
}
}

View File

@ -188,6 +188,7 @@
"permlevel": 0
},
{
"default": "partners",
"fieldname": "parent_website_route",
"fieldtype": "Link",
"label": "Parent Website Route",
@ -198,7 +199,7 @@
"icon": "icon-user",
"idx": 1,
"in_create": 0,
"modified": "2014-05-27 03:49:18.661354",
"modified": "2014-06-27 09:21:33.687012",
"modified_by": "Administrator",
"module": "Setup",
"name": "Sales Partner",

View File

@ -46,3 +46,6 @@ class SalesPartner(WebsiteGenerator):
return context
def get_parent_website_route(self):
parent_website_sitemap = super(SalesPartner, self).get_parent_website_route()
return parent_website_sitemap or "partners"

View File

@ -50,8 +50,10 @@ class Item(WebsiteGenerator):
if not self.parent_website_route:
self.parent_website_route = frappe.get_website_route("Item Group", self.item_group)
if self.name:
self.old_page_name = frappe.db.get_value('Item', self.name, 'page_name')
if not self.get("__islocal"):
self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
self.old_website_item_groups = frappe.db.sql_list("""select item_group from `tabWebsite Item Group`
where parentfield='website_item_groups' and parenttype='Item' and parent=%s""", self.name)
def on_update(self):
super(Item, self).on_update()
@ -216,7 +218,7 @@ class Item(WebsiteGenerator):
if self.name==self.item_name:
page_name_from = self.name
else:
page_name_from = self.name + " " + self.item_name
page_name_from = self.name + " - " + self.item_name
return page_name_from
@ -363,6 +365,12 @@ def get_last_purchase_details(item_code, doc_name=None, conversion_rate=1.0):
def invalidate_cache_for_item(doc):
invalidate_cache_for(doc, doc.item_group)
for d in doc.get({"doctype":"Website Item Group"}):
if d.item_group:
invalidate_cache_for(doc, d.item_group)
website_item_groups = list(set((doc.get("old_website_item_groups") or [])
+ [d.item_group for d in doc.get({"doctype":"Website Item Group"}) if d.item_group]))
for item_group in website_item_groups:
invalidate_cache_for(doc, item_group)
if doc.get("old_item_group"):
invalidate_cache_for(doc, doc.old_item_group)

View File

@ -9,13 +9,13 @@
<div class="col-md-3">
{% if partner_info.logo -%}
<a href="{{ partner_info.page_name }}">
<img itemprop="brand" src="{{ partner_info.logo }}" class="partner-logo"
<img itemprop="brand" src="{{ partner_info.logo }}" class="partner-logo"
alt="{{ partner_info.partner_name }}" title="{{ partner_info.partner_name }}" />
</a>
{%- endif %}
</div>
<div class="col-md-9">
<a href="{{ partner_info.page_name }}">
<a href="{{ partner_info.route }}">
<h4>{{ partner_info.partner_name }}</h4>
</a>
<p style="color: #999">{{ partner_info.territory }} - {{ partner_info.partner_type }}</p>
@ -27,4 +27,4 @@
</div>
{% endblock %}
{% block sidebar %}{% include "templates/includes/sidebar.html" %}{% endblock %}
{% block sidebar %}{% include "templates/includes/sidebar.html" %}{% endblock %}

View File

@ -5,9 +5,16 @@ from __future__ import unicode_literals
import frappe
import frappe.website.render
page_title = "Partners"
def get_context(context):
partners = frappe.db.sql("""select * from `tabSales Partner`
where show_in_website=1 order by name asc""", as_dict=True)
for p in partners:
p.route = frappe.get_doc("Sales Partner", p.name).get_route()
return {
"partners": frappe.db.sql("""select * from `tabSales Partner`
where show_in_website=1 order by name asc""", as_dict=True),
"title": "Partners"
"partners": partners,
"title": page_title
}