1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Pman.Dialog.CoreNotifyRecur = {
10 show : function(data, cb)
18 this.dialog.show(this.data._el);
21 this.form.setValues(data);
22 this.form.fireEvent('actioncomplete', this.form, { type: 'setdata', data: data });
30 this.dialog = Roo.factory({
31 xtype: 'LayoutDialog',
34 show : function (_self)
36 _this.grid.ds.load({});
42 title : "Modify Recurrent Notifications",
49 activate : function() {
52 // _this.grid.footer.onClick('first');
60 tableName : 'core_notify_recur',
61 title : "core_notify_recur",
69 //_this.dialog = Pman.Dialog.FILL_IN
70 if (_this.panel.active) {
71 // this.footer.onClick('first');
74 rowdblclick : function (_self, rowIndex, e)
76 if (!_this.dialog) return;
77 _this.dialog.show( this.getDataSource().getAt(rowIndex).data, function() {
78 _this.grid.footer.onClick('first');
81 afteredit : function (e)
86 autoExpandColumn : 'freq_day',
93 update : function (_self, record, operation)
96 if (operation != 'commit') {
99 var p = Roo.apply({}, record.data);
100 p.dtstart = record.data.dtstart.format('Y-m-d');
101 p.dtend = record.data.dtend.format('Y-m-d');
105 url : baseURL + '/Roo/Core_notify_recur',
108 success : function(data)
111 record.set('id', data.data.id);
113 failure : function() {
114 Roo.MessageBox.alert("Error", "There was a problem saving");
121 beforeload : function (_self, o)
126 o.params = Roo.apply(o.params || {}, {
127 person_id : _this.data.person_id,
128 onid : _this.data.onid,
129 ontable : _this.data.ontable,
130 method : _this.data.method
136 sortInfo : { field : 'freq', direction: 'ASC' },
141 url : baseURL + '/Roo/core_notify_recur.php'
148 totalProperty : 'total',
161 'dateFormat': 'Y-m-d'
166 'dateFormat': 'Y-m-d'
173 'name': 'last_applied_dt',
175 'dateFormat': 'Y-m-d'
190 'name': 'last_event_id',
210 var grid = _this.grid;
211 var r = grid.getDataSource().reader.newRow({
213 person_id : _this.data.person_id,
214 dtstart : new Date(),
215 dtend : Date.parseDate('2050-01-01', 'Y-m-d'),
216 tz : 'Asia/Hong_Kong',
217 onid : _this.data.onid,
218 ontable : _this.data.ontable,
219 method : _this.data.method, // default...
221 method_id : _this.data.method_id, // default...
222 method_id_display_name : _this.data.method_id_display_name, // default...
232 grid.getDataSource().insert(0, r);
233 grid.startEditing(0, 2);
238 cls : 'x-btn-text-icon',
240 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
252 _this.grid.stopEditing();
253 var s = _this.grid.selModel.getSelectedCell();
255 Roo.MessageBox.alert("Error", "Select row");
260 url : baseURL + '/Roo/core_notify_recur',
263 _delete : _this.grid.ds.getAt(s[0]).data.id
265 success : function() {
266 _this.grid.ds.load({});
268 failure : function() {
269 Roo.MessageBox.alert("Error", "Deleting failed - try reloading");
275 cls : 'x-btn-text-icon',
277 icon : rootURL + '/Pman/templates/images/trash.gif'
283 xtype: 'ColumnModel',
285 dataIndex : 'method_id',
288 renderer : function(v,x,r) {
289 return String.format('{0}', r.data.method_id_display_name);
297 allowBlank : 'false',
298 displayField : 'display_name',
300 emptyText : "Select Type",
301 fieldLabel : 'core_enum',
302 forceSelection : true,
303 hiddenName : 'method_id',
305 loadingText : "Searching...",
306 name : 'method_id_display_name',
308 qtip : "Select core_enum",
309 selectOnFocus : true,
310 tpl : '<div class="x-grid-cell-text x-btn button"><b>{display_name}</b> </div>',
311 triggerAction : 'all',
319 beforeload : function (_self, o){
320 o.params = o.params || {};
322 o.params.etype = 'core_notify_recur';
326 sortInfo : { direction : 'ASC', field: 'id' },
331 url : baseURL + '/Roo/core_enum.php'
338 totalProperty : 'total',
339 fields : [{"name":"id","type":"int"},{"name":"etype","type":"string"}]
346 xtype: 'ColumnModel',
348 dataIndex : 'dtstart',
351 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
362 xtype: 'ColumnModel',
367 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
378 xtype: 'ColumnModel',
380 dataIndex : 'freq_day',
381 header : 'on day(s)',
383 renderer : function(v,x,r) {
387 var cm = _this.grid.colModel;
389 var ci = cm.getColumnByDataIndex(this.name);
392 var vals = Roo.decode(v);
393 Roo.each(vals, function(k) {
394 var r = this.findRecord(this.valueField, k);
396 tv.push(r.data[this.displayField]);
397 }else if(this.valueNotFoundText !== undefined){
398 tv.push( this.valueNotFoundText );
402 r.data[this.name + '_name'] = tv.join(', ');
403 return String.format('{0}',tv.join(', '));
408 r.data[this.name + '_name'] = '';
409 return String.format('{0}', r.data.freq_day_name || v);
419 displayField : 'title',
421 fieldLabel : 'Country',
422 hiddenName : 'freq_day',
425 name : 'freq_day_name',
427 triggerAction : 'all',
430 xtype: 'SimpleStore',
434 Roo.each(Date.dayNames, function(d) {
435 ret.push([ d.substring(0,3).toUpperCase(), d ]);
439 fields : ['code', 'title'],
440 sortInfo : { field : 'title', direction: 'ASC' }
446 xtype: 'ColumnModel',
448 dataIndex : 'freq_hour',
449 header : 'at Hour(s)',
451 renderer : function(v,x,r) {
456 var cm = _this.grid.colModel;
458 var ci = cm.getColumnByDataIndex(this.name);
461 var vals = Roo.decode(v);
462 Roo.each(vals, function(k) {
463 var r = this.findRecord(this.valueField, k);
465 tv.push(r.data[this.displayField]);
466 }else if(this.valueNotFoundText !== undefined){
467 tv.push( this.valueNotFoundText );
471 r.data[this.name + '_name'] = tv.join(', ');
472 return String.format('{0}',tv.join(', '));
477 r.data[this.name + '_name'] = '';
478 return String.format('{0}', r.data.freq_hour_name || v);
488 displayField : 'title',
490 fieldLabel : 'Country',
491 hiddenName : 'freq_hour',
494 name : 'freq_hour_name',
496 triggerAction : 'all',
499 xtype: 'SimpleStore',
503 for (var i = 5; i < 25; i++) {
504 var h = i < 10 ? ('0' + i) : i;
505 var mer = i < 12 || i > 23 ? 'am' : 'pm';
506 var dh = i < 13 ? i : i-12;
508 ret.push([ h+':00', dh+':00' + mer ]);
509 ret.push([ h+':30', dh+':30' + mer ]);
513 fields : ['code', 'title'],
514 sortInfo : { field : 'title', direction: 'ASC' }
520 xtype: 'ColumnModel',
525 renderer : function(v) { return String.format('{0}', v); },
532 allowBlank : 'false',
535 emptyText : "Select timezone",
536 fieldLabel : 'core_enum',
537 forceSelection : true,
539 loadingText : "Searching...",
543 qtip : "Select timezone",
545 selectOnFocus : true,
546 tpl : '<div class="x-grid-cell-text x-btn button"><b>{tz}</b> </div>',
547 triggerAction : 'all',
554 beforeload : function (_self, o){
555 o.params = o.params || {};
560 sortInfo : { direction : 'ASC', field: 'tz' },
565 url : baseURL + '/Core/I18n/Timezone.php'
572 totalProperty : 'total',
573 fields : [{"name":"tz","type":"string"}]
580 xtype: 'ColumnModel',
582 dataIndex : 'last_event_id',
583 header : 'Last Sent',
585 renderer : function(v) { return String.format('{0}', v ? v : 'never'); }
592 xtype: 'LayoutRegion',
602 click : function (_self, e)