calendar fix
This commit is contained in:
parent
a50b762d36
commit
aa999df088
@ -81,9 +81,13 @@ def boot_session(bootinfo):
|
|||||||
webnotes.conn.get_value('Website Settings', None, 'analytics_code')
|
webnotes.conn.get_value('Website Settings', None, 'analytics_code')
|
||||||
bootinfo['analytics_call'] = \
|
bootinfo['analytics_call'] = \
|
||||||
webnotes.conn.get_value('Website Settings', None, 'analytics_call')
|
webnotes.conn.get_value('Website Settings', None, 'analytics_call')
|
||||||
|
|
||||||
else:
|
else:
|
||||||
bootinfo['letter_heads'] = get_letter_heads()
|
bootinfo['letter_heads'] = get_letter_heads()
|
||||||
|
|
||||||
|
import webnotes.model.doctype
|
||||||
|
bootinfo['docs'] += webnotes.model.doctype.get('Event')
|
||||||
|
|
||||||
def get_letter_heads():
|
def get_letter_heads():
|
||||||
"""load letter heads with startup"""
|
"""load letter heads with startup"""
|
||||||
import webnotes
|
import webnotes
|
||||||
|
@ -156,9 +156,7 @@ div.cal_week_unit{
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.cal_event {
|
div.cal_event {
|
||||||
width: 100%;
|
overflow-x: hidden;
|
||||||
height: 12px;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: #00B;
|
color: #00B;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
|
@ -33,7 +33,6 @@ pscript.onload_calendar = function(wrapper) {
|
|||||||
Calendar=function() {
|
Calendar=function() {
|
||||||
this.views=[];
|
this.views=[];
|
||||||
this.events = {};
|
this.events = {};
|
||||||
this.has_event = {};
|
|
||||||
this.events_by_name = {};
|
this.events_by_name = {};
|
||||||
this.weekdays = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
|
this.weekdays = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
|
||||||
}
|
}
|
||||||
@ -57,15 +56,18 @@ Calendar.prototype.init=function (parent) {
|
|||||||
this.views['Day'] = new Calendar.DayView(this);
|
this.views['Day'] = new Calendar.DayView(this);
|
||||||
|
|
||||||
// Month view as initial
|
// Month view as initial
|
||||||
this.cur_view = this.views['Day'];
|
this.cur_view = this.views['Month'];
|
||||||
this.views['Day'].show();
|
this.views['Month'].show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Calendar.prototype.rename_notify = function(dt, old_name, new_name) {
|
Calendar.prototype.rename_notify = function(dt, old_name, new_name) {
|
||||||
// calendar
|
// calendar
|
||||||
if(dt = 'Event' && this.has_event[old_name])
|
if(dt = 'Event'){
|
||||||
this.has_event[old_name] = false;
|
if(this.events_by_name[old_name]) {
|
||||||
|
delete this.events_by_name[old_name];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
@ -119,19 +121,15 @@ Calendar.prototype.show_event = function(ev, cal_ev) {
|
|||||||
|
|
||||||
// save values
|
// save values
|
||||||
d.ev.description = d.widgets['Description'].value;
|
d.ev.description = d.widgets['Description'].value;
|
||||||
if(d.widgets['Cancel Event'].checked) d.ev.event_type='Cancel';
|
if(d.widgets['Cancel Event'].checked)
|
||||||
else if(d.widgets['Public Event'].checked) d.ev.event_type='Public';
|
d.ev.event_type='Cancel';
|
||||||
|
else if(d.widgets['Public Event'].checked)
|
||||||
|
d.ev.event_type='Public';
|
||||||
|
|
||||||
me.event_dialog.hide();
|
me.event_dialog.hide();
|
||||||
|
|
||||||
// if new event
|
// if new event
|
||||||
if(d.cal_ev)
|
me.save_event(d.ev);
|
||||||
var cal_ev = d.cal_ev;
|
|
||||||
else
|
|
||||||
var cal_ev = me.set_event(d.ev);
|
|
||||||
|
|
||||||
cal_ev.save();
|
|
||||||
if(me.cur_view)me.cur_view.refresh();
|
|
||||||
}
|
}
|
||||||
this.event_dialog = d;
|
this.event_dialog = d;
|
||||||
}
|
}
|
||||||
@ -141,6 +139,20 @@ Calendar.prototype.show_event = function(ev, cal_ev) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Calendar.prototype.save_event = function(doc) {
|
||||||
|
var me = this;
|
||||||
|
save_doclist('Event', doc.name, 'Save', function(r) {
|
||||||
|
var doc = locals['Event'][r.docname];
|
||||||
|
var cal = erpnext.calendar;
|
||||||
|
cal.cur_view.refresh();
|
||||||
|
|
||||||
|
// if cancelled, hide
|
||||||
|
if(doc.event_type=='Cancel') {
|
||||||
|
$(cal.events_by_name[doc.name].body).toggle(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
||||||
Calendar.prototype.add_event = function() {
|
Calendar.prototype.add_event = function() {
|
||||||
@ -193,7 +205,7 @@ Calendar.prototype.get_daily_event_list=function(day) {
|
|||||||
Calendar.prototype.set_event = function(ev) {
|
Calendar.prototype.set_event = function(ev) {
|
||||||
// don't duplicate
|
// don't duplicate
|
||||||
if(this.events_by_name[ev.name]) {
|
if(this.events_by_name[ev.name]) {
|
||||||
return;
|
return this.events_by_name[ev.name];
|
||||||
}
|
}
|
||||||
|
|
||||||
var dt = dateutil.str_to_obj(ev.event_date);
|
var dt = dateutil.str_to_obj(ev.event_date);
|
||||||
@ -204,16 +216,16 @@ Calendar.prototype.set_event = function(ev) {
|
|||||||
if(!this.events[y]) this.events[y] = [];
|
if(!this.events[y]) this.events[y] = [];
|
||||||
if(!this.events[y][m]) this.events[y][m] = [];
|
if(!this.events[y][m]) this.events[y][m] = [];
|
||||||
if(!this.events[y][m][d]) this.events[y][m][d] = [];
|
if(!this.events[y][m][d]) this.events[y][m][d] = [];
|
||||||
if(!this.events[y][m][d][cint(cint(ev.event_hour))])
|
if(!this.events[y][m][d][cint(ev.event_hour)])
|
||||||
this.events[y][m][d][cint(ev.event_hour)] = [];
|
this.events[y][m][d][cint(ev.event_hour)] = [];
|
||||||
|
|
||||||
var cal_ev = new Calendar.CalEvent(ev, this);
|
var cal_ev = new Calendar.CalEvent(ev, this);
|
||||||
this.events[y][m][d][cint(ev.event_hour)].push(cal_ev);
|
this.events[y][m][d][cint(ev.event_hour)].push(cal_ev);
|
||||||
this.events_by_name[ev.name] = cal_ev;
|
this.events_by_name[ev.name] = cal_ev;
|
||||||
this.has_event[ev.name] = true;
|
|
||||||
|
|
||||||
return cal_ev;
|
return cal_ev;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------
|
//------------------------------------------------------
|
||||||
|
|
||||||
Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calendar and Calls the View class based on the viewtype
|
Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calendar and Calls the View class based on the viewtype
|
||||||
@ -235,14 +247,11 @@ Calendar.prototype.refresh = function(viewtype){//Sets the viewtype of the Calen
|
|||||||
|
|
||||||
Calendar.CalEvent= function(doc, cal) {
|
Calendar.CalEvent= function(doc, cal) {
|
||||||
this.body = document.createElement('div');
|
this.body = document.createElement('div');
|
||||||
var v = locals['Event'][doc.name].description;
|
this.link = $a(this.body, 'a', '', {}, locals['Event'][doc.name].description || '');
|
||||||
if(v==null)v='';
|
|
||||||
this.body.innerHTML = v;
|
|
||||||
|
|
||||||
this.doc = doc;
|
this.doc = doc;
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
this.body.onclick = function() {
|
this.link.onclick = function() {
|
||||||
if(me.doc.name) {
|
if(me.doc.name) {
|
||||||
cal.show_event(me.doc, me);
|
cal.show_event(me.doc, me);
|
||||||
}
|
}
|
||||||
@ -252,26 +261,18 @@ Calendar.CalEvent= function(doc, cal) {
|
|||||||
Calendar.CalEvent.prototype.show = function(vu) {
|
Calendar.CalEvent.prototype.show = function(vu) {
|
||||||
|
|
||||||
var t = this.doc.event_type;
|
var t = this.doc.event_type;
|
||||||
this.my_class = 'cal_event cal_event_'+ t;
|
this.my_class = 'cal_event_'+ t;
|
||||||
|
|
||||||
if(this.body.parentNode)
|
if(this.body.parentNode)
|
||||||
this.body.parentNode.removeChild(this.body);
|
this.body.parentNode.removeChild(this.body);
|
||||||
vu.body.appendChild(this.body);
|
vu.body.appendChild(this.body);
|
||||||
|
|
||||||
// refresh
|
// refresh
|
||||||
var v = this.doc.description;
|
this.link.innerHTML = this.doc.description || '';
|
||||||
if(v==null)v='';
|
|
||||||
this.body.innerHTML = v;
|
|
||||||
this.body.className = this.my_class;
|
this.body.className = this.my_class;
|
||||||
}
|
}
|
||||||
|
|
||||||
Calendar.CalEvent.prototype.save = function() {
|
|
||||||
var me = this;
|
|
||||||
save_doclist('Event', me.doc.name, 'Save', function(r) {
|
|
||||||
me.doc = locals['Event'][r.docname];
|
|
||||||
erpnext.calendar.has_event[r.docname] = true;
|
|
||||||
} );
|
|
||||||
}
|
|
||||||
// ----------
|
// ----------
|
||||||
|
|
||||||
Calendar.View =function() { this.daystep = 0; this.monthstep = 0; }
|
Calendar.View =function() { this.daystep = 0; this.monthstep = 0; }
|
||||||
|
@ -1243,7 +1243,7 @@ var df=get_field(dt,key);if(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(Loc
|
|||||||
return locals[dt][newdoc];}
|
return locals[dt][newdoc];}
|
||||||
function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}}
|
function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}}
|
||||||
return dl;}
|
return dl;}
|
||||||
var rename_observers=[];function notify_rename_observers(dt,old_name,new_name){try{var old=locals[dt][old_name];old.parent=null;old.__deleted=1;}catch(e){alert("[rename_from_local] No Document for: "+old_name);}
|
var rename_observers=[];function notify_rename_observers(dt,old_name,new_name){try{delete locals[dt][old_name];}catch(e){alert("[rename_from_local] No Document for: "+old_name);}
|
||||||
for(var i=0;i<rename_observers.length;i++){if(rename_observers[i])
|
for(var i=0;i<rename_observers.length;i++){if(rename_observers[i])
|
||||||
rename_observers[i].rename_notify(dt,old_name,new_name);}}
|
rename_observers[i].rename_notify(dt,old_name,new_name);}}
|
||||||
var Meta={};var local_dt={};Meta.make_local_dt=function(dt,dn){var dl=make_doclist('DocType',dt);if(!local_dt[dt])local_dt[dt]={};if(!local_dt[dt][dn])local_dt[dt][dn]={};for(var i=0;i<dl.length;i++){var d=dl[i];if(d.doctype=='DocField'){var key=d.fieldname?d.fieldname:d.label;local_dt[dt][dn][key]=copy_dict(d);}}}
|
var Meta={};var local_dt={};Meta.make_local_dt=function(dt,dn){var dl=make_doclist('DocType',dt);if(!local_dt[dt])local_dt[dt]={};if(!local_dt[dt][dn])local_dt[dt][dn]={};for(var i=0;i<dl.length;i++){var d=dl[i];if(d.doctype=='DocField'){var key=d.fieldname?d.fieldname:d.label;local_dt[dt][dn][key]=copy_dict(d);}}}
|
||||||
|
@ -940,7 +940,7 @@ var df=get_field(dt,key);if(df&&((!from_amend&&cint(df.no_copy)==1)||in_list(Loc
|
|||||||
return locals[dt][newdoc];}
|
return locals[dt][newdoc];}
|
||||||
function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}}
|
function make_doclist(dt,dn,deleted){var dl=[];dl[0]=locals[dt][dn];for(var ndt in locals){if(locals[ndt]){for(var ndn in locals[ndt]){var doc=locals[ndt][ndn];if(doc&&doc.parenttype==dt&&(doc.parent==dn||(deleted&&doc.__oldparent==dn))){dl[dl.length]=doc;}}}}
|
||||||
return dl;}
|
return dl;}
|
||||||
var rename_observers=[];function notify_rename_observers(dt,old_name,new_name){try{var old=locals[dt][old_name];old.parent=null;old.__deleted=1;}catch(e){alert("[rename_from_local] No Document for: "+old_name);}
|
var rename_observers=[];function notify_rename_observers(dt,old_name,new_name){try{delete locals[dt][old_name];}catch(e){alert("[rename_from_local] No Document for: "+old_name);}
|
||||||
for(var i=0;i<rename_observers.length;i++){if(rename_observers[i])
|
for(var i=0;i<rename_observers.length;i++){if(rename_observers[i])
|
||||||
rename_observers[i].rename_notify(dt,old_name,new_name);}}
|
rename_observers[i].rename_notify(dt,old_name,new_name);}}
|
||||||
var Meta={};var local_dt={};Meta.make_local_dt=function(dt,dn){var dl=make_doclist('DocType',dt);if(!local_dt[dt])local_dt[dt]={};if(!local_dt[dt][dn])local_dt[dt][dn]={};for(var i=0;i<dl.length;i++){var d=dl[i];if(d.doctype=='DocField'){var key=d.fieldname?d.fieldname:d.label;local_dt[dt][dn][key]=copy_dict(d);}}}
|
var Meta={};var local_dt={};Meta.make_local_dt=function(dt,dn){var dl=make_doclist('DocType',dt);if(!local_dt[dt])local_dt[dt]={};if(!local_dt[dt][dn])local_dt[dt][dn]={};for(var i=0;i<dl.length;i++){var d=dl[i];if(d.doctype=='DocField'){var key=d.fieldname?d.fieldname:d.label;local_dt[dt][dn][key]=copy_dict(d);}}}
|
||||||
|
@ -1 +1 @@
|
|||||||
687
|
689
|
Loading…
x
Reference in New Issue
Block a user