1 //<script type="text/javascript">
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
5 Roo.namespace('Pman.Tab');
7 Pman.Tab.XtuplePeriods = new Roo.XComponent({
8 part : ["Xtuple", "Periods" ],
9 order : '300-Pman.Tab.XtuplePeriods',
11 parent : 'Pman.Tab.XtupleAccountsTab',
12 name : "unnamed module",
24 xtype : 'LayoutRegion',
31 title : "Year Periods",
32 xtype : 'LayoutRegion',
40 xtype : 'BorderLayout',
47 xtype : 'RowSelectionModel',
54 url : baseURL + '/Roo/Yearperiod.php',
66 'name': 'yearperiod_id',
70 'name': 'yearperiod_name',
75 totalProperty : 'total'
80 sortInfo : { field : 'yearperiod_start', direction: 'ASC' },
88 autoExpandColumn : 'yearperiod_start',
95 xtype : 'ColumnModel',
98 renderer : function(v,x,r)
100 v = r.data.yearperiod_start.getFullYear() + '-' + r.data.yearperiod_end.getFullYear();
102 return String.format('{0}', v ? v : '');
105 dataIndex : 'yearperiod_name'
109 xtype : 'ColumnModel',
113 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); },
115 dataIndex : 'yearperiod_start'
119 xtype : 'ColumnModel',
123 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); },
125 dataIndex : 'yearperiod_end'
129 xtype : 'ColumnModel',
133 renderer : function(v) {
134 var state = v ? '-checked' : '';
136 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
140 dataIndex : 'yearperiod_closed'
144 cellclick : function (_self, rowIndex, columnIndex, e)
147 var di = this.colModel.getDataIndex(columnIndex);
149 if (di != 'yearperiod_closed') {
153 var rec = this.ds.getAt(rowIndex);
156 var open = function(){
158 url : baseURL + '/Roo/Yearperiod.php',
163 yearperiod_id : rec.data.yearperiod_id,
167 success : function() {
168 _this.wgrid.ds.load({});
173 var close = function(){
175 url : baseURL + '/Roo/Yearperiod.php',
180 yearperiod_id : rec.data.yearperiod_id,
184 success : function() {
185 _this.wgrid.ds.load({});
190 if(rec.data.yearperiod_id * 1 < 1){
191 Roo.MessageBox.alert('Error', 'Please select a period?');
196 if(rec.data.yearperiod_closed *1){
197 Roo.MessageBox.confirm("Confirm", "Are you sure want to open this year period?" , function(r) {
210 Roo.MessageBox.confirm("Confirm", "Are you sure want to close this year period?" , function(r) {
225 //_this.dialog = Pman.Dialog.FILL_IN
226 if (_this.wpanel.active) {
230 rowclick : function (_self, rowIndex, e)
232 _this.grid.ds.load({});
244 title : "Year Periods",
248 tableName : 'yearperiod',
250 activate : function() {
253 _this.wgrid.ds.load({});
272 xtype : 'SimpleStore',
278 fields : [ 'ftype', 'fname'],
283 triggerAction : 'all',
284 fieldLabel : 'Status',
285 displayField : 'fname',
286 hiddenName : 'status',
288 valueField : 'ftype',
297 render : function (_self)
299 _this.status = _self;
301 select : function (combo, record, index)
303 _this.grid.ds.load({});
312 '|xns' : 'Roo.Toolbar',
317 '|xns' : 'Roo.Toolbar',
318 text : "Add Extra Year",
320 cls : 'x-btn-text-icon',
321 icon : Roo.rootURL + 'images/default/dd/drop-add.gif',
326 var addPeriod = function(){
328 url : baseURL + '/Roo/Period.php',
335 success : function() {
336 _this.wgrid.ds.load({});
341 Roo.MessageBox.confirm("Confirm", "Are you sure want to add extra year" , function(r) {
352 '|xns' : 'Roo.Toolbar',
357 '|xns' : 'Roo.Toolbar',
358 text : "Close all empty months",
360 cls : 'x-btn-text-icon',
361 icon : Roo.rootURL + 'images/default/tree/leaf.gif',
370 _this.grid.ds.each(function (r) {
371 if (r.data.period_closed) {
375 if(r.data.transactions > 0 ){
383 Roo.MessageBox.alert("Notice", "Nothing to close");
387 var tl = list.length;
389 var closeNext = function(){
392 Roo.MessageBox.hide();
393 _this.grid.ds.load({});
397 var item = list.shift();
399 Roo.MessageBox.updateProgress(
400 (tl-list.length) / tl,
401 "Closing " + item.period_name
406 url : baseURL + '/Roo/Period.php',
408 //mask : 'Processing',
411 period_id : item.period_id,
413 _second_action : 'freeze'
415 success : function() {
417 // _this.grid.ds.load({});
425 Roo.MessageBox.confirm("Confirm", "Are you sure want to close the period where there are no transactions?" , function(r) {
429 Roo.MessageBox.progress( "Closing periods", "Closing periods");
447 url : baseURL + '/Roo/Period.php',
456 xtype : 'JsonReader',
463 'name': 'period_name',
468 totalProperty : 'total'
473 sortInfo : { field : 'period_start', direction: 'ASC' },
476 beforeload : function (_self, options)
478 options.params = options.params || {};
480 var s = _this.wgrid.getSelectionModel().getSelected();
482 if(!s || !s.data.yearperiod_id * 1 > 0){
483 Roo.MessageBox.alert('Error','Please select a year period');
488 options.params._status = _this.status.getValue();
489 options.params.period_yearperiod_id = s.data.yearperiod_id;
490 options.params._with_transactions = 1;
501 autoExpandColumn : 'period_name',
502 xtype : 'EditorGrid',
516 xtype : 'GridEditor',
524 xtype : 'ColumnModel',
527 renderer : function(v)
529 return String.format('{0}', v ? v : '');
532 dataIndex : 'period_name',
540 xtype : 'ColumnModel',
543 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); },
545 dataIndex : 'period_start'
549 xtype : 'ColumnModel',
552 renderer : function(v) { return String.format('{0}', v ? v.format('Y-m-d') : ''); },
554 dataIndex : 'period_end'
558 xtype : 'ColumnModel',
561 renderer : function(v) {
562 var state = v ? '-checked' : '';
564 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
568 dataIndex : 'period_closed'
572 xtype : 'ColumnModel',
575 renderer : function(v) {
576 var state = v ? '-checked' : '';
578 return '<img class="x-grid-check-icon' + state + '" src="' + Roo.BLANK_IMAGE_URL + '"/>';
582 dataIndex : 'period_freeze'
587 xtype : 'ColumnModel',
588 header : 'Transactions',
590 renderer : function(v)
592 return String.format('{0}', v ? v : '');
595 dataIndex : 'transactions'
599 beforeedit : function (e)
601 if(e.field != 'period_name'){
609 cellclick : function (_self, rowIndex, columnIndex, e)
612 var di = this.colModel.getDataIndex(columnIndex);
614 if (di != 'period_closed' && di != 'period_freeze') {
618 var rec = _this.grid.ds.getAt(rowIndex);
620 if(rec.data.period_id * 1 < 1){
621 Roo.MessageBox.alert('Error', 'Error occur on getting the period id');
625 var action = rec.data[di] ? 'thaw' : 'freeze';
627 if(di == 'period_closed'){
628 action = rec.data[di] ? 'open' : 'close';
632 url : baseURL + '/Roo/Period.php',
637 period_id : rec.data.period_id,
641 success : function() {
642 _this.grid.ds.load({});
647 afteredit : function (e)
649 if(e.field != 'period_name' || e.originalValue == e.value){
653 if(e.record.data.period_id * 1 < 1){
654 Roo.MessageBox.alert('Error', 'Error occur on getting the period id');
659 url : baseURL + '/Roo/Period.php',
662 period_id : e.record.data.period_id,
663 period_name : e.record.data.period_name
666 success : function() {
667 _this.grid.ds.load({});
685 tableName : 'period',
687 activate : function() {
704 xtype : 'NestedLayoutPanel',