Anomalie #908
emprunts internes/externes
Status: | Fermé | Start date: | 10/17/2012 | |
---|---|---|---|---|
Priority: | Haut | Due date: | ||
Assignee: | Etienne Pallier | % Done: | 100% | |
Category: | - | Estimated time: | 10.00 hours | |
Target version: | version 1.0 | Spent time: | 16.00 hours |
Description
(Elodie) Bug sur les emprunts externes/internes
Je ferai remonter la case a cocher "emprunt interne/externe" pour que suivant si c'est coche ou non, apparaissent :
- si c'est Interne : la case Nom de l'emprunteur soit le user LDAP + Lieu de stockage et piece.
- Si c'est Externe : les cases qui apparaissent sont : le nom de l'emprunteur qui est une case texte a remplir, le lieu (ca peut ne pas etre un labo), et le TEL.
Le Tel doit etre mentionne dans la liste des emprunts.
--> appliquer solution donnée par Pierrick :
(cf mail du 6/10)
History
#1 Updated by Etienne Pallier about 12 years ago
- Status changed from Nouveau to En cours
- Assignee set to Etienne Pallier
- Priority changed from Normal to Haut
#2 Updated by Etienne Pallier about 12 years ago
- File files.zip added
Solution donnée par Pierrick le 6/10/12 :
j'ai commencé à résoudre le bug, je ne l'ai pas complètement résolu car je suis confronté à un autre problème. Or, je ne sais pas si ce dernier est spécifique à mon installation ou est générale. Je préfère donc vous fournir toutes les explications nécessaires pour que vous puissiez résoudre définitivement le bug.
Il y a deux fichiers à modifier et un nouveau à ajouter. Le fichier à ajouter est le suivant : "cakephp/app/View/Emprunts/add_emprunt.ctp" Il doit rester vide. Les deux fichiers à modifier sont disponible sur le dépôt git et dans l'archive disponible en pièce jointe de ce mail.
Le premier fichier est "cakephp/app/View/Emprunts/scaffold.form.ctp". J'y ai modifié le formulaire pour contenir deux champs différent permettant la saisie du nom du responsable de l'emprunt. Le premier champ fourni les noms de toutes les personnes référencées dans le ldap, c'est une combobox, exactement comme avant. Le second champ est un simple champ texte. En fonction du type d'emprunt saisi seul un champ est affiché.
Le second fichier est le contrôleur des emprunts. Il contient une nouvelle méthode : "addEmprunt" qui permet d'enregistrer un nouvel emprunt dans la base de donnée. Avant de pouvoir enregistrer un nouvel emprunt il faut vérifier quel est le nom de l'emprunteur. Soit il provient de l'annuaire ldap, soit il a été saisi à la main. C'est la fonction de ce if :
$nom_emprunt = '';
if(empty($this->data['Emprunt']['nom_emprunteur_combo']) && !empty($this->data['Emprunt']['nom_emprunteur_text'])) {
$nom_emprunt = $this->data['Emprunt']['nom_emprunteur_text'];
} elseif (!empty($this->data['Emprunt']['nom_emprunteur_combo']) && empty($this->data['Emprunt']['nom_emprunteur_text'])) {
$nom_emprunt = $this->data['Emprunt']['nom_emprunteur_combo'];
}
Il faut ensuite enregistrer le nom du responsable dans un tableau avec le bon index. C'est la fonction de cette instruction :
$data_array['Emprunt']['nom_emprunteur'] = $nom_emprunt;
C'est à ce moment que je suis heurté à un problème. L'index utilisé pour ajouter le nouveau champ dans le tableau doit correspondre au nom du champ utilisé dans la base de données. Dans le code php nous utilisons le nom "nom_emprunteur". Or dans ma version de la base de données j'ai le nom "nom_responsable". Je ne sais pas quel nom vous utilisez sur votre version je ne sais donc pas quel index utiliser dans le tableau en php.
Il vous reste donc à vérifier si le nom utilisé dans le code php correspond bien au nom utilisé dans la base de données : "nom_emprunteur" ou "nom_responsable" et à modifier le code en conséquence puis ça fonctionnera.
Il est possible que cette confusion se soit propagée dans d'autres fichier notamment dans "cakephp/app/View/Emprunts/scaffold.view.ctp" et "cakephp/app/View/Emprunts/scaffold.index.ctp". Je vous invite donc à vérifier également dans ces fichiers si les nom utilisés correspondent.
Cordialement,
Pierrick MARIE.
#3 Updated by Etienne Pallier about 12 years ago
Le bug dont nous parlions concernait les emprunts exterieurs, ou il n'etait pas possible de saisir un texte dans la zone emprunteur.
La connexion Ldap ne doit s'effectuer que si c'est un emprunt interne.
#4 Updated by Etienne Pallier about 12 years ago
- Status changed from En cours to Résolu
- % Done changed from 0 to 100
#5 Updated by Etienne Pallier about 12 years ago
ajout contrôle sur dates
#6 Updated by Etienne Pallier about 12 years ago
- Status changed from Résolu to En cours
- % Done changed from 100 to 0
- Estimated time set to 1.00
Ajout champ Tel (dans formulaire ET dans BD)
#7 Updated by Etienne Pallier about 12 years ago
- Target version set to version 1.0
#8 Updated by Etienne Pallier about 12 years ago
- Estimated time changed from 1.00 to 10.00
#9 Updated by Etienne Pallier about 12 years ago
- Status changed from En cours to Résolu
#10 Updated by Etienne Pallier about 12 years ago
- % Done changed from 0 to 100
#11 Updated by Etienne Pallier about 12 years ago
- Status changed from Résolu to Fermé