script.js 6.68 KB
/**
 * empty a SELECT field given its name and default option
 * call example : emptySelectOptions("#MaterielSousCategorieId","Choisir une sous-catégorie")
 * 
 */
function emptySelectOptions(selectFieldId, defaultOption) {
	var newOptions = {
		"" : defaultOption
	};
	//var selectedOption = "Choisir une sous-catégorie";
	var select = $(selectFieldId);
	var options;
	if(select.prop) {
		options = select.prop("options");
	}
	else {
		options = select.attr("options");
	}
	$("option", select).remove();
	$.each(newOptions, function(val, text) {
		options[options.length] = new Option(text, val);
	});
	//select.val(selectedOption);
}

/**
 * Ajax request that updates a SELECT options (selectId) according to the selection made in another SELECT (otherSelectId)
 * For now, works only from Materiels VIEW (otherwise, replace "materiels" below with your view name)
 * 
 * call example : 
 * updateSelectOptionsFromAnother("#MaterielCategorieId", "#MaterielSurCategorieId", "Categories/getAll", "catégorie")
 * This would update the options of the SELECT named "MaterielCategorieId" from the selected value of the SELECT named MaterielSurCategorieId
 *
 */
function updateSelectOptionsFromAnother(selectId, otherSelectId, requestName, emptyOptionName) {
	var reg=new RegExp("(materiels).*$","g");
	var currentURL = window.location.pathname;
	var newURL = currentURL.replace(reg, requestName);
	$.ajax({
		async:true,
		data:$(otherSelectId).serialize(),
		dataType:"html",
		success:function (data, textStatus) {
			if (emptyOptionName == "") $(selectId).val(data);
			else {
				data="<option value=\"\">"+emptyOptionName+"</option>"+data;
				$(selectId).html(data);
			}
		},
		type:"post", url:newURL
	});
}


$(document).ready(function() {
	//Page index de matériel
	$('#t_informations').click(function() {
		$('#informations').toggle('fast');
		toogleChevron('#i_informations');
	});
	$('#t_informations_admin').click(function() {
		$('#informations_admin').toggle('fast');
		toogleChevron('#i_informations_admin');
	});
	$('#t_suivis').click(function() {
		$('#suivis').toggle('fast');
		toogleChevron('#i_suivis');
	});
	$('#t_emprunts').click(function() {
		$('#emprunts').toggle('fast');
		toogleChevron('#i_emprunts');
	});
	$('#t_fichiers').click(function() {
		$('#fichiers').toggle('fast');
		toogleChevron('#i_fichiers');
	});	
	
	//Page find de matériel
	$('#t_filter').click(function() {
		$('#filter').toggle('fast');
		toogleChevron('#i_filter');
	});
	$('#t_result').click(function() {
		$('#result').toggle('fast');
		toogleChevron('#i_result');
	});
});

function toogleChevron(element) {
	if ($(element).hasClass('icon-chevron-down')) {
			$(element).removeClass('icon-chevron-down');
			$(element).addClass('icon-chevron-up');
	}
	else {
		$(element).removeClass('icon-chevron-up');
		$(element).addClass('icon-chevron-down');
	}
}

function emprunt_interne_externe() {
	$('#interne').toggle();
	$('#externe').toggle();		
}

function display_ldap() {
	$('#ldap').toggle();
}
function display_ldap_auth() {
	$('#ldap_auth').toggle();
}

function selectAll() {
	for(i = 0; i < document.getElementsByTagName("input").length; i++)
		document.getElementsByTagName("input")[i].checked = true;
}
function selectNone() {
	for(i = 0; i < document.getElementsByTagName("input").length; i++)
		document.getElementsByTagName("input")[i].checked = false;
}

/*Je ne saurais expliquer pourquoi mais cela ne fonctionne pas si les modifications sont faites directement dans ce fichier


//changement d'emplacement de la fonction qui étais dans script car apparement je ne peux pas la modifier 
//si je vais modifier directement le fichier script.js - permet d'afficher les infos administrative
//après checkbox checked
function changeAdminEdit() {
<<<<<<< HEAD
	if (document.getElementById('eotp').disabled) {
		document.getElementById('eotp').disabled=false;
		document.getElementById('numero-commande').disabled=false;
		document.getElementById('code-comptable').disabled=false;
		document.getElementById('numero-inventaire-organisme').disabled=false;
		document.getElementById('numero-inventaire-old').disabled=false;
		document.getElementById('num_labo').disabled=false;
=======
if (document.getElementById('eotp').disabled) {
	document.getElementById('eotp').disabled=false;
	document.getElementById('numero-commande').disabled=false;
	document.getElementById('code-comptable').disabled=false;
	document.getElementById('numero-inventaire-organisme').disabled=false;
	document.getElementById('numero-inventaire-old').disabled=false;
}
else {
	document.getElementById('eotp').disabled=true;
	document.getElementById('numero-commande').disabled=true;
	document.getElementById('code-comptable').disabled=true;
	document.getElementById('numero-inventaire-organisme').disabled=true;
	document.getElementById('numero-inventaire-old').disabled=true;	
}
}

//Permet d'afficher les infos administrative plus après checkbox checked
function changeAdminEditPlus() {
	if (document.getElementById('nom-createur').disabled) {
		document.getElementById('nom-createur').disabled=false;
		document.getElementById('nom-modificateur').disabled=false;
		document.getElementById('created').disabled=false;
		document.getElementById('modified').disabled=false;
>>>>>>> branch 'dev' of https://gitlab.irap.omp.eu/epallier/labinvent.git
	}
	else {
<<<<<<< HEAD
		document.getElementById('eotp').disabled=true;
		document.getElementById('numero-commande').disabled=true;
		document.getElementById('code-comptable').disabled=true;
		document.getElementById('numero-inventaire-organisme').disabled=true;
		document.getElementById('numero-inventaire-old').disabled=true;
		document.getElementById('num_labo').disabled=true; 
=======
		document.getElementById('nom-createur').disabled=true;
		document.getElementById('nom-modificateur').disabled=true;
		document.getElementById('created').disabled=true;
		document.getElementById('modified').disabled=true;
>>>>>>> branch 'dev' of https://gitlab.irap.omp.eu/epallier/labinvent.git
	}
}

 
 
 Récupérer les id en début de fonction permet de rendre la fonction plus lisible
 Mais plus longue aussi 
  
 function changeAdminEdit() {
	var idCheck =document.getElementById('adminEdit');
	var idEotp =document.getElementById('eotp');
	var idCommande=document.getElementById('numero-commande');
	var idComptable = document.getElementById('code-comptable');
	var idOrganisme = document.getElementById('numero-inventaire-organisme');
	var idOld =	document.getElementById('numero-inventaire-old');
	if (idEotp.disabled) {
		idEotp.disabled=false;
		idCommande.disabled=false;
		idComptable.disabled=false;
		idOrganisme.disabled=false;
		idOld.disabled=false;
	}
	else {
		idEotp.disabled=true;
		idCommande.disabled=true;
		idComptable.disabled=true;
		idOrganisme.disabled=true;
		idOld.disabled=true;	
	}
}*/