@@ -1,4 +1,4 @@ | |||||
wn.views.calendar["Event"] = wn.views.Calendar.extend({ | |||||
wn.views.calendar["Event"] = { | |||||
field_map: { | field_map: { | ||||
"start": "starts_on", | "start": "starts_on", | ||||
"end": "ends_on", | "end": "ends_on", | ||||
@@ -12,4 +12,4 @@ wn.views.calendar["Event"] = wn.views.Calendar.extend({ | |||||
"Private": "info" | "Private": "info" | ||||
}, | }, | ||||
get_events_method: "core.doctype.event.event.get_events" | get_events_method: "core.doctype.event.event.get_events" | ||||
}) | |||||
} |
@@ -109,9 +109,9 @@ | |||||
"lib/public/js/wn/views/moduleview.js", | "lib/public/js/wn/views/moduleview.js", | ||||
"lib/public/js/wn/views/listview.js", | "lib/public/js/wn/views/listview.js", | ||||
"lib/public/js/wn/views/formview.js", | "lib/public/js/wn/views/formview.js", | ||||
"lib/public/js/wn/views/load_reportview.js", | |||||
"lib/public/js/wn/views/reportview.js", | "lib/public/js/wn/views/reportview.js", | ||||
"lib/public/js/wn/views/calendar.js", | "lib/public/js/wn/views/calendar.js", | ||||
"lib/public/js/wn/views/ganttview.js", | |||||
"lib/public/js/wn/views/query_report.js", | "lib/public/js/wn/views/query_report.js", | ||||
"lib/public/js/wn/views/grid_report.js", | "lib/public/js/wn/views/grid_report.js", | ||||
"lib/public/js/wn/views/communication.js", | "lib/public/js/wn/views/communication.js", | ||||
@@ -40,12 +40,8 @@ var load_doc = loaddoc; | |||||
function new_doc(doctype, in_form) { | function new_doc(doctype, in_form) { | ||||
wn.model.with_doctype(doctype, function() { | wn.model.with_doctype(doctype, function() { | ||||
if(!in_form && locals.DocType[doctype].in_dialog) { | |||||
var new_name = wn.model.make_new_doc_and_get_name(doctype); | |||||
_f.edit_record(doctype, new_name); | |||||
} else { | |||||
wn.views.formview.create(doctype); | |||||
} | |||||
var new_name = wn.model.make_new_doc_and_get_name(doctype); | |||||
wn.set_route("Form", doctype, new_name); | |||||
}) | }) | ||||
} | } | ||||
var newdoc = new_doc; | var newdoc = new_doc; | ||||
@@ -392,10 +392,8 @@ _f.Frm.prototype.refresh = function(docname) { | |||||
scroll(0, 0); | scroll(0, 0); | ||||
this.docname = docname; | this.docname = docname; | ||||
} | } | ||||
if(!this.meta.istable) { | |||||
cur_frm = this; | |||||
this.parent.cur_frm = this; | |||||
} | |||||
cur_frm = this; | |||||
if(this.docname) { // document to show | if(this.docname) { // document to show | ||||
@@ -613,11 +611,6 @@ _f.Frm.prototype.edit_doc = function() { | |||||
this.refresh(); | this.refresh(); | ||||
} | } | ||||
_f.Frm.prototype.show_doc = function(dn) { | |||||
this.refresh(dn); | |||||
} | |||||
_f.Frm.prototype.runscript = function(scriptname, callingfield, onrefresh) { | _f.Frm.prototype.runscript = function(scriptname, callingfield, onrefresh) { | ||||
var me = this; | var me = this; | ||||
if(this.docname) { | if(this.docname) { | ||||
@@ -33,6 +33,12 @@ | |||||
/* === LEFT PANEL === */ | /* === LEFT PANEL === */ | ||||
.fn-gantt * { | |||||
-webkit-box-sizing: content-box; | |||||
-moz-box-sizing: content-box; | |||||
box-sizing: content-box; | |||||
} | |||||
.fn-gantt .leftPanel { | .fn-gantt .leftPanel { | ||||
float: left; | float: left; | ||||
width: 225px; | width: 225px; | ||||
@@ -42,11 +48,12 @@ | |||||
z-index: 20; | z-index: 20; | ||||
} | } | ||||
.fn-gantt .row { | |||||
.fn-gantt .row, .row .fn-gantt .row { | |||||
float: left; | float: left; | ||||
height: 24px; | height: 24px; | ||||
line-height: 24px; | line-height: 24px; | ||||
margin-left: -24px; | margin-left: -24px; | ||||
margin-right: 0px; | |||||
} | } | ||||
.fn-gantt .leftPanel .fn-label { | .fn-gantt .leftPanel .fn-label { | ||||
@@ -84,7 +91,7 @@ | |||||
} | } | ||||
.fn-gantt .spacer { | .fn-gantt .spacer { | ||||
margin: -2px 0 1px 0; | |||||
margin: -2px 0 1px 0 !important; | |||||
border-bottom: none; | border-bottom: none; | ||||
background-color: #f6f6f6; | background-color: #f6f6f6; | ||||
} | } | ||||
@@ -108,11 +115,11 @@ | |||||
.fn-gantt .day, .fn-gantt .date { | .fn-gantt .day, .fn-gantt .date { | ||||
overflow: visible; | overflow: visible; | ||||
width: 24px; | width: 24px; | ||||
line-height: 24px; | |||||
line-height: 23px; | |||||
text-align: center; | text-align: center; | ||||
border-left: 1px solid #DDD; | border-left: 1px solid #DDD; | ||||
border-bottom: 1px solid #DDD; | border-bottom: 1px solid #DDD; | ||||
margin: -1px 0 0 -1px; | |||||
margin: 0 0 0 -1px !important; | |||||
font-size: 11px; | font-size: 11px; | ||||
color: #484a4d; | color: #484a4d; | ||||
text-shadow: 0 1px 0 rgba(255,255,255,0.75); | text-shadow: 0 1px 0 rgba(255,255,255,0.75); | ||||
@@ -3,6 +3,8 @@ | |||||
// re-route map (for rename) | // re-route map (for rename) | ||||
wn.re_route = {}; | wn.re_route = {}; | ||||
wn.route_titles = {}; | wn.route_titles = {}; | ||||
wn.view_factory = {}; | |||||
wn.view_factories = []; | |||||
wn.route = function() { | wn.route = function() { | ||||
if(wn.re_route[window.location.hash]) { | if(wn.re_route[window.location.hash]) { | ||||
@@ -24,28 +26,19 @@ wn.route = function() { | |||||
wn._cur_route = window.location.hash; | wn._cur_route = window.location.hash; | ||||
route = wn.get_route(); | |||||
route = wn.get_route(); | |||||
switch (route[0]) { | |||||
case "List": | |||||
wn.views.doclistview.show(route[1]); | |||||
break; | |||||
case "Form": | |||||
if(route.length>3) { | |||||
route[2] = route.splice(2).join('/'); | |||||
} | |||||
wn.views.formview.show(route[1], route[2]); | |||||
break; | |||||
case "Report": | |||||
wn.views.reportview.show(); | |||||
break; | |||||
case "Calendar": | |||||
wn.views.calendar.show(); | |||||
break; | |||||
default: | |||||
wn.views.pageview.show(route[0]); | |||||
if(route[0] && wn.views[route[0] + "Factory"]) { | |||||
// has a view generator, generate! | |||||
if(!wn.view_factory[route[0]]) | |||||
wn.view_factory[route[0]] = new wn.views[route[0] + "Factory"](); | |||||
wn.view_factory[route[0]].show(); | |||||
} else { | |||||
// show page | |||||
wn.views.pageview.show(route[0]); | |||||
} | } | ||||
if(wn.route_titles[window.location.hash]) { | if(wn.route_titles[window.location.hash]) { | ||||
document.title = wn.route_titles[window.location.hash]; | document.title = wn.route_titles[window.location.hash]; | ||||
} | } | ||||
@@ -3,27 +3,21 @@ | |||||
wn.provide("wn.views.calendar"); | wn.provide("wn.views.calendar"); | ||||
wn.views.calendar = { | |||||
show: function() { | |||||
var page_name = wn.get_route_str(); | |||||
if(wn.pages[page_name]) { | |||||
wn.container.change_to(wn.pages[page_name]); | |||||
} else { | |||||
var route = wn.get_route(); | |||||
if(route[1]) { | |||||
var doctype = route[1]; | |||||
wn.model.with_doctype(doctype, function() { | |||||
var calendar_class = wn.views.calendar[doctype] || wn.views.Calendar; | |||||
new calendar_class({ | |||||
doctype: doctype | |||||
}); | |||||
}) | |||||
} else { | |||||
wn.set_route('404'); | |||||
} | |||||
} | |||||
wn.views.CalendarFactory = wn.views.Factory.extend({ | |||||
make: function(route) { | |||||
var me = this; | |||||
wn.model.with_doctype(route[1], function() { | |||||
var options = { | |||||
doctype: route[1], | |||||
page: me.make_page() | |||||
}; | |||||
$.extend(options, wn.views.calendar[route[1]] || {}); | |||||
new wn.views.Calendar(options); | |||||
}); | |||||
} | } | ||||
} | |||||
}); | |||||
wn.views.Calendar = Class.extend({ | wn.views.Calendar = Class.extend({ | ||||
init: function(options) { | init: function(options) { | ||||
@@ -37,18 +31,9 @@ wn.views.Calendar = Class.extend({ | |||||
this.make(); | this.make(); | ||||
}, | }, | ||||
make_page: function() { | make_page: function() { | ||||
var page_name = wn.get_route_str(); | |||||
this.page = wn.container.add_page(page_name); | |||||
wn.ui.make_app_page({ | |||||
parent:this.page, | |||||
single_column:true | |||||
}); | |||||
wn.container.change_to(page_name); | |||||
var module = locals.DocType[this.doctype].module; | var module = locals.DocType[this.doctype].module; | ||||
this.page.appframe.set_title(wn._("Calendar") + " - " + wn._(this.doctype)); | this.page.appframe.set_title(wn._("Calendar") + " - " + wn._(this.doctype)); | ||||
this.page.appframe.add_module_icon(module==="Core" ? "Calendar" : module) | this.page.appframe.add_module_icon(module==="Core" ? "Calendar" : module) | ||||
this.page.appframe.set_views_for(this.doctype, "calendar"); | this.page.appframe.set_views_for(this.doctype, "calendar"); | ||||
}, | }, | ||||
make: function() { | make: function() { | ||||
@@ -48,7 +48,7 @@ wn.views.Container = Class.extend({ | |||||
// if sent the div, get the table | // if sent the div, get the table | ||||
var page = label; | var page = label; | ||||
} else { | } else { | ||||
var page = wn.pages[label]; | |||||
var page = wn.pages[label]; | |||||
} | } | ||||
if(!page) { | if(!page) { | ||||
console.log(wn._('Page not found')+ ': ' + label); | console.log(wn._('Page not found')+ ': ' + label); | ||||
@@ -72,7 +72,38 @@ wn.views.Container = Class.extend({ | |||||
this.page._route = window.location.hash; | this.page._route = window.location.hash; | ||||
$(this.page).trigger('show'); | $(this.page).trigger('show'); | ||||
scroll(0,0); | |||||
scroll(0,0); | |||||
return this.page; | return this.page; | ||||
} | } | ||||
}); | |||||
}); | |||||
wn.views.Factory = Class.extend({ | |||||
init: function(opts) { | |||||
$.extend(this, opts); | |||||
}, | |||||
show: function() { | |||||
var page_name = wn.get_route_str(), | |||||
me = this; | |||||
if(wn.pages[page_name]) { | |||||
wn.container.change_to(wn.pages[page_name]); | |||||
} else { | |||||
var route = wn.get_route(); | |||||
if(route[1]) { | |||||
me.make(route); | |||||
} else { | |||||
wn.set_route('404'); | |||||
} | |||||
} | |||||
}, | |||||
make_page: function(double_column) { | |||||
var page_name = wn.get_route_str(), | |||||
page = wn.container.add_page(page_name); | |||||
wn.ui.make_app_page({ | |||||
parent: page, | |||||
single_column: !double_column | |||||
}); | |||||
wn.container.change_to(page_name); | |||||
return page; | |||||
} | |||||
}) |
@@ -4,24 +4,17 @@ | |||||
wn.provide('wn.views.doclistview'); | wn.provide('wn.views.doclistview'); | ||||
wn.provide('wn.doclistviews'); | wn.provide('wn.doclistviews'); | ||||
wn.views.doclistview.show = function(doctype) { | |||||
var route = wn.get_route(); | |||||
var page_name = "List/" + route[1]; | |||||
if(wn.pages[page_name]) { | |||||
wn.container.change_to(wn.pages[page_name]); | |||||
if(wn.container.page.doclistview && wn.container.page.doclistview.dirty) | |||||
wn.container.page.doclistview.run(); | |||||
} else { | |||||
if(route[1]) { | |||||
wn.model.with_doctype(route[1], function(r) { | |||||
if(r && r['403']) { | |||||
return; | |||||
} | |||||
new wn.views.DocListView(route[1]); | |||||
wn.views.ListFactory = wn.views.Factory.extend({ | |||||
make: function(route) { | |||||
var me = this; | |||||
wn.model.with_doctype(route[1], function() { | |||||
new wn.views.DocListView({ | |||||
doctype: route[1], | |||||
page: me.make_page(true) | |||||
}); | }); | ||||
} | |||||
}); | |||||
} | } | ||||
} | |||||
}); | |||||
$(document).on("save", function(event, doc) { | $(document).on("save", function(event, doc) { | ||||
var list_page = "List/" + doc.doctype; | var list_page = "List/" + doc.doctype; | ||||
@@ -32,30 +25,28 @@ $(document).on("save", function(event, doc) { | |||||
}) | }) | ||||
wn.views.DocListView = wn.ui.Listing.extend({ | wn.views.DocListView = wn.ui.Listing.extend({ | ||||
init: function(doctype) { | |||||
this.doctype = doctype; | |||||
this.label = wn._(doctype); | |||||
init: function(opts) { | |||||
$.extend(this, opts) | |||||
this.label = wn._(this.doctype); | |||||
this.dirty = true; | this.dirty = true; | ||||
this.label = (this.label.toLowerCase().substr(-4) == 'list') ? | this.label = (this.label.toLowerCase().substr(-4) == 'list') ? | ||||
wn._(this.label) : (wn._(this.label) + ' ' + wn._('List')); | wn._(this.label) : (wn._(this.label) + ' ' + wn._('List')); | ||||
this.make_page(); | this.make_page(); | ||||
this.setup(); | this.setup(); | ||||
var me = this; | |||||
$(this.page).on("show", function() { | |||||
me.dirty && me.run(); | |||||
}); | |||||
}, | }, | ||||
make_page: function() { | make_page: function() { | ||||
var me = this; | var me = this; | ||||
var page_name = "List/" + this.doctype; | |||||
var page = wn.container.add_page(page_name); | |||||
wn.container.change_to(page_name); | |||||
page.doclistview = this; | |||||
this.$page = $(page).css({"min-height": "400px"}); | |||||
this.page.doclistview = this; | |||||
this.$page = $(this.page).css({"min-height": "400px"}); | |||||
wn.dom.set_style(".show-docstatus div { font-size: 90%; }"); | wn.dom.set_style(".show-docstatus div { font-size: 90%; }"); | ||||
wn.ui.make_app_page({ | |||||
parent: page | |||||
}) | |||||
$('<div class="wnlist-area" style="margin-bottom: 25px;">\ | $('<div class="wnlist-area" style="margin-bottom: 25px;">\ | ||||
<div class="help">'+wn._('Loading')+'...</div></div>') | <div class="help">'+wn._('Loading')+'...</div></div>') | ||||
.appendTo(this.$page.find(".layout-main-section")); | .appendTo(this.$page.find(".layout-main-section")); | ||||
@@ -71,13 +62,11 @@ wn.views.DocListView = wn.ui.Listing.extend({ | |||||
</div>') | </div>') | ||||
.appendTo(this.$page.find(".layout-side-section")); | .appendTo(this.$page.find(".layout-side-section")); | ||||
this.appframe = page.appframe; | |||||
this.appframe = this.page.appframe; | |||||
var module = locals.DocType[this.doctype].module; | var module = locals.DocType[this.doctype].module; | ||||
this.appframe.set_title(wn._(this.doctype) + " " + wn._("List")); | this.appframe.set_title(wn._(this.doctype) + " " + wn._("List")); | ||||
this.appframe.add_home_breadcrumb(); | |||||
this.appframe.add_module_icon(module); | this.appframe.add_module_icon(module); | ||||
this.appframe.add_breadcrumb("icon-list"); | |||||
this.appframe.set_views_for(this.doctype, "list"); | this.appframe.set_views_for(this.doctype, "list"); | ||||
}, | }, | ||||
@@ -3,46 +3,52 @@ | |||||
wn.provide('wn.views.formview'); | wn.provide('wn.views.formview'); | ||||
wn.views.formview = { | |||||
show: function(dt, dn) { | |||||
// renamed (on save)? | |||||
if(wn.model.new_names[dn]) | |||||
dn = wn.model.new_names[dn]; | |||||
wn.views.formview.make(dt, dn, true); | |||||
wn.views.FormFactory = wn.views.Factory.extend({ | |||||
make: function(route) { | |||||
var me = this, | |||||
dt = route[1]; | |||||
if(!wn.views.formview[dt]) { | |||||
me.page = wn.container.add_page("Form/" + dt); | |||||
wn.views.formview[dt] = me.page; | |||||
wn.model.with_doctype(dt, function() { | |||||
me.page.frm = new _f.Frm(dt, me.page, true); | |||||
me.show_doc(route); | |||||
}); | |||||
} else { | |||||
me.show_doc(route); | |||||
} | |||||
}, | }, | ||||
make: function(dt, dn, show) { | |||||
// show doctype | |||||
wn.model.with_doctype(dt, function() { | |||||
wn.model.with_doc(dt, dn, function(dn, r) { | |||||
if(r && r['403']) return; // not permitted | |||||
if(!(locals[dt] && locals[dt][dn])) { | |||||
// doc not found, but starts with New, | |||||
// make a new doc and set it | |||||
if(dn && dn.substr(0,4)=="New ") { | |||||
var new_name = wn.model.make_new_doc_and_get_name(dt); | |||||
wn.views.formview.show(dt, new_name); | |||||
return; | |||||
} else { | |||||
wn.set_route('404'); | |||||
} | |||||
return; | |||||
} | |||||
if(!wn.views.formview[dt]) { | |||||
wn.views.formview[dt] = wn.container.add_page('Form - ' + dt); | |||||
wn.views.formview[dt].frm = new _f.Frm(dt, wn.views.formview[dt], true); | |||||
} | |||||
if(show) { | |||||
wn.container.change_to('Form - ' + dt); | |||||
wn.views.formview[dt].frm.refresh(dn); | |||||
show_doc: function(route) { | |||||
var dt = route[1], | |||||
dn = route[2], | |||||
me = this; | |||||
if(wn.model.new_names[dn]) { | |||||
dn = wn.model.new_names[dn]; | |||||
wn.set_route("Form", dt, dn); | |||||
return; | |||||
} | |||||
wn.model.with_doc(dt, dn, function(dn, r) { | |||||
if(r && r['403']) return; // not permitted | |||||
if(!(locals[dt] && locals[dt][dn])) { | |||||
// doc not found, but starts with New, | |||||
// make a new doc and set it | |||||
if(dn && dn.substr(0,4)=="New ") { | |||||
var new_name = wn.model.make_new_doc_and_get_name(dt); | |||||
wn.set_route("Form", dt, new_name) | |||||
} else { | |||||
wn.set_route('404'); | |||||
} | } | ||||
}); | |||||
return; | |||||
} | |||||
wn.container.change_to("Form/" + dt); | |||||
me.page.frm.refresh(dn); | |||||
}); | }); | ||||
}, | |||||
create: function(dt) { | |||||
var new_name = wn.model.make_new_doc_and_get_name(dt); | |||||
wn.set_route('Form', dt, new_name); | |||||
} | } | ||||
} | |||||
}); |
@@ -0,0 +1,109 @@ | |||||
wn.provide("wn.views.calendar"); | |||||
wn.views.GanttFactory = wn.views.Factory.extend({ | |||||
make: function(route) { | |||||
var me = this; | |||||
wn.model.with_doctype(route[1], function() { | |||||
var options = { | |||||
doctype: route[1], | |||||
page: me.make_page() | |||||
}; | |||||
$.extend(options, wn.views.calendar[route[1]] || {}); | |||||
new wn.views.Gantt(options); | |||||
}); | |||||
} | |||||
}); | |||||
wn.views.Gantt = Class.extend({ | |||||
init: function(opts) { | |||||
$.extend(this, opts); | |||||
wn.require('lib/js/lib/jQuery.Gantt/css/style.css'); | |||||
wn.require('lib/js/lib/jQuery.Gantt/js/jquery.fn.gantt.js'); | |||||
this.make_page(); | |||||
this.make_chart(); | |||||
}, | |||||
make_page: function() { | |||||
var module = locals.DocType[this.doctype].module; | |||||
this.page.appframe.set_title(wn._("Gantt Chart") + " - " + wn._(this.doctype)); | |||||
this.page.appframe.add_module_icon(module) | |||||
this.page.appframe.set_views_for(this.doctype, "gantt"); | |||||
}, | |||||
make_chart: function() { | |||||
var parent = $(this.page) | |||||
.find(".layout-main") | |||||
.empty() | |||||
.css('min-height', '300px') | |||||
.html('<div class="alert">Loading...</div>'); | |||||
var me = this; | |||||
wn.call({ | |||||
method: this.get_events_method, | |||||
type: "GET", | |||||
args: { | |||||
doctype: this.doctype, | |||||
start: "2013-01-01", | |||||
end: "2014-01-01" | |||||
}, | |||||
callback: function(r) { | |||||
$(parent).empty(); | |||||
if(!r.message.length) { | |||||
$(parent).html('<div class="alert">No Tasks Yet.</div>'); | |||||
} else { | |||||
var gantt_area = $('<div class="gantt">').appendTo(parent); | |||||
gantt_area.gantt({ | |||||
source: me.get_source(r), | |||||
navigate: "scroll", | |||||
scale: "weeks", | |||||
minScale: "day", | |||||
maxScale: "months", | |||||
onItemClick: function(data) { | |||||
wn.set_route('Form', me.doctype, data.name); | |||||
}, | |||||
onAddClick: function(dt, rowId) { | |||||
newdoc(me.doctype); | |||||
} | |||||
}); | |||||
} | |||||
} | |||||
}) | |||||
}, | |||||
get_source: function(r) { | |||||
var source = [], | |||||
me = this; | |||||
// projects | |||||
$.each(r.message, function(i,v) { | |||||
// standardize values | |||||
$.each(me.field_map, function(target, source) { | |||||
v[target] = v[source]; | |||||
}); | |||||
if(v.start && v.end) { | |||||
source.push({ | |||||
name: v.project || " ", | |||||
desc: v.subject, | |||||
values: [{ | |||||
name: v.title, | |||||
desc: v.status, | |||||
from: '/Date("'+v.start+'")/', | |||||
to: '/Date("'+v.end+'")/', | |||||
customClass: { | |||||
'danger':'ganttRed', | |||||
'warning':'ganttOrange', | |||||
'info':'ganttBlue', | |||||
'success':'ganttGreen', | |||||
'':'ganttGray' | |||||
}[me.style_map[v.status]], | |||||
dataObj: v | |||||
}] | |||||
}) | |||||
} | |||||
}); | |||||
return source | |||||
} | |||||
}); |
@@ -20,6 +20,7 @@ wn.views.ListView = Class.extend({ | |||||
this.settings = wn.listview_settings[this.doctype] || {}; | this.settings = wn.listview_settings[this.doctype] || {}; | ||||
this.set_fields(); | this.set_fields(); | ||||
this.set_columns(); | this.set_columns(); | ||||
this.id_list = []; | |||||
if(this.settings.group_by) | if(this.settings.group_by) | ||||
this.group_by = this.settings.group_by; | this.group_by = this.settings.group_by; | ||||
@@ -1,25 +0,0 @@ | |||||
// Copyright 2013 Web Notes Technologies Pvt Ltd | |||||
// License: MIT. See license.txt | |||||
// Routing Rules | |||||
// -------------- | |||||
// `Report` shows list of all pages from which you can start a report + all saved reports | |||||
// (module wise) | |||||
// `Report/[doctype]` shows report for that doctype | |||||
// `Report/[doctype]/[report_name]` loads report with that name | |||||
wn.views.reportview = { | |||||
show: function(dt) { | |||||
var page_name = wn.get_route_str(); | |||||
if(wn.pages[page_name]) { | |||||
wn.container.change_to(wn.pages[page_name]); | |||||
} else { | |||||
var route = wn.get_route(); | |||||
if(route[1]) { | |||||
new wn.views.ReportViewPage(route[1], route[2]); | |||||
} else { | |||||
wn.set_route('404'); | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -1,6 +1,12 @@ | |||||
// Copyright 2013 Web Notes Technologies Pvt Ltd | // Copyright 2013 Web Notes Technologies Pvt Ltd | ||||
// License: MIT. See license.txt | // License: MIT. See license.txt | ||||
wn.views.ReportFactory = wn.views.Factory.extend({ | |||||
make: function(route) { | |||||
new wn.views.ReportViewPage(route[1], route[2]); | |||||
} | |||||
}); | |||||
wn.views.ReportViewPage = Class.extend({ | wn.views.ReportViewPage = Class.extend({ | ||||
init: function(doctype, docname) { | init: function(doctype, docname) { | ||||
if(!wn.model.can_get_report(doctype)) { | if(!wn.model.can_get_report(doctype)) { | ||||
@@ -38,9 +44,7 @@ wn.views.ReportViewPage = Class.extend({ | |||||
make_report_view: function() { | make_report_view: function() { | ||||
var module = locals.DocType[this.doctype].module; | var module = locals.DocType[this.doctype].module; | ||||
this.page.appframe.set_title(wn._(this.doctype)); | this.page.appframe.set_title(wn._(this.doctype)); | ||||
this.page.appframe.add_home_breadcrumb() | |||||
this.page.appframe.add_module_icon(module) | this.page.appframe.add_module_icon(module) | ||||
this.page.appframe.add_breadcrumb("icon-table"); | |||||
this.page.appframe.set_views_for(this.doctype, "report"); | this.page.appframe.set_views_for(this.doctype, "report"); | ||||
this.page.reportview = new wn.views.ReportView({ | this.page.reportview = new wn.views.ReportView({ | ||||