this.dialog = Roo.factory({
xtype: 'LayoutDialog',
xns: Roo,
+ listeners : {
+ show : function (_self)
+ {
+ _this.grid.ds.load({});
+ }
+ },
height : 500,
modal : true,
resizable : false,
listeners : {
update : function (_self, record, operation)
{
- Roo.log(operation);
+ //Roo.log(operation);
if (operation != 'commit') {
return;
}
+ var p = Roo.apply({}, record.data);
+ p.dtstart = record.data.dtstart.format('Y-m-d');
+ p.dtend = record.data.dtend.format('Y-m-d');
+
+
new Pman.Request({
url : baseURL + '/Roo/Core_notify_recur',
method :'POST',
- params : record.data,
- success : function()
+ params : p,
+ success : function(data)
{
- //??
+ //Roo.log(data);
+ record.set('id', data.data.id);
},
failure : function() {
Roo.MessageBox.alert("Error", "There was a problem saving");
if (!_this.data) {
return false;
}
- o.params = Roo.apply(o.params, {
+ o.params = Roo.apply(o.params || {}, {
person_id : _this.data.person_id,
onid : _this.data.onid,
ontable : _this.data.ontable,
]
}
},
- footer : {
- xtype: 'PagingToolbar',
- xns: Roo,
- pageSize : 25,
- displayInfo : true,
- displayMsg : "Displaying core_notify_recur{0} - {1} of {2}",
- emptyMsg : "No core_notify_recur found"
- },
toolbar : {
xtype: 'Toolbar',
xns: Roo,
var r = grid.getDataSource().reader.newRow({
// defaults..
person_id : _this.data.person_id,
- dtstart : new Date(0),
+ dtstart : new Date(),
dtend : Date.parseDate('2050-01-01', 'Y-m-d'),
- tz : 'Asia/Hong Kong',
+ tz : 'Asia/Hong_Kong',
onid : _this.data.onid,
ontable : _this.data.ontable,
method : _this.data.method,
{
xtype: 'Button',
xns: Roo.Toolbar,
- text : "Delete",
- cls : 'x-btn-text-icon',
- icon : rootURL + '/Pman/templates/images/trash.gif',
listeners : {
click : function()
{
- Pman.genericDelete(_this, 'core_notify_recur');
+ _this.grid.stopEditing();
+ var s = _this.grid.selModel.getSelectedCell();
+ if (!s) {
+ Roo.MessageBox.alert("Error", "Select row");
+ return;
+ }
+
+ new Pman.Request({
+ url : baseURL + '/Roo/core_notify_recur',
+ method : 'POST',
+ params : {
+ _delete : _this.grid.ds.getAt(s[0]).data.id
+ },
+ success : function() {
+ _this.grid.ds.load({});
+ },
+ failure : function() {
+ Roo.MessageBox.alert("Error", "Deleting failed - try reloading");
+ }
+ });
+
}
- }
+ },
+ cls : 'x-btn-text-icon',
+ text : "Delete",
+ icon : rootURL + '/Pman/templates/images/trash.gif'
}
]
},
width : 100,
renderer : function(v,x,r) {
+ if (v.length) {
+
+ var cm = _this.grid.colModel;
+
+ var ci = cm.getColumnByDataIndex(this.name);
+
+ var tv = [];
+ var vals = Roo.decode(v);
+ Roo.each(vals, function(k) {
+ var r = this.findRecord(this.valueField, k);
+ if(r){
+ tv.push(r.data[this.displayField]);
+ }else if(this.valueNotFoundText !== undefined){
+ tv.push( this.valueNotFoundText );
+ }
+ },ci.editor.field);
+
+ r.data[this.name + '_name'] = tv.join(', ');
+ return String.format('{0}',tv.join(', '));
+
+
+
+ }
+ r.data[this.name + '_name'] = '';
return String.format('{0}', r.data.freq_day_name || v);
},
width : 250,
renderer : function(v,x,r) {
+
+ if (v.length) {
+
+ var cm = _this.grid.colModel;
+
+ var ci = cm.getColumnByDataIndex(this.name);
+
+ var tv = [];
+ var vals = Roo.decode(v);
+ Roo.each(vals, function(k) {
+ var r = this.findRecord(this.valueField, k);
+ if(r){
+ tv.push(r.data[this.displayField]);
+ }else if(this.valueNotFoundText !== undefined){
+ tv.push( this.valueNotFoundText );
+ }
+ },ci.editor.field);
+
+ r.data[this.name + '_name'] = tv.join(', ');
+ return String.format('{0}',tv.join(', '));
+
+
+
+ }
+ r.data[this.name + '_name'] = '';
return String.format('{0}', r.data.freq_hour_name || v);
},
var dh = i < 13 ? i : i-12;
ret.push([ h+':00', dh+':00' + mer ]);
- ret.push([ h+':00', dh+':30' + mer ]);
+ ret.push([ h+':30', dh+':30' + mer ]);
}
return ret;
})(),
emptyText : "Select timezone",
fieldLabel : 'core_enum',
forceSelection : true,
- hiddenName : 'tz',
listWidth : 400,
loadingText : "Searching...",
minChars : 2,
- name : 'tz_name',
+ name : 'tz',
pageSize : 999,
qtip : "Select timezone",
queryParam : 'q',
tpl : '<div class="x-grid-cell-text x-btn button"><b>{tz}</b> </div>',
triggerAction : 'all',
typeAhead : true,
- valueField : 'tz',
width : 300,
store : {
xtype: 'Store',
{
xtype: 'ColumnModel',
xns: Roo.grid,
- header : 'Last event',
- width : 75,
dataIndex : 'last_event_id',
- renderer : function(v) { return String.format('{0}', v); }
+ header : 'Last Sent',
+ width : 75,
+ renderer : function(v) { return String.format('{0}', v ? v : 'never'); }
}
]
}
{
xtype: 'Button',
xns: Roo,
+ listeners : {
+ click : function (_self, e)
+ {
+ _this.dialog.hide();
+ }
+ },
text : "Done"
}
]