{% extends 'layout.twig' %}

{% block body %}
	<div class="clearfix titre_div"  id="creationDA">
		<h1>{{ "Demande d'achat" | trad }}</h1>
		{{ ariane() }}
		
		<h2>
		    {{ "Création d'un entête de demande d'achat"  | trad  }} : 
		    
			{{ Button('Création' | trad, 1,'', "validationEnteteDemandeAchat('"~path('DemandeAchat.CreationDemandeAchat.validation')~"')", [], true, '', '',  'creation') }}
		    {{ Button('Annuler' | trad, 0, path('DemandeAchat.GestionDemandeAchat.index')) }}
		</h2>
		
		<script>
			function validationEnteteDemandeAchat(path)
			{
				activeLoader();
				$.ajax({
					url : path ,
					type: 'POST',
					data: $('#form_creationEnteteDA').serialize(),
					success: function (data) {            
							desactiveLoader();
							$("#modal-content").addClass("modal_small");
							$("#modal-body").html(data);
							$("#modal-title").html('Erreur validation');
							activePopup();
					},
					error: function (data){
						var data = jQuery.parseJSON(data.responseText);
						window.location.href = data.path;
					}
				});
			};
		</script>
	</div>
	<div class="tab-content">
		<form action="" method="post" name="form_creationEnteteDA" id="form_creationEnteteDA" class="padding15" >
			<input type="hidden" id="submitForce" name="submitForce" value="0" />
			<div id="contentFixe" class="clearfix bg_form padding_form border_form">			
				<div class="clearfix ">
					<div class="colonne2">                           	
						<div class="row">
							<input type="hidden" name="MODIF_STE" id="MODIF_STE" />
							{{ inputAdvance('ZOOMADVANCE', {
								'titre' : 'Société' | trad,
								'name' : 'SOCIETE',
								'value' : da.SOCIETE,
								'pahtZoom' : path('Ajax.liste.societe'),
								'titleZoom' : 'Liste des sociétés' | trad,
								'entity' : 'Societe',
								'pathConvert' : path('Ajax.outil.convertLibelle'),
								'convertLibelle' : 'convertLibelleGlobal',
								'pathValidator' : path('Ajax.validator.zoom'),
								'paramsValidator' : "{'entity' : 'Societe', 'nomChamp' : '"~ 'Société' | trad ~"', 'null' : false}",
								'obligatoire' : true,
							}) }}
						</div>
						<SCRIPT>
							$('#input_SOCIETE').change(function(){
								activeLoader();
								$('#MODIF_STE').val(1);
								$.ajax({
									dataType : 'html',
									url: window.location.pathname,
									data: $('#form_creationEnteteDA').serialize() + "&MODE=ChangeSociete", 
									type: "POST",
									success: function(result){        	  		;
										refreshFonction('centreLivDiv', result);
										refreshFonction('centreEmetDiv', result);
										refreshFonction('sectionImputationDiv', result);
										refreshFonction('codeComplementaireDiv', result);
										refreshFonction('sousCompteAnalyseDiv', result);
										$('#MODIF_STE').val(0);
                    	    			desactiveLoader();
									}
								});
							});
						</SCRIPT>
					</div>
				</div>
				
				<div class="clearfix">
					<fieldset class="scheduler-border" id="fildset_da">
						<legend class="scheduler-border">{{ 'Demande d\'achat' | trad }}</legend>
						{% if param.NO_DA_ACTIF %}
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('TEXTE', {
									'titre' : 'Numéro' | trad,
									'name' : 'NO_DA',
									'value' : da.NO_DA,
									'pathValidator' : path('Ajax.validator.numeroDemandeAchat'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Numéro de DA' | trad ~"', 'sizeMin' : '"~ param.NO_DA_OBLIG ~"'}",
									'obligatoire' : param.NO_DA_OBLIG,
								}) }}
							</div>
						</div>
						{% endif %}

						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Type de DA' | trad,
									'name' : 'TYP_DOC',
									'value' : da.TYP_DOC,
									'pahtZoom' : path('Ajax.liste.typeDoc'),
									'titleZoom' : 'Liste des types de document' | trad,
									'entity' : 'typeDoc',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.zoom'),
									'paramsValidator' : "{'entity' : 'typeDoc', 'nomChamp' : '"~ 'Type de document' | trad ~"'}",
									'obligatoire' : true,
								}) }}
							</div>
						</div>

						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('SELECT', {
									'titre' : 'Chiffrage/Exécution' | trad,
									'name' : 'CHIF_EXEC',
									'listeValue' : tabTypeChiffExecution,
									'value' : da.CHIF_EXEC,
								}) }}
							</div>
						</div>	

						{% if param.TYPEACHAT_ACTIF %}									
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('SELECT', {
									'titre' : 'Type d\'achat' | trad,
									'name' : 'TYPNMP',
									'listeValue' : tabTypeMarchePublic,
									'value' : da.TYPNMP,
									'obligatoire' : true,
								}) }}
							</div>
						</div>
						{% endif %}

						{% if param.NOCDISDA_ACTIF %}					
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('SWITCH', {
									'titre' : 'Noter les commandes issues de cette DA ?' | trad,
									'name' : 'NOCDISDA',
									'value' : da.NOCDISDA,
								}) }}
							</div>
						</div>
						{% endif %}

						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('TEXTE', {
									'titre' : 'Zone libre DA' | trad,
									'name' : 'ZONELIB',
									'value' : da.ZONELIB,
									'pathValidator' : path('Ajax.validator.isStringAvecEspace'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Zone libre DA' | trad ~"', 'sizeMin' : '0', 'sizeMax' : '30'}",
								}) }}
							</div>
						</div>

						{% if param.LANGUE_ACTIF %}					
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('SELECT', {
									'titre' : 'Langue de la DA' | trad,
									'name' : 'COD_LNG',
									'value' : da.COD_LNG,								
									'listeValue' : tabLangues,
									'obligatoire' : true,
								}) }}
							</div>
						</div>
						{% endif %}
					</fieldset>	
				</div>
				
				
				<div class="clearfix">
					<fieldset class="scheduler-border" id="fildset_demandeur">
						<legend class="scheduler-border">{{ 'Demandeur' | trad }}</legend>
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Demandeur' | trad,
									'name' : 'NO_DEM',
									'value' : da.NO_DEM,								
									'pahtZoom' : path('Ajax.liste.demandeur'),
									'titleZoom' : 'Liste des demandeurs' | trad,
									'entity' : 'HASTUTIL',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'paramZoom' : "{'tri_CODE':'asc', 'CODE_STE' : $('#input_SOCIETE').val()}",
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.demandeur'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Demandeur' | trad ~"', 'CODE_STE' : $('#input_SOCIETE').val()}",
									'obligatoire' : true,
								}) }}
							</div>
						</div>

						<div class="colonne2" id="centreLivDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Centre de livraison' | trad,
									'name' : 'CTR_LIV',
									'value' : da.CTR_LIV,								
									'pahtZoom' : path('Ajax.liste.centreLivraison'),
									'paramZoom' : "{'code_ste' : $('#input_SOCIETE').val()}",
									'titleZoom' : 'Liste des centres de livraison' | trad,
									'entity' : 'Centre',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.zoom'),
									'paramsValidator' : "{'entity' : 'Centre', 'nomChamp' : '"~ 'Centre de livraison' | trad ~"', 'post' : {'filter_egal_CODE_STE' : $('#input_SOCIETE').val(), 'filter_LIVRAISON' : 'T'}}",
									'option' : param.LOCK_CTR_LIV ? 'readOnly' : '',	
									'obligatoire' : true,
								}) }}
							</div>
							<SCRIPT>
								$('#input_CTR_LIV').change(function(){
									activeLoader();
									$.ajax({
										dataType : 'html',
										url: window.location.pathname,
										data: $('#form_creationEnteteDA').serialize() + "&MODE=ChangeCtrLiv", 
										type: "POST",
										success: function(result){        	  		;
											refreshFonction('modeTransportDiv', result);
                    	    				desactiveLoader();
										}
									});
								});
							</SCRIPT>
						</div>

						{% if param.MOD_TRS_ACTIF %}
						<div class="colonne2">
							<div class="row">
								<div class="row" id="modeTransportDiv">
									{{ inputAdvance('SELECT', {
										'titre' : 'Mode de transport' | trad,
										'name' : 'MOD_TRS',
										'value' : da.MOD_TRS ?? '',
										'listeValue' : da.MOD_TRS ? tabTransport : {},
										'option' : param.MODIF_MODTRS ? '' : 'readOnly',
										'obligatoire' : param.OBLIG_MODTRS,
									}) }}
								</div>
							</div>
						</div>
						{% endif %}		

						<div class="colonne2" id="centreEmetDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Centre émetteur' | trad,
									'name' : 'DAENT_CENTRE_EMETTEUR',
									'value' : da.DAENT_CENTRE_EMETTEUR,
									'pahtZoom' : path('Ajax.liste.centreEmetteur'),
									'paramZoom' : "{'code_ste' : $('#input_SOCIETE').val()}",
									'titleZoom' : 'Liste des centres émetteur' | trad,
									'entity' : 'Centre',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.zoom'),
									'paramsValidator' : "{'entity' : 'Centre', 'nomChamp' : '"~ 'Centre émetteur' | trad ~"', 'post' : {'filter_egal_CODE_STE' : $('#input_SOCIETE').val(), 'filter_EMISSION' : 'T'}}",
									'option' : param.CTR_EMET_LOCK ? 'readOnly' : '',																	
									'obligatoire' : true,
								}) }}
							</div>
						</div>					
							
						{% if param.SI_ACTIF %}
						<div class="colonne2" id="sectionImputationDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Section d\'imputation' | trad,
									'name' : 'SECTIMP',
									'value' : da.SECTIMP,
									'pahtZoom' : path('Ajax.liste.si'),
									'paramZoom' : "{'si_valide': 'on', 'CODE_STE' : $('#input_SOCIETE').val(), 'showFiltreDate': '1'}",
									'entity' : 'Sectimpu',
                                    'codeSte' : da.CODE_STE,
									'titleZoom' : 'Liste des sections imputation' | trad,
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.sectionImputation'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Section imputation' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : $('#input_SOCIETE').val(), 'min_bloquant' : '"~ param.MIN_SI_BLOQUANT ~"', 'max_bloquant' : '"~ param.MAX_SI_BLOQUANT ~"'}",
									'widthPopup' : 'modal_large',
									'option' : param.LOCK_SI? 'readOnly':'',
									'codeSte' : da.SOCIETE,
									'faceAttr' : {
										'data-stelink' : 'input_SOCIETE',
									},
								}) }}
							</div>
							<SCRIPT>
								$('#input_SECTIMP').change(function(){
									activeLoader();
									$.ajax({
										dataType : 'html',
										url: window.location.pathname,
										data: $('#form_creationEnteteDA').serialize() + "&MODE=ChangeSectimp", 
										type: "POST",
										success: function(result){
											refreshFonction('codeGestionDiv', result);
                    	    				desactiveLoader();
										}
									});
								});
							</SCRIPT>
						</div>
						<div class="colonne2" id="codeGestionDiv">
							<div class="row">
								{# TODO supprimer pathConvert et ajouter les lignes suivantes à adapter avec les valeurs de la page #}
									{# 'myFunction' : 'convertLibelleCodeGestion',
									'myParams' : '["'~path('Ajax.outil.convertLibelleCodeGestion')~'", this, "CODE_GES", "CODE_AFF", "input_ID_CG-'~cde.NO_LIGNE~'", "text_ID_CG-'~cde.NO_LIGNE~'", "'~ facture.CODE_STE ~'", "'~numLot~'", "", "input_CODE_SI-'~cde.NO_LIGNE~'", 0]', #}
								{{ inputAdvance('TREEVIEW', {
									'titre' : 'Code gestion' | trad,
									'name' : 'CODGES',
									'value' : da.CODGES,
									'pathTreeview' : path('Ajax.Treeview.codeGestion'),
									'paramsTreeview' : "{'CODE_SI': document.getElementById('input_SECTIMP').value, 'valide_obligatoire': '1', 'inputCG' : 'CODGES', 'CODE_STE' : $('#input_SOCIETE').val(), 'AUTHACHAT' : '1'}",
									'titleTreeview' : 'Liste des codes gestion' | trad,
									'entity' : 'Codgest',
									'convertLibelle' : 'cgTrad',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'pathValidator' : path('Ajax.validator.codeGestion'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Code gestion' | trad ~"', 'null' : "~ (param.OBLIG_CODGES ? 'false' : 'true') ~", 'CODE_SI': document.getElementById('input_SECTIMP').value, 'CODE_STE' : $('#input_SOCIETE').val(), 'valide_obligatoire': '1', 'AUTHACHAT' : '1'}",
									'codeBDD' : 'CODE_AFF',
									'libelleBDD' : 'LIB_GES',
									'option' : param.MODIF_CODGES ? '' : 'readOnly',
									'obligatoire' : param.OBLIG_CODGES,
								}) }}
							</div>
						</div>
						{% endif %}

						{% if param.CDC_ACTIF %}
						<div class="colonne2" id="codeComplementaireDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Code complémentaire' | trad,
									'name' : 'CODECOMP',
									'value' : da.CODECOMP,
									'pahtZoom' : path('Ajax.liste.cdc'),
									'paramZoom' : "{'cdc_valide': 'on', 'CODE_STE' : $('#input_SOCIETE').val(), 'showFiltreDate': '1'}",
									'titleZoom' : 'Liste des codes complémentaires' | trad,
									'entity' : 'codeComp',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.codeComplementaire'),
									'paramsValidator' : "{'entity' : 'codeComp', 'nomChamp' : '"~ 'Code complémentaire' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : $('#input_SOCIETE').val(), 'min_bloquant' : '"~ param.MIN_CDC_BLOQUANT ~"', 'max_bloquant' : '"~ param.MAX_CDC_BLOQUANT ~"'}",
									'widthPopup' : 'modal_large',
									'option' : param.LOCK_CDC? 'readOnly':'',
									'codeSte' : da.SOCIETE,
									'faceAttr' : {
										'data-stelink' : 'input_SOCIETE',
									},
								}) }}
							</div>
						</div>
						{% endif %}

						{% if param.SCA_ACTIF %}
						<div class="colonne2" id="sousCompteAnalyseDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Sous compte d\'analyse' | trad,
									'name' : 'SSCPTEANA',
									'value' : da.SSCPTEANA,
									'pahtZoom' : path('Ajax.liste.sca'),
									'paramZoom' : "{'sca_valide': 'on', 'CODE_STE' : $('#input_SOCIETE').val(), 'showFiltreDate': '1'}",
									'titleZoom' : 'Liste des sous comptes analyse' | trad,
									'entity' : 'Sscptana',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.sousCompteAnalyse'),
									'paramsValidator' : "{'nomChamp' :  '"~ 'Sous compte analyse' | trad ~"', 'null' : true, 'filter_egal_CODE_STE' : $('#input_SOCIETE').val(), 'min_bloquant' : '"~ param.MIN_SCA_BLOQUANT ~"', 'max_bloquant' : '"~ param.MAX_SCA_BLOQUANT ~"'}",
									'option' : param.LOCK_SCA? 'readOnly':'',
									'codeSte' : da.SOCIETE,
									'faceAttr' : {
										'data-stelink' : 'input_SOCIETE',
									},
								}) }}
							</div>
						</div>
						{% endif %}
					</fieldset>    				
				</div>
				
				<div class="clearfix">
					<fieldset class="scheduler-border" id="fournisseur">
						<legend class="scheduler-border">{{ 'Fournisseur' | trad }}</legend>					
						<div class="colonne2">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Accord-cadre' | trad,
									'name' : 'ACD',
									'value' : da.ACD,
									'pahtZoom' : path('Ajax.liste.accadre'),
									'paramZoom' : "{'CODE_STE': $('#input_SOCIETE').val(), 'CENTRE_EMETTEUR': $('#input_DAENT_CENTRE_EMETTEUR').val(), 'CENTRE_LIVRAISON': $('#input_CTR_LIV').val(), 'FS_ACD_EXISTE' : '1'}",
									'titleZoom' : 'Liste des accords-cadres' | trad,
									'entity' : 'Acccadre',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.accordCadre'),
									'paramsValidator' : "{'nomChamp' : '"~ 'Accord-cadre' | trad ~"', 'null' : true, 'CODE_STE': $('#input_SOCIETE').val(), 'CENTRE_EMETTEUR': $('#input_DAENT_CENTRE_EMETTEUR').val(), 'CENTRE_LIVRAISON': $('#input_CTR_LIV').val(), 'FS_ACD_EXISTE' : '1', 'PROSPECT' : ($('#input_CHIF_EXEC').val()=='E' ? 'F' : '' )}",
								}) }}
							</div>
							<SCRIPT>
								$('#input_ACD').change(function(){
									activeLoader();
									$.ajax({
										dataType : 'html',
										url: window.location.pathname,
										data: $('#form_creationEnteteDA').serialize() + "&MODE=ChangeAcd", 
										type: "POST",
										success: function(result){        	  		;
											refreshFonction('fournisseurDiv', result);
                    	    				desactiveLoader();
										}
									});
								});
							</SCRIPT>
						</div>

						<div class="colonne2" id="fournisseurDiv">
							<div class="row">
								{{ inputAdvance('ZOOMADVANCE', {
									'titre' : 'Fournisseur' | trad,
									'name' : 'FOU',
									'value' : da.FOU,
									'pahtZoom' : path('Ajax.liste.fournisseur'),
									'paramZoom' : "{'filter_egal_PROSPECT' : ($('#input_CHIF_EXEC').val()=='E' ? 'F' : '' ), 'valide' : 1, 'ACD_FG' : '"~ param.ACD_FG ~"'}",
									'titleZoom' : 'Liste des fournisseur' | trad,
									'entity' : 'Fourniss',
									'pathConvert' : path('Ajax.outil.convertLibelle'),
									'convertLibelle' : 'convertLibelleGlobal',
									'pathValidator' : path('Ajax.validator.fournisseur'),
									'option' : param.LOCK_FOU? 'readOnly' : '',																	
									'obligatoire' : param.OBLIG_FOU,
									'paramsValidator' : "{'nomChamp' : '"~ 'Fournisseur' | trad ~"', 'null' : "~ (param.OBLIG_FOU ? 'false' : 'true') ~", post : {'filter_egal_PROSPECT' : ($('#input_CHIF_EXEC').val()=='E' ? 'F' : '' ), 'valide' : 1, 'ACD_FG' : '"~ param.ACD_FG ~"', 'messageCompl' : '"~ param.messageCompl ~"'} }",
								}) }}
							</div>
						</div>
					</fieldset>
				</div>				
			</div>
		</form>
	</div>
{% endblock %}