/gespac/gestion_inventaire/form_ajout_materiel_par_marque.php

http://gespac.googlecode.com/ · PHP · 187 lines · 110 code · 49 blank · 28 comment · 7 complexity · 77c7218cebd319c5eac4ef26c06221f0 MD5 · raw file

  1. <?PHP
  2. /*
  3. formulaire d'ajout et de modification des materiels !
  4. permet de créer un nouveau matos,
  5. de modifier un matos particulier
  6. de modifier par lot des matériels
  7. */
  8. // lib
  9. require_once ('../fonctions.php');
  10. include_once ('../config/databases.php');
  11. include_once ('../../class/Log.class.php');
  12. include_once ('../../class/Sql.class.php');
  13. ?>
  14. <script type="text/javascript">
  15. // vérouille l'accčs au bouton submit si les conditions ne sont pas remplies
  16. function validation () {
  17. var bt_submit = $("post_materiel");
  18. var mat_nom = $("nom").value;
  19. var mat_serial = $("serial").value;
  20. if (mat_nom == "" || mat_serial == "" ) {
  21. bt_submit.disabled = true;
  22. } else {
  23. bt_submit.disabled = false;
  24. }
  25. }
  26. /******************************************
  27. * Générateur de ssn aléatoire
  28. *******************************************/
  29. function SSNgenerator () {
  30. number = Math.floor(Math.random() * 100000);
  31. $('serial').value = "NC" + number;
  32. }
  33. /******************************************
  34. *
  35. * AJAX
  36. *
  37. *******************************************/
  38. window.addEvent('domready', function(){
  39. $('post_form').addEvent('submit', function(e) { // Pour poster un formulaire
  40. new Event(e).stop();
  41. new Request({
  42. method: this.method,
  43. url: this.action,
  44. onSuccess: function(responseText, responseXML, filt) {
  45. $('targetback').setStyle("display","block"); $('target').setStyle("display","block");
  46. $('target').set('html', responseText);
  47. SexyLightbox.close();
  48. window.setTimeout("document.location.href='index.php?page=marques&filter=" + $('filt').value + "'", 1500);
  49. }
  50. }).send(this.toQueryString());
  51. });
  52. });
  53. </script>
  54. <?PHP
  55. // cnx ŕ la base de données GESPAC
  56. $con_gespac = new Sql ($host, $user, $pass, $gespac);
  57. $id = $_GET['id'];
  58. // *********************************************************************************
  59. //
  60. // Formulaire ajout ŕ partir d'une marque (champs de marque préremplis)
  61. //
  62. // *********************************************************************************
  63. // Requęte qui va récupérer les champs ŕ partir de la marque
  64. $ajout_materiel_de_marque = $con_gespac->QueryRow ( "SELECT marque_id, marque_type, marque_stype, marque_marque, marque_model FROM marques WHERE marque_id=$id" );
  65. // valeurs ŕ affecter aux champs
  66. $materiel_id = $ajout_materiel_de_marque[0];
  67. $materiel_type = $ajout_materiel_de_marque[1];
  68. $materiel_stype = $ajout_materiel_de_marque[2];
  69. $materiel_marque = $ajout_materiel_de_marque[3];
  70. $materiel_modele = $ajout_materiel_de_marque[4];
  71. // Requęte qui va récupérer les origines des dotations ...
  72. $liste_origines = $con_gespac->QueryAll ( "SELECT origine FROM origines ORDER BY origine" );
  73. // Requęte qui va récupérer les états des matériels ...
  74. $liste_etats = $con_gespac->QueryAll ( "SELECT etat FROM etats ORDER BY etat" );
  75. echo "<h2><center>Formulaire d'ajout d'un nouveau matériel de marque $materiel_marque et de modčle $materiel_modele</center></h2><br>";
  76. ?>
  77. <script>
  78. // Donne le focus au premier champ du formulaire
  79. $('nom').focus();
  80. </script>
  81. <form action="gestion_inventaire/post_materiels.php?action=add_mat_marque" method="post" name="post_form" id="post_form">
  82. <input type=hidden name=add_marque_materiel value=<?PHP echo $id; ?> >
  83. <center>
  84. <table width=500>
  85. <tr>
  86. <TD>Nom du materiel *</TD>
  87. <TD><input type=text id=nom name=nom onkeyup="validation();" /></TD>
  88. </tr>
  89. <tr>
  90. <TD>Référence DSIT</TD>
  91. <TD><input type=text id=dsit name=dsit /></TD>
  92. </tr>
  93. <tr>
  94. <TD>Numéro de série *</TD>
  95. <TD><input type=text id=serial name=serial onkeyup="validation();" /> <input type=button value="générer" onclick="SSNgenerator(); validation();"> </TD>
  96. </tr>
  97. <tr>
  98. <TD>Adresse MAC</TD>
  99. <TD><input type=text id=mac name=mac size=17 maxlength=17 /></TD>
  100. </tr>
  101. <tr>
  102. <TD>Origine</TD>
  103. <TD>
  104. <select name="origine">
  105. <option value=<?PHP echo $materiel_origine; ?>><?PHP echo $materiel_origine; ?></option>
  106. <?PHP foreach ($liste_origines as $origine) { echo "<option value='" . $origine['origine'] ."'>" . $origine['origine'] ."</option>"; } ?>
  107. </select>
  108. </TD>
  109. </tr>
  110. <tr>
  111. <TD>Etat du matériel</TD>
  112. <TD>
  113. <select name="etat">
  114. <?PHP foreach ($liste_etats as $etat) { $selected = $etat['etat'] == "Fonctionnel" ? "selected" : ""; echo "<option $selected value='" . $etat['etat'] ."'>" . $etat['etat'] ."</option>"; } ?>
  115. </select>
  116. </TD>
  117. </tr>
  118. <tr>
  119. <TD>Salle se trouve le matériel</TD>
  120. <TD>
  121. <select name="salle" >
  122. <?PHP
  123. // requęte qui va afficher dans le menu déroulant les salles saisies dans la table 'salles'
  124. $req_salles_disponibles = $con_gespac->QueryAll ( "SELECT DISTINCT salle_nom FROM salles" );
  125. foreach ( $req_salles_disponibles as $record) {
  126. $salle_nom = $record['salle_nom'];
  127. $selected = $salle_nom == "STOCK" ? " selected" : "";
  128. echo "<option $selected value='$salle_nom'>$salle_nom</option>";
  129. }
  130. ?>
  131. </select>
  132. </TD>
  133. </tr>
  134. </table>
  135. <br>
  136. <input type=submit value='Ajouter un materiel' id="post_materiel" disabled />
  137. </center>
  138. </FORM>