#set ($status_change_title = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demandstatus.change.title")) #set ($status_change_message = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demandstatus.change.message")) #set ($status_duplicate_title = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demandstatus.duplicate.title")) #set ($status_duplicate_message = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demandstatus.duplicate.message")) #set ($status_duplicate_of_message = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demandstatus.duplicate.of.message")) #set ($requestfor_label = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demanddlg.general.requestfor.label")) #set ($change_label = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demanddlg.general.change.label")) #set ($requestfor_emptytext = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demanddlg.general.emptytextrequestfor")) #set ($subtochkbox_text = $CommonFunctions.getEncodedTermFromResourceBundle($currentUserId, "Demand", "demanddlg.general.submittedtochkboxlabel")) demandTable.generalTabDisable = function(){ demandTable.descTabPanel.findById('demandName').disable(); demandTable.submittedToCombo.disable(); demandTable.requestTypeCombo.disable(); demandTable.requestForCombo.disable(); demandTable.manualSubmittedToChkBox.disable(); demandTable.descTabPanel.findById('demandDescription').disable(); #if (!$canManageDemandItems) demandTable.origDemandChangeBtn.disable(); #end } demandTable.generalTabEnable = function(){ demandTable.descTabPanel.findById('demandName').enable(); demandTable.submittedToCombo.enable(); demandTable.requestTypeOnParentDisable(); demandTable.requestForCombo.enable(); demandTable.manualSubmittedToChkBox.enable(); demandTable.descTabPanel.findById('demandDescription').enable(); #if ($canManageDemandItems) demandTable.origDemandChangeBtn.enable(); #end } demandTable.requestTypeOnParentDisable = function(){ if(demandTable.descTabPanel.findById('isParent').getValue() == 'true'){ demandTable.requestTypeCombo.disable(); } else { demandTable.requestTypeCombo.enable(); } } demandTable.submittedToRec = Ext.data.Record.create( [ {name: 'submittedToId'}, {name: 'name'} ]); demandTable.submittedToDS = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'ajax2/Gemini?action=demand.web.ajax.GetDemandSubmittedToAction'}), reader: new Ext.data.JsonReader( { root: 'submittedTos' }, demandTable.submittedToRec ), sortInfo:{field: 'name', direction: "ASC"} }); demandTable.submittedToCombo = new Ext.form.ComboBox({ id: 'submittedTo', fieldLabel:'$table_submittedto_text', name:'submittedTo', hiddenName:'submittedToId', store: demandTable.submittedToDS, valueField:'submittedToId', displayField:'name', triggerAction: 'all', emptyText:'$emptytext_submittedto', editable: false, width: 220, //height:10, mode: 'local', allowBlank:false }); demandTable.submittedToCombo.on('select', function (val) { loadFormsData(); }); demandTable.defaultSubmittedToRec = Ext.data.Record.create( [ {name: 'defaultSubmittedToId'}, {name: 'defaultSubmittedToName'} ]); demandTable.defaultSubmittedToDS = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'ajax2/Gemini?action=demand.web.ajax.GetDefaultDemandSubmittedToAction'}), reader: new Ext.data.JsonReader( { root: 'defaultSubmittedTo' }, demandTable.defaultSubmittedToRec ), sortInfo:{field: 'defaultSubmittedToName', direction: "ASC"} }); var notset_record= Ext.data.Record.create([ {name: 'requestForId'}, {name: 'name'} ]); var NOT_SET = new notset_record({ requestForId: '', name: '$not_set_text' }); demandTable.requestForRec = Ext.data.Record.create( [ {name: 'requestForId'}, {name: 'name'} ]); demandTable.requestForDS = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'ajax2/Gemini?action=demand.web.ajax.GetDemandRequestForAction'}), reader: new Ext.data.JsonReader( { root: 'requestFors' }, demandTable.requestForRec ), sortInfo:{field: 'name', direction: "ASC"} }); demandTable.requestForCombo = new Ext.form.ComboBox({ id: 'requestForCombo', fieldLabel: '$requestfor_label', name:'requestForId', hiddenName:'requestForId', store: demandTable.requestForDS, valueField:'requestForId', displayField:'name', triggerAction: 'all', emptyText: '$requestfor_emptytext', editable: false, width: 220, mode: 'local', allowBlank:false }); demandTable.requestTypeRec = Ext.data.Record.create( [ {name: 'requestTypeId'}, {name: 'name'} ]); demandTable.requestTypeDS = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'ajax2/Gemini?action=demand.web.ajax.GetDemandRequestTypesAction'}), reader: new Ext.data.JsonReader( { root: 'requestTypes' }, demandTable.requestTypeRec ), sortInfo:{field: 'name', direction: "ASC"} }); demandTable.requestTypeCombo = new Ext.form.ComboBox({ id: 'requestType', fieldLabel: '$table_requesttype_text', name:'requestTypeId', hiddenName:'requestTypeId', store: demandTable.requestTypeDS, valueField:'requestTypeId', displayField:'name', triggerAction: 'all', emptyText:'$emptytext_demandtype', editable: false, width: 220, mode: 'local', allowBlank:false }); demandTable.requestTypeCombo.on('select', function (val) { if(val.getValue() == ""){ demandTable.descTabPanel.findById('requestForCombo').setValue(""); //demandTable.requestForDS.removeAll(); //demandTable.requestForDS.insert(0, NOT_SET); demandTable.descTabPanel.findById('requestForCombo').setValue(""); demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(true); demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(false); demandTable.descTabPanel.findById('requestForCombo').disable() } else{ demandTable.descTabPanel.findById('requestForCombo').enable() demandTable.descTabPanel.findById('requestForCombo').setValue(""); demandTable.requestForDS.reload({ params:{requestTypeId:val.getValue()}, callback: function(){ if((demandTable.requestForDS.find(NOT_SET)== -1) && (demandTable.requestForDS.getCount()==1)){ demandTable.descTabPanel.findById('requestForCombo').setValue(""); demandTable.descTabPanel.findById('requestForCombo').disable() } } }); } loadFormsData(); }); demandTable.requestForCombo.on('select', function (val) { //if some product is selected, auto populate the submitted to if(val.getValue()!= ""){ //if use manual submitted to, populate the combo box if((demandTable.descTabPanel.findById('manualSubmittedTo').getValue())){//|| (demandTable.descTabPanel.findById('demandId').getValue()== "")){ demandTable.submittedToDS.reload({ params:{projectId:val.getValue(), typeId: demandTable.descTabPanel.findById('requestType').getValue(),useManual: "Y"}, callback: function(){ //demandTable.descTabPanel.findById('submittedTo').setValue(demandTable.submittedToDS.getAt(0).get('submittedToId')); demandTable.descTabPanel.findById('submittedTo').clearValue(); } }); } //else, populate the text area else { demandTable.defaultSubmittedToDS.reload({ params:{projectId:val.getValue(), typeId: demandTable.descTabPanel.findById('requestType').getValue(),useManual: "N"}, callback: function(){ demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(false); demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(true); //if(demandTable.defaultSubmittedToDS.getCount()!=0) demandTable.descTabPanel.findById('defaultSubmittedToId').setValue(demandTable.defaultSubmittedToDS.getAt(0).get('defaultSubmittedToName')); } }); } } //else, show the entire list else{ demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(true); demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(false); demandTable.submittedToDS.reload({ params:{projectId:val.getValue(), typeId: demandTable.descTabPanel.findById('requestType').getValue(),useManual: "Y"}, callback: function(){ //demandTable.descTabPanel.findById('submittedTo').clearValue(); } }) } }); demandTable.statusRec = Ext.data.Record.create( [ {name: 'statusId'}, {name: 'name'} ]); demandTable.statusDS = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ url:'ajax2/Gemini?action=demand.web.ajax.GetDemandStatusAction'}), reader: new Ext.data.JsonReader( {root: 'dialogstatuses'}, demandTable.statusRec ), sortInfo:{field: 'name', direction: "ASC"} }); demandTable.statusCombo = new Ext.form.ComboBox({ id: 'demandstatus', fieldLabel: '$table_demandstatus_text', name:'statusId', hiddenName:'statusId', store: demandTable.statusDS, valueField:'statusId', displayField:'name', triggerAction: 'all', emptyText:'$emptytext_status', editable: false, width: 220, mode: 'local', allowBlank:false }); demandTable.statusCombo.on('beforeselect', function(combo, record, index) { var currentSelectionId = combo.getValue(); var newSelectionId = record.data.statusId; if((currentSelectionId == '000000000000' || newSelectionId == '000000000000') && !$canManageDemandItems){ Ext.MessageBox.show({ title: '$status_change_title', msg:'$status_change_message', buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.INFO }); return false; } if(newSelectionId == '000000000000'){ //If the selected status is "Duplicate" if (demandTable.requestTypeCombo.getValue() == '') { Ext.MessageBox.show({ title: '$status_duplicate_title', msg: '$status_duplicate_message', buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.WARNING }); demandTable.statusCombo.setValue("Not Set"); return false; } else { origDemand.showOrigDemand(demandTable.requestTypeCombo.getValue(), demandTable.descTabPanel.findById('demandId').getValue(), demandTable.descTabPanel.findById('origDemandId').getValue()); } disableOnDuplicate(); demandTable.isDuplicate = true; } else { demandTable.showOriginalDemandControls(null); enableOnNonDuplicate(); } }); demandTable.statusCombo.on('select', function (val) { loadFormsData(); }); demandTable.submittedBy = new Ext.form.TextField({ id: 'demandSubmittedBy', fieldLabel: '$table_submittedby_text', name: 'submittedBy', width: 400, style: 'background:transparent', readOnly: true, cls: 'read-only', allowBlank: false }); demandTable.submittedBy.setValue('$currentUser'); demandTable.origDemandDisplay = new Ext.form.TextField({ id: 'demandOrigDemandDisplay', fieldLabel: '$status_duplicate_of_message', name: 'origDemandDisplay', width: 230, style: 'background:transparent', readOnly: true, cls: 'read-only', allowBlank: true }); demandTable.manualSubmittedToChkBox = new Ext.form.Checkbox({ fieldLabel: '', hideLabel : true, name: 'manualSubTo', value: 'off', width: 400, height: 20, id: 'manualSubmittedTo', boxLabel: '$subtochkbox_text' }); var defaultSubTo = '' if( demandTable.submittedToDS.getCount()!=0) { defaultSubTo = demandTable.submittedToDS.getAt(0).get('submittedToId') alert(defaultSubTo ) } demandTable.defaultSubmittedToOption = new Ext.form.TextField({ id: 'defaultSubmittedToId', fieldLabel: '$table_submittedto_text', name: 'defaultSubmittedToName', width: 200, style: 'background:transparent', readOnly: true, cls: 'read-only', allowBlank: true }); demandTable.manualSubmittedToChkBox.on('check', function (val) { if(val.getValue()== true){ demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(true); demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(false); //demandTable.descTabPanel.findById('defaultSubmittedTo').setValue(false); demandTable.submittedToDS.reload({ params:{projectId:demandTable.descTabPanel.findById('requestForCombo').getValue(), typeId: demandTable.descTabPanel.findById('requestType').getValue(),useManual: "Y"}, callback: function(){ demandTable.descTabPanel.findById('submittedTo').enable(); } }) } else{ demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(false); demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(true); } }); /* demandTable.manualSubmittedToRadio.on('check', function (val) { alert("manual") //demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(false); //demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(true); //demandTable.descTabPanel.findById('defaultSubmittedTo').setValue(false); }); demandTable.defaultSubmittedToRadio.on('check', function (val) { //demandTable.descTabPanel.findById('defaultSubmittedToPanel').setVisible(true); //demandTable.descTabPanel.findById('manualSubmittedToPanel').setVisible(false); alert("default") }); */ demandTable.origDemandChangeBtn = new Ext.Button({ id: 'origDemandLinkChangeBtn', text: '$change_label' }); demandTable.origDemandChangeBtn.on('click', function(){ origDemand.showOrigDemand(demandTable.requestTypeCombo.getValue(), demandTable.descTabPanel.findById('demandId').getValue(), demandTable.descTabPanel.findById('origDemandId').getValue()); }); demandTable.statusPanel = new Ext.Panel({ id: 'statusPanel', labelAlign: 'right', border: false, style:'padding: 0px 80px 0', layout:'column', anchor: '122%', items: [{ columnWidth: .83, border: false, layout: 'form', items: [ demandTable.origDemandDisplay ]}, { columnWidth: .17, align: 'right', border: false, layout: 'form', items: [ demandTable.origDemandChangeBtn ]} ] }); demandTable.descTabPanel = new Ext.Panel({ labelWidth: 130, labelAlign: 'right', frame:true, waitMsgTarget: true, bodyStyle:'padding:10px 10px 5', height: 378, layout: 'form', items: [ { xtype:'hidden', id:'demandId', name:'demandId' }, { xtype:'hidden', id:'origDemandId', name:'origDemandId' }, { xtype:'hidden', id:'isParent', name:'isParent' }, { xtype:'textfield', id: 'demandName', fieldLabel: '$table_demandname_text', name: 'name', maxLength: $DemandMetaInfo.getColumnWidth("Name"), width: 400, allowBlank: false }, demandTable.requestTypeCombo, { xtype:'textarea', fieldLabel: '$table_desc_text', id: 'demandDescription', name: 'description', maxLength: $DemandMetaInfo.getColumnWidth("Description"), height: 150, width: 400, allowBlank: true }, demandTable.requestForCombo, { xtype:'panel', id: 'submittedToPanelOptions', //height: 20, border: false, layout: 'column', bodyStyle: { paddingLeft: '138px' }, items: demandTable.manualSubmittedToChkBox }, { xtype: 'panel', layout: 'form', id: 'manualSubmittedToPanel', style:'padding: 0px 0px 0', items: demandTable.submittedToCombo }, { xtype: 'panel', layout: 'form', id: 'defaultSubmittedToPanel', style:'padding: 0px 0px 0', items: demandTable.defaultSubmittedToOption }, demandTable.submittedBy, demandTable.statusCombo, demandTable.statusPanel ] }); demandTable.origDemandLinking = function(origData){ var origDemandEl = demandTable.descTabPanel.findById('origDemandId') if(origDemandEl){ origDemandEl.setValue(origData.demandId); } demandTable.showOriginalDemandControls(origData.name); }; demandTable.showOriginalDemand = function(demandId){ demandTable.showFormDetails(demandId); }; demandTable.showOriginalDemandControls = function(origDataName){ if (origDataName != null) { demandTable.origDemandDisplay.setValue(origDataName); demandTable.statusPanel.setVisible(true); } else { demandTable.statusPanel.setVisible(false); } };