/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// V:\1.1.007\js\form\Ext.ux.Namirial.form.AssegnaTutore.js

Ext.ns('Ext.ux');Ext.ns('Ext.ux.Namirial');Ext.ns('Ext.ux.Namirial.form');Ext.ux.Namirial.form.AssegnaTutore=Ext.extend(Ext.Window,{constructor:function(){this.cfisc;this.tipo='Tutore';this.leftGridSm=new Ext.grid.RowSelectionModel({singleSelect:true})
this.rightGridSm=new Ext.grid.RowSelectionModel({singleSelect:true})
this.tb_annulla=new Ext.Toolbar.Button({text:'Annulla le selezioni',icon:IMG_SALVA,iconCls:'x-btn-text-icon',tooltip:{title:'Annulla',text:'Annulla le selezioni effettuate'},handler:this.annullaSel,scope:this})
this.tb_ok=new Ext.Toolbar.Button({text:'Assegna',icon:IMG_OK,iconCls:'x-btn-text-icon',tooltip:{title:'Assegna',text:'Assegna tutore/rappresentante'},handler:this.assegnaTutore,scope:this})
this.tb_chiudi=new Ext.Toolbar.Button({text:'Chiudi',icon:IMG_CANCEL,iconCls:'x-btn-text-icon',tooltip:{title:'Chiudi',text:'Chiudi senza effettuare modifiche'},handler:this.close,scope:this})
this.tb_gestione=new Ext.Toolbar.Button({text:'Gestione',icon:IMG_PROP,iconCls:'x-btn-text-icon',tooltip:{title:'Gestione',text:'Gestione tutori'},handler:this.gestioneTutori,scope:this})
this.tb_tutore=new Ext.Toolbar.Button({text:'Tutore',minWidth:80,icon:IMG_TUTORE,iconCls:'x-btn-text-icon',tooltip:{title:'Tutore',text:'Assegna come tutore'},enableToggle:true,toggleGroup:'Tipo',pressed:true,toggleHandler:function(state){this.tipo='Tutore'},scope:this})
this.tb_rappresentante=new Ext.Toolbar.Button({text:'Rappres.',minWidth:80,icon:IMG_TUTORE,iconCls:'x-btn-text-icon',tooltip:{title:'Rappresentante',text:'Assegna come Rappresentante'},enableToggle:true,toggleGroup:'Tipo',pressed:false,toggleHandler:function(state){this.tipo='Rappresentante'},scope:this})
this.storeDichiarazioni=new Ext.ux.Namirial.data.ArrayStore({url:JSONDATAURL,remoteSort:false,idIndex:1,fields:fields_anagList,sql:getQuery(sp_ANAGRAFI_PERMISSIONS,[session.userLogged,"",UNIBILI,""])});this.storeTutori=new Ext.ux.Namirial.data.ArrayStore({url:JSONDATAURL,remoteSort:false,idIndex:2,fields:campi_tutori,sql:SEL_TUTORI+" WHERE [SPORTELLO] = '"+session.userLogged+"'"});this.storeAnagraficaHistory=new Ext.ux.Namirial.data.GearsStore({gearsConn:conn,dbname:GDATABASE,selectFrom:ANAGRAFICA_TAB,fields:structStore.getFields(ANAGRAFICA_TAB),autoLoad:false});this.storeDichiarazioni.on({'load':{fn:function(store,rec){store.filterBy(filtraCAF);this.storeDichiarazioni.on('add',function(store,rec,index){this.storeDichiarazioni.getAt(index).set('icon',true);this.storeDichiarazioni.getAt(index).set('LOCKED',false);},this)
this.storeAnagraficaHistory.on('load',function(o,rec){if(this.storeAnagraficaHistory.getCount()>0){this.storeAnagraficaHistory.each(function(recordSet){var index=this.storeDichiarazioni.find('CFISC',recordSet.get('CFISC'));if((index!=undefined&&index>-1)){this.storeDichiarazioni.getAt(index).set('icon',true);}},this);}
this.storeDichiarazioni.commitChanges();},this);this.storeAnagraficaHistory.load();},single:true,scope:this}},this);this.leftGrid=new Ext.grid.GridPanel({height:300,stripeRows:true,title:'Dichiarante',store:this.storeDichiarazioni,border:false,autoScroll:true,loadMask:true,sm:this.leftGridSm,columns:campi_congiunta});this.rightGrid=new Ext.grid.GridPanel({height:300,title:'Tutore/Rappresentante',stripeRows:true,store:this.storeTutori,border:false,autoScroll:true,loadMask:true,sm:this.rightGridSm,columns:header_tutori});Ext.ux.Namirial.form.AssegnaTutore.superclass.constructor.call(this,{id:WINDOW_DICTUTORE,draggable:true,title:'Assegna tutore/rappresentante',width:860,height:400,layout:'column',items:[{columnWidth:.5,layout:'fit',style:'padding-top: 6px; padding-left: 6px; padding-right: 3px;',items:this.leftGrid},{columnWidth:.5,layout:'fit',style:'padding-top: 6px; padding-left: 3px; padding-right: 2px;',items:this.rightGrid}],tbar:[this.tb_gestione,new Ext.Toolbar.Separator(),'Assegna come:&nbsp;',this.tb_tutore,this.tb_rappresentante],bbar:['->',this.tb_ok,this.tb_chiudi]});this.on('beforeshow',function(){chiudiFinestre()});this.on('show',function(){hideLoading();this.storeDichiarazioni.loadSp();this.storeTutori.load();},this)},showWinDicTutore:function(){if(Ext.isEmpty(Ext.WindowMgr.get(WINDOW_DICTUTORE))){this.show();}},gestioneTutori:function(){var tutoriList=new Ext.ux.Namirial.form.Tutori();tutoriList.on('close',function(){this.storeTutori.reload();},this)
tutoriList.showList();},tutoreSuccess:function(cfisc){unlockDichiarazione.call(this,cfisc,function(response){this.storeDichiarazioni.loadSp();Ext.ux.Namirial.Toast.msg('Assegna tutore/rappresentante','Le due dichiarazioni sono state congiunte con successo.',2);},function(response){Ext.ux.Namirial.Toast.msg('Assegna tutore/rappresentante','Si '+UNI_E+' verificato un errore nell\'operazione.',2);log.fatal("Ext.ux.Namirial.form.AssegnaTutore.tutoreFailure -> ",response);})},tutoreFailure:function(cfisc){Ext.ux.Namirial.Toast.msg('Errore','Si '+UNI_E+' verificato un errore durante l\'assegnamento del '+this.tipo.toLowerCase(),2);log.fatal("Ext.ux.Namirial.form.AssegnaTutore.tutoreFailure -> ",response);if(cfisc){unlockDichiarazione.call(this,cfisc,function(response){},function(response){log.fatal("Ext.ux.Namirial.form.AssegnaTutore.tutoreFailure unlock -> ",response);})}},assegnaTutore:function(){var url=(this.tipo=='Tutore')?ASSEGNATUTORE:ASSEGNARAPPR;if(this.leftGridSm.getCount()>0&&this.rightGridSm.getCount()>0){var dichiarante_rec=this.leftGridSm.getSelected();var tutore_rec=this.rightGridSm.getSelected();var dichiarante=dichiarante_rec.get('CFISC');var data=getDataNascita(dichiarante);if((this.tipo=='Rappresentante')&&!checkMinore(data)){Ext.Msg.alert('Attenzione!','Impossibile assegnare un rappresentante in quanto il dichiarante non risulta minorenne.');Ext.Msg.setIcon(Ext.Msg.WARNING);return false;}
if(!dichiarante_rec.get('icon')&&!tutore_rec.get('LOCKED')&&!dichiarante_rec.get('LOCKED')&&!tutore_rec.get('icon')){var tutore=tutore_rec.get('CFISC');if(dichiarante!=tutore){Ext.MessageBox.confirm('Assegna '+this.tipo.toLowerCase(),'Si sta assegnando <br> <b><font color="red"> '+tutore+'</font> </b>come '+this.tipo.toLowerCase()+' di <b><font color="red">'+dichiarante+'</font></b><br> Continuare ?',function(button){if(button=='yes'){lockDichiarazione.call(this,dichiarante,session.userLogged,function(){Ext.Ajax.request({url:url,params:{cfisc:dichiarante,cfisccon:tutore,db:session.userDb},scriptTag:true,success:function(response){readResultResponse(response,this.tutoreSuccess.createDelegate(this,[dichiarante]),this.tutoreFailure.createDelegate(this,[dichiarante]))},failure:function(){this.tutoreFailure.call(this);},scope:this});},function(){this.storeDichiarazioni.loadSp();Ext.ux.Namirial.Toast.msg('Dichiarazione lockata','La dichiarazione '+UNI_E+' stata lockata nel frattempo')})}},this);}
else{Ext.Msg.alert('Attenzione!','Non si possono congiungere due dichiarazioni uguali.');}}
else{Ext.Msg.alert('Attenzione!','Non '+UNI_E+' possibile assegnare un '+this.tipo.toLowerCase()+' a questa dichiarazione in quanto risulta in uso.<br>Se la dichiarazioni '+UNI_E+' salvata in locale sincronizzare prima di effettuare questa operazione.');}}else{Ext.Msg.alert('Attenzione!','Selezionare due dichiarazioni da congiungere');}},annullaSel:function(){this.leftGridSm.clearSelections();this.rightGridSm.clearSelections();}})

