CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Ven Nov 15, 2024 1:49 pm

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 
Auteur Message
 Sujet du message: Association d'objets
MessagePublié: Mar Avr 29, 2008 8:33 am 
Hors-ligne
Utilisateur enthousiaste

Inscrit(e) le : Lun Mars 17, 2008 8:51 pm
Message(s) : 81
Pour expliquer mon problème, je vais prendre un cas d'école simple. Toute ressemblance avec un module existant... blablabla...

J'ai créé un Module de gestion de commande.
J'ai donc créé un objet Commande (N°, Client, ...) et un objet Ligne_de_commande (Ref_Article, Quantité,...).
Lorsque j'ai mis en oeuvre l'association entre ces deux objets, j'ai donc créé un champ dans Commande, un champ du type Multiple Object et ai choisi Ligne_de_commande.
J'ai validé les options suivantes :
- Ces objets peuvent être édités : OUI
- Forcer le chargement des sous objets : NON
- Désactiver l'association de sous-objets : OUI

Ainsi, dans l'interface de saisie, on ne peut saisir des lignes de commandes [création, modification, suppression] que par l'intermédiaire de l'interface de modification d'une Commande étant entendu que j'ai désactivé la visualisation des Ligne_de_commande sur la page d'accueil du module. Et il est impossible d'associer une ligne de commande existante à plusieurs commandes.

Malheureusement, si je supprime une commande, toutes ses lignes de commandes sont encore en base. Et donc pour supprimer une commande, je dois d'abord aller dans la fiche de la commande, supprimé une à une les lignes de commandes (qui peut être fastidieux) pour ensuite supprimé la commande elle-même.

J'aurai aimé une suppression des lignes de commandes automatique !
Les utilisateurs finaux étant susceptible de commettre cette erreur, une solution de remplacement serait de passer un script qui "nettoie" la base, je donne un identifiant d'objet parent (celui de la définition de Commande), un identifiant d'objet enfant (celui de la définition de Ligne_de_commande), et le script s'assure que toutes les instances des objets enfants ont un parent, sinon les supprime.

Je me doute que ce n'est pas si simple car on pourrait avoir des niveaux de récursivité importants, en revanche, dans mon cas, je n'ai qu'un seul niveau d'association.

Chrys.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Avr 29, 2008 9:47 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
En fait c'est pour répondre à cette problématique que la ressource secondaire à été mise en place.

Ton objet commande est une ressource primaire et l'objet ligne de commande lui est une ressource secondaire. ça permet de lier à travers la validation de la commande la validation du ou des sous objets qui sont des ressources secondaires. Ceci étant dis, l'emploi d'une ressource secondaire peut dans certains cas (assez rare je n'ai plus en tête d'exemples là) poser des pb aussi ... donc il faut tester.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Avr 29, 2008 1:39 pm 
Hors-ligne
Utilisateur enthousiaste

Inscrit(e) le : Lun Mars 17, 2008 8:51 pm
Message(s) : 81
Cela fonctionne...
J'ai créé un Objet Crayon avec un champ Couleur (chaine de caractères)
J'ai créé un objet Boite avec deux champs
- Nom (chaine de caractères)
- Multiple Objet Crayon

Le Boite est ma ressource primaire, les crayons ma ressource secondaire.
Je crée une boite, j'y associe trois nouveaux crayons. Seule la création de ma boite est soumise à validation (jusqu'ici, tout va bien)
Je valide
J'ai bien ma boite et ses trois crayons...
Je supprime ma boite, suppression soumise à validation, je valide.
Ma boîte est supprimée, mes crayons également.
En revanche, il m'indique :
Citer:
3 objet(s) 'Crayon' correspondant à votre recherche

Alors que la liste est vide...
Citer:
Aucun enregistrement.


Ne serait-ce pas cela que l'on appelle un bogue ?

Quoiqu'il en soit, mon objectif est atteint puisque les utilisateurs n'ont pas accès à cette liste de crayon.

Une dernière question, les objets supprimés partent dans la table deleted ou sont réellement supprimé ?

Chrys.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Avr 29, 2008 2:12 pm 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Ok, pour le bug peux tu me poster une capture d'écran que je vois le contexte ?

et pour les objets supprimés, oui ils partent dans la table deleted.


Haut
 Profil  
 
 Sujet du message:
MessagePublié: Mar Avr 29, 2008 10:17 pm 
Hors-ligne
Utilisateur enthousiaste

Inscrit(e) le : Lun Mars 17, 2008 8:51 pm
Message(s) : 81
Heu... On peut clôturer :P
Tout fonctionne correctement !!!

Chrys.


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 5 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr