
{% extends '@ajax-layout/layout.twig' %}

{% block body %}
<script type="text/javascript" src="{{ baseUrl('js/Modules/Facture/ChoixValidationFacture.js') }}"></script>
<script>
    $("#enregistrer").click(function(e) {
    	activeLoader();
        $.ajax({
        	url : '{{ path('Facture.CreationFacture.validationFacture', {'numFact': numFact}) }}',
            type: 'POST',
			dataType : 'JSON',
            data: $('#form_choix_validation').serialize(),
            success: function (data) {
            	if(data.statut == 'validEnCours'){
					asyncBackground(validAsync, data);
					return;
				}
				if(data.statut == 'ErreurXml'){
					activePopupErreur(
						{{ path('Ajax.Erreur.popupErreurXml') | json }},
						window.oxaproc.trad['Erreur'],
						data.ErreurXml,
						data.path_next_etat,
						{
							type: 'facture',
							numFact: {{ numFact | json }},
							pathAsync: data.pathAsync
						},
						'',
						{{ path('Facture.GestionFacture.index') | json }}
					);
				}
			}, 
			error: function (data){
				desactiveLoader();
				$("#modal-content").addClass("modal_small");
				$("#modal-body").html(data.responseText);
				activePopup();
			} 
        });
    });

	function validAsync(requestData, dataRetourWsdl) {
		$.ajax({
			dataType : 'JSON',
			url: '{{ path('Facture.CreationFacture.validationViaAffectation', {'numFact' : numFact }) }}',
			data: {
				dataRetourWsdl: dataRetourWsdl,
			},
			type: 'POST', // la méthode indiquée dans le formulaire (get ou post)
			success: function(data) { // je récupère la réponse du fichier PHP	
				if(data.statut == 'signataire'){
					activePopupErreur('{{ path('Facture.CreationFacture.choixSignataireFacture', {'numFact' : numFact }) }}', '','');
				}
				else if(data.statut == 'ErreurXml'){
					activePopupErreur(
						{{ path('Ajax.Erreur.popupErreurXml') | json }},
						window.oxaproc.trad['Erreur'],
						data.ErreurXml,
						data.path_next_etat,
						{
							type: 'facture',
							numFact: {{ numFact | json }},
							pathAsync: data.pathAsync
						},
						'',
						{{ path('Facture.GestionFacture.index') | json }}
					);
				} else if(data.statut == 'waiting') {
					activeLoader();
				} else{
					{% if postGestion != '' %}
					redirectJSWithPost('{{ path('Facture.GestionFacture.index') }}', {{ postGestion |raw}});
					{% else %}
				 	redirectJSWithPost('{{ path('Facture.GestionFacture.index') }}');
				 	{% endif %}
				}
			}, 
			error: function (data){
				desactiveLoader();
				$("#modal-content").addClass("modal_small");
				$("#modal-body").html(data.responseText);
				activePopup();
			} 
		}); 
	}
</script>
	<div class="modal-body" id="choix_validation">
		<div id="message_erreur_popup" class="error displayNone clearfix" ></div>
		{% if post.confirmationModification %}<h4>{{ post.confirmationModification }}</h4>{% endif %}
     	<form class="box-form" id="form_choix_validation" >
        	<input type="hidden" name="numFact" id="numFact" value="{{ numFact }}" />
			<div class="clearfix">
        		<div class="row" id="rowToutValider">
					{{ inputAdvance('SWITCH', {
						'titre' : 'Tout valider ?' | trad,
						'name' : 'toutValider',
						'value' : post.toutValider,
						'myFunction' : 'changeValidEnt',
						'myParams' : "[this, '"~ 'Oui' | trad ~"', '"~ 'Non' | trad ~"']",
					}) }}
				</div>
        		<div class="row checkValidation">
        		{% if not facture.isDevalidable %}
        			{{ inputAdvance('SWITCH', {
						'titre' : 'Valider l\'entête ?' | trad,
						'name' : 'ValidEnt',
						'value' : post.ValidEnt,
						'option' : 'disabled',
					}) }}
        		{% else %}
        			{{ inputAdvance('SWITCH', {
						'titre' : 'Valider l\'entête ?' | trad,
						'name' : 'ValidEnt',
						'value' : post.ValidEnt,
						'myFunction' : 'changeValidEnt',
						'myParams' : "[this, '"~ 'Oui' | trad ~"', '"~ 'Non' | trad ~"']",
					}) }}
        		{% endif %}
        		</div>
        		<div class="row checkValidation">
					{% if ((facture.AFF_ENREG|boolSql)==1 and (facture.AFF_COMPT|boolSql) == 0) or ((facture.AFF_ENREG|boolSql)==0 and (facture.AFF_COMPT|boolSql) == 1) %}
						{{ inputAdvance('SWITCH', {
							'titre' : 'Valider les affectations ?' | trad,
							'name' : 'ValidAffectations',
							'value' : post.ValidAffectations,
							'myFunction' : 'changeValidEnt',
							'myParams' : "[this, '"~ 'Oui' | trad ~"', '"~ 'Non' | trad ~"']",
						}) }}
					{% else %}
						{{ inputAdvance('SWITCH', {
							'titre' : 'Valider les affectations ?' | trad,
							'name' : 'ValidAffectations',
							'value' : post.ValidAffectations,
							'option' : 'disabled'
						}) }}
					{% endif %}
        		</div>
        		<div class="row checkValidation">
        		{% if (facture.BAP_COMPT|boolSql)==1 %}
                    {{ inputAdvance('SWITCH', {
						'titre' : 'Mettre en Bon à payer ?' | trad,
						'name' : 'ValidBAP',
						'value' : post.ValidBAP,
						'option' : 'disabled'
					}) }}
        		{% else %}
                    {{ inputAdvance('SWITCH', {
						'titre' : 'Mettre en Bon à payer ?' | trad,
						'name' : 'ValidBAP',
						'value' : post.ValidBAP,
						'myFunction' : 'changeValidEnt',
						'myParams' : "[this, '"~ 'Oui' | trad ~"', '"~ 'Non' | trad ~"']",
					}) }}
        		{% endif %}
        		</div>
        	</div>
        	<div class="modal-footer">
    			<button type="button" class="button principal right" id="enregistrer">{{ 'Enregistrer' | trad }}</button>
				
				{% if post.redirectGestion %}				
                <a onclick="redirectJSWithPost('{{path}}', {{postGestion}});"><button type="button" class="button secondaire right" id="annuler">{{ 'Annuler' | trad }}</button></a>
				{% else %}
                <a onclick='desactivePopup();'><button type="button" class="button secondaire right" id="annuler">{{ 'Annuler' | trad }}</button></a>
				{% endif %}				
        	</div>
        </form>
	</div>
{% endblock %}