Fixed manifest and website
This commit is contained in:
parent
0a0bf09e0b
commit
78ce7fa14c
7 changed files with 49 additions and 55 deletions
|
|
@ -25,4 +25,5 @@ recursive-include frappe *.csv
|
|||
recursive-include frappe *.ico
|
||||
recursive-include frappe *.less
|
||||
recursive-include frappe *.txt
|
||||
recursive-include frappe/public *
|
||||
recursive-exclude * *.pyc
|
||||
|
|
|
|||
|
|
@ -630,7 +630,7 @@ def set_filters(jenv):
|
|||
jenv.filters["json"] = dumps
|
||||
jenv.filters["get_hex_shade"] = get_hex_shade
|
||||
|
||||
# load jenv_filters from hooks.txt
|
||||
# load jenv_filters from hooks.py
|
||||
for app in get_all_apps(True):
|
||||
for jenv_filter in (get_hooks(app_name=app).jenv_filter or []):
|
||||
filter_name, filter_function = jenv_filter.split(":")
|
||||
|
|
|
|||
|
|
@ -10,9 +10,9 @@ cur_frm.cscript.refresh = function(doc) {
|
|||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
cur_frm.appframe.add_button("View In Website", function() {
|
||||
window.open(doc.page_name);
|
||||
window.open(doc.__onload.website_route);
|
||||
}, "icon-globe");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,18 +12,18 @@ from frappe.utils import today
|
|||
|
||||
class BlogPost(WebsiteGenerator):
|
||||
save_versions = True
|
||||
|
||||
|
||||
def get_page_title(self):
|
||||
return self.title
|
||||
|
||||
|
||||
def validate(self):
|
||||
if not self.blog_intro:
|
||||
self.blog_intro = self.content[:140]
|
||||
re.sub("\<[^>]*\>", "", self.blog_intro)
|
||||
|
||||
|
||||
if self.blog_intro:
|
||||
self.blog_intro = self.blog_intro[:140]
|
||||
|
||||
|
||||
if self.published and not self.published_on:
|
||||
self.published_on = today()
|
||||
|
||||
|
|
@ -31,18 +31,18 @@ class BlogPost(WebsiteGenerator):
|
|||
{"ref_doctype": "Blog Category", "docname": self.blog_category})
|
||||
|
||||
# update posts
|
||||
frappe.db.sql("""update tabBlogger set posts=(select count(*) from `tabBlog Post`
|
||||
frappe.db.sql("""update tabBlogger set posts=(select count(*) from `tabBlog Post`
|
||||
where ifnull(blogger,'')=tabBlogger.name)
|
||||
where name=%s""", (self.blogger,))
|
||||
|
||||
|
||||
|
||||
def on_update(self):
|
||||
WebsiteGenerator.on_update(self)
|
||||
clear_cache("writers")
|
||||
|
||||
def clear_blog_cache():
|
||||
for blog in frappe.db.sql_list("""select page_name from
|
||||
for blog in frappe.db.sql_list("""select page_name from
|
||||
`tabBlog Post` where ifnull(published,0)=1"""):
|
||||
clear_cache(blog)
|
||||
|
||||
|
||||
clear_cache("writers")
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ $.extend(cur_frm.cscript, {
|
|||
}
|
||||
if(doc.insert_style) {
|
||||
if(!doc.css) {
|
||||
cur_frm.set_value("css", '#page-'+doc.name+' { }');
|
||||
cur_frm.set_value("css", '#page-'+doc.name+' { }');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -20,14 +20,14 @@ $.extend(cur_frm.cscript, {
|
|||
cur_frm.cscript.layout(doc);
|
||||
if(!doc.__islocal && doc.published) {
|
||||
cur_frm.appframe.add_button("View In Website", function() {
|
||||
window.open(doc.page_name);
|
||||
window.open(doc.__onload.website_route);
|
||||
}, "icon-globe");
|
||||
}
|
||||
},
|
||||
insert_style: function(doc) {
|
||||
cur_frm.cscript.layout(doc);
|
||||
cur_frm.cscript.layout(doc);
|
||||
},
|
||||
insert_code: function(doc) {
|
||||
cur_frm.cscript.layout(doc);
|
||||
cur_frm.cscript.layout(doc);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -194,16 +194,15 @@ $.extend(frappe, {
|
|||
$(window).on("popstate", function(event) {
|
||||
// hack for chrome's onload popstate call
|
||||
if(window.initial_href==location.href && window.previous_href==undefined) {
|
||||
frappe.set_force_reload(true);
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
|
||||
window.previous_href = location.href;
|
||||
var state = event.originalEvent.state;
|
||||
if(!state) {
|
||||
console.log("state not found!");
|
||||
frappe.set_force_reload(true);
|
||||
state = window.history.state;
|
||||
window.location.reload();
|
||||
return;
|
||||
}
|
||||
frappe.render_json(state);
|
||||
});
|
||||
|
|
@ -273,44 +272,35 @@ $.extend(frappe, {
|
|||
});
|
||||
},
|
||||
render_json: function(data) {
|
||||
if(data.reload) {
|
||||
window.location = location.href;
|
||||
} else {
|
||||
$('[data-html-block]').each(function(i, section) {
|
||||
var $section = $(section);
|
||||
var stype = $section.attr("data-html-block");
|
||||
var block_data = data[stype] || "";
|
||||
$('[data-html-block]').each(function(i, section) {
|
||||
var $section = $(section);
|
||||
var stype = $section.attr("data-html-block");
|
||||
var block_data = data[stype] || "";
|
||||
|
||||
// NOTE: use frappe.ready instead of $.ready for reliable execution
|
||||
if(stype==="script") {
|
||||
$section.remove();
|
||||
$("<script data-html-block='script'></script>")
|
||||
.html(block_data)
|
||||
.appendTo("body");
|
||||
} else if(stype==="script_lib") {
|
||||
// render once
|
||||
if(!$("[data-block-html='script_lib'][data-path='"+data.path+"']").length) {
|
||||
$("<script data-block-html='script_lib' data-path='"+data.path+"'></script>")
|
||||
.html(data.script_lib)
|
||||
.appendTo("body");
|
||||
}
|
||||
} else {
|
||||
$section.html(block_data);
|
||||
// NOTE: use frappe.ready instead of $.ready for reliable execution
|
||||
if(stype==="script") {
|
||||
$section.remove();
|
||||
$("<script data-html-block='script'></script>")
|
||||
.html(block_data)
|
||||
.appendTo("body");
|
||||
} else if(stype==="script_lib") {
|
||||
// render once
|
||||
if(!$("[data-block-html='script_lib'][data-path='"+data.path+"']").length) {
|
||||
$("<script data-block-html='script_lib' data-path='"+data.path+"'></script>")
|
||||
.html(data.script_lib)
|
||||
.appendTo("body");
|
||||
}
|
||||
});
|
||||
if(data.title) $("title").html(data.title);
|
||||
} else {
|
||||
$section.html(block_data);
|
||||
}
|
||||
});
|
||||
if(data.title) $("title").html(data.title);
|
||||
|
||||
// change id of current page
|
||||
$(".page-container").attr("id", "page-" + data.path);
|
||||
// change id of current page
|
||||
$(".page-container").attr("id", "page-" + data.path);
|
||||
|
||||
window.ga && ga('send', 'pageview', location.pathname);
|
||||
$(document).trigger("page-change");
|
||||
}
|
||||
},
|
||||
set_force_reload: function(reload) {
|
||||
// learned this from twitter's implementation
|
||||
window.history.replaceState({"reload": reload},
|
||||
window.document.title, location.href);
|
||||
window.ga && ga('send', 'pageview', location.pathname);
|
||||
$(document).trigger("page-change");
|
||||
},
|
||||
supports_pjax: function() {
|
||||
return (window.history && window.history.pushState && window.history.replaceState &&
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@ class WebsiteGenerator(Document):
|
|||
self.name = self.get_page_name()
|
||||
append_number_if_name_exists(self)
|
||||
|
||||
def onload(self):
|
||||
self.get("__onload").website_route = frappe.db.get_value("Website Route", {"ref_doctype": self.doctype, "docname": self.name})
|
||||
|
||||
def set_page_name(self):
|
||||
"""set page name based on parent page_name and title"""
|
||||
page_name = cleanup_page_name(self.get_page_title())
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue