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,
107 failure : function() {
108 Roo.MessageBox.alert("Error", "There was a problem saving");
115 beforeload : function (_self, o)
120 o.params = Roo.apply(o.params || {}, {
121 person_id : _this.data.person_id,
122 onid : _this.data.onid,
123 ontable : _this.data.ontable,
124 method : _this.data.method
130 sortInfo : { field : 'freq', direction: 'ASC' },
135 url : baseURL + '/Roo/core_notify_recur.php'
142 totalProperty : 'total',
155 'dateFormat': 'Y-m-d'
160 'dateFormat': 'Y-m-d'
167 'name': 'last_applied_dt',
169 'dateFormat': 'Y-m-d'
184 'name': 'last_event_id',
204 var grid = _this.grid;
205 var r = grid.getDataSource().reader.newRow({
207 person_id : _this.data.person_id,
208 dtstart : new Date(0),
209 dtend : Date.parseDate('2050-01-01', 'Y-m-d'),
210 tz : 'Asia/Hong Kong',
211 onid : _this.data.onid,
212 ontable : _this.data.ontable,
213 method : _this.data.method,
222 grid.getDataSource().insert(0, r);
223 grid.startEditing(0, 2);
228 cls : 'x-btn-text-icon',
230 icon : Roo.rootURL + 'images/default/dd/drop-add.gif'
242 var s = _this.grid.getSelectionModel().getSelected();
246 cls : 'x-btn-text-icon',
248 icon : rootURL + '/Pman/templates/images/trash.gif'
254 xtype: 'ColumnModel',
256 dataIndex : 'dtstart',
259 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
270 xtype: 'ColumnModel',
275 renderer : function(v) { return String.format('{0}', v ? v.format('d/M/Y') : ''); },
286 xtype: 'ColumnModel',
288 dataIndex : 'freq_day',
289 header : 'on day(s)',
291 renderer : function(v,x,r) {
295 var cm = _this.grid.colModel;
297 var ci = cm.getColumnByDataIndex(this.name);
300 var vals = Roo.decode(v);
301 Roo.each(vals, function(k) {
302 var r = this.findRecord(this.valueField, k);
304 tv.push(r.data[this.displayField]);
305 }else if(this.valueNotFoundText !== undefined){
306 tv.push( this.valueNotFoundText );
310 r.data[this.name + '_name'] = tv.join(', ');
311 return String.format('{0}',tv.join(', '));
316 r.data[this.name + '_name'] = '';
317 return String.format('{0}', r.data.freq_day_name || v);
327 displayField : 'title',
329 fieldLabel : 'Country',
330 hiddenName : 'freq_day',
333 name : 'freq_day_name',
335 triggerAction : 'all',
338 xtype: 'SimpleStore',
342 Roo.each(Date.dayNames, function(d) {
343 ret.push([ d.substring(0,3).toUpperCase(), d ]);
347 fields : ['code', 'title'],
348 sortInfo : { field : 'title', direction: 'ASC' }
354 xtype: 'ColumnModel',
356 dataIndex : 'freq_hour',
357 header : 'at Hour(s)',
359 renderer : function(v,x,r) {
364 var cm = _this.grid.colModel;
366 var ci = cm.getColumnByDataIndex(this.name);
369 var vals = Roo.decode(v);
370 Roo.each(vals, function(k) {
371 var r = this.findRecord(this.valueField, k);
373 tv.push(r.data[this.displayField]);
374 }else if(this.valueNotFoundText !== undefined){
375 tv.push( this.valueNotFoundText );
379 r.data[this.name + '_name'] = tv.join(', ');
380 return String.format('{0}',tv.join(', '));
385 r.data[this.name + '_name'] = '';
386 return String.format('{0}', r.data.freq_hour_name || v);
396 displayField : 'title',
398 fieldLabel : 'Country',
399 hiddenName : 'freq_hour',
402 name : 'freq_hour_name',
404 triggerAction : 'all',
407 xtype: 'SimpleStore',
411 for (var i = 5; i < 25; i++) {
412 var h = i < 10 ? ('0' + i) : i;
413 var mer = i < 12 || i > 23 ? 'am' : 'pm';
414 var dh = i < 13 ? i : i-12;
416 ret.push([ h+':00', dh+':00' + mer ]);
417 ret.push([ h+':00', dh+':30' + mer ]);
421 fields : ['code', 'title'],
422 sortInfo : { field : 'title', direction: 'ASC' }
428 xtype: 'ColumnModel',
433 renderer : function(v) { return String.format('{0}', v); },
440 allowBlank : 'false',
443 emptyText : "Select timezone",
444 fieldLabel : 'core_enum',
445 forceSelection : true,
448 loadingText : "Searching...",
452 qtip : "Select timezone",
454 selectOnFocus : true,
455 tpl : '<div class="x-grid-cell-text x-btn button"><b>{tz}</b> </div>',
456 triggerAction : 'all',
464 beforeload : function (_self, o){
465 o.params = o.params || {};
470 sortInfo : { direction : 'ASC', field: 'tz' },
475 url : baseURL + '/Core/I18n/Timezone.php'
482 totalProperty : 'total',
483 fields : [{"name":"tz","type":"string"}]
490 xtype: 'ColumnModel',
492 header : 'Last event',
494 dataIndex : 'last_event_id',
495 renderer : function(v) { return String.format('{0}', v); }
502 xtype: 'LayoutRegion',
512 click : function (_self, e)