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') {
100 url : baseURL + '/Roo/Core_notify_recur',
102 params : record.data,
103 success : function(data)
106 record.set('id', data.data.id);
108 failure : function() {
109 Roo.MessageBox.alert("Error", "There was a problem saving");
116 beforeload : function (_self, o)
121 o.params = Roo.apply(o.params || {}, {
122 person_id : _this.data.person_id,
123 onid : _this.data.onid,
124 ontable : _this.data.ontable,
125 method : _this.data.method
131 sortInfo : { field : 'freq', direction: 'ASC' },
136 url : baseURL + '/Roo/core_notify_recur.php'
143 totalProperty : 'total',
156 'dateFormat': 'Y-m-d'
161 'dateFormat': 'Y-m-d'
168 'name': 'last_applied_dt',
170 'dateFormat': 'Y-m-d'
185 'name': 'last_event_id',
205 var grid = _this.grid;
206 var r = grid.getDataSource().reader.newRow({
208 person_id : _this.data.person_id,
209 dtstart : new Date(0),
210 dtend : Date.parseDate('2050-01-01', 'Y-m-d'),
211 tz : 'Asia/Hong Kong',
212 onid : _this.data.onid,
213 ontable : _this.data.ontable,
214 method : _this.data.method,
223 grid.getDataSource().insert(0, r);
224 grid.startEditing(0, 2);
229 cls : 'x-btn-text-icon',
231 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
243 _this.grid.stopEditing();
244 var s = _this.grid.selModel.getSelectedCell()
246 Roo.MessageBox.alert("Error", "Select row");
251 url : baseURL + '/Roo/core_notify_recur',
254 _delete : _this.grid.ds.getAt(s[0]).data.id,
256 success : function() {
257 _this.grid.ds.load({});
259 failure : function() {
260 Roo.MessageBox.alert("Error", "Deleting failed - try reloading");
266 cls : 'x-btn-text-icon',
268 icon : rootURL + '/Pman/templates/images/trash.gif'
274 xtype: 'ColumnModel',
276 dataIndex : 'dtstart',
279 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
290 xtype: 'ColumnModel',
295 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
306 xtype: 'ColumnModel',
308 dataIndex : 'freq_day',
309 header : 'on day(s)',
311 renderer : function(v,x,r) {
315 var cm = _this.grid.colModel;
317 var ci = cm.getColumnByDataIndex(this.name);
320 var vals = Roo.decode(v);
321 Roo.each(vals, function(k) {
322 var r = this.findRecord(this.valueField, k);
324 tv.push(r.data[this.displayField]);
325 }else if(this.valueNotFoundText !== undefined){
326 tv.push( this.valueNotFoundText );
330 r.data[this.name + '_name'] = tv.join(', ');
331 return String.format('{0}',tv.join(', '));
336 r.data[this.name + '_name'] = '';
337 return String.format('{0}', r.data.freq_day_name || v);
347 displayField : 'title',
349 fieldLabel : 'Country',
350 hiddenName : 'freq_day',
353 name : 'freq_day_name',
355 triggerAction : 'all',
358 xtype: 'SimpleStore',
362 Roo.each(Date.dayNames, function(d) {
363 ret.push([ d.substring(0,3).toUpperCase(), d ]);
367 fields : ['code', 'title'],
368 sortInfo : { field : 'title', direction: 'ASC' }
374 xtype: 'ColumnModel',
376 dataIndex : 'freq_hour',
377 header : 'at Hour(s)',
379 renderer : function(v,x,r) {
384 var cm = _this.grid.colModel;
386 var ci = cm.getColumnByDataIndex(this.name);
389 var vals = Roo.decode(v);
390 Roo.each(vals, function(k) {
391 var r = this.findRecord(this.valueField, k);
393 tv.push(r.data[this.displayField]);
394 }else if(this.valueNotFoundText !== undefined){
395 tv.push( this.valueNotFoundText );
399 r.data[this.name + '_name'] = tv.join(', ');
400 return String.format('{0}',tv.join(', '));
405 r.data[this.name + '_name'] = '';
406 return String.format('{0}', r.data.freq_hour_name || v);
416 displayField : 'title',
418 fieldLabel : 'Country',
419 hiddenName : 'freq_hour',
422 name : 'freq_hour_name',
424 triggerAction : 'all',
427 xtype: 'SimpleStore',
431 for (var i = 5; i < 25; i++) {
432 var h = i < 10 ? ('0' + i) : i;
433 var mer = i < 12 || i > 23 ? 'am' : 'pm';
434 var dh = i < 13 ? i : i-12;
436 ret.push([ h+':00', dh+':00' + mer ]);
437 ret.push([ h+':00', dh+':30' + mer ]);
441 fields : ['code', 'title'],
442 sortInfo : { field : 'title', direction: 'ASC' }
448 xtype: 'ColumnModel',
453 renderer : function(v) { return String.format('{0}', v); },
460 allowBlank : 'false',
463 emptyText : "Select timezone",
464 fieldLabel : 'core_enum',
465 forceSelection : true,
468 loadingText : "Searching...",
472 qtip : "Select timezone",
474 selectOnFocus : true,
475 tpl : '<div class="x-grid-cell-text x-btn button"><b>{tz}</b> </div>',
476 triggerAction : 'all',
484 beforeload : function (_self, o){
485 o.params = o.params || {};
490 sortInfo : { direction : 'ASC', field: 'tz' },
495 url : baseURL + '/Core/I18n/Timezone.php'
502 totalProperty : 'total',
503 fields : [{"name":"tz","type":"string"}]
510 xtype: 'ColumnModel',
512 header : 'Last event',
514 dataIndex : 'last_event_id',
515 renderer : function(v) { return String.format('{0}', v); }
522 xtype: 'LayoutRegion',
532 click : function (_self, e)