-
Notifications
You must be signed in to change notification settings - Fork 3
Module xfm controllers
Le composant WebController du framework est étendu pour:
-
Fournir un binding standard avec le modèle
En définissant la propriété model avec le nom du modèle à lier, le controller est à même d'effectuer directement les opérations CRUD sur le modèle défini -
Gérer les interrogations fulltext (query)
Lorsque le paramètre xquery est fourni avec une requête, le controller procède automatiquement à une interrogation de type fulltext sur le modèle lié - à condition que celui-ci définission le xwhere query -
Gérer l'ordonnancement des résultats de requêtes
Possibilité de basculer le(s) champs sur le(s)quel l'ordonnancement est calculé. Par exemple dans le cas où l'utilisateur ordre une grille ExtJS par un champs catalogue (c-à-d identifiant étranger) il faut basculer le champs d'identifiant en champs de valeur (par exemple pays_nom) -
Gérer l'accès aux opération CRUD
Pour chaque controller, on peut définir quelles opérations CRUD sont acceptées sur le modèle lié -
Fournir une réponse compatible ExtJS
Pour les requêtes sur le modèle lié, le composant fournit une structure réponse correspondante à celle attendue par les modèles ExtJS -
Fournir la méthode tag() permettant de créer une version de type tag
-
Fournit la méthode history() permettant de récupérer l'historique de versionning du modèle lié
-
Effectuer les contrôles nécessaires tels que:
- Empêcher l'écriture d'un modèle versionné (paramètre xversion présent)
- Vérifier la cohérence des valeurs de clé primaire présentes dans l'url et les données fournies avec la requête
Les controllers liés aux commissions, étendent la classe AbstractCommissionController afin d'hériter de la fonctionnalité permettant de gérer les commissions clôturées: cette dernière empêche de modifier une commission clôturée. Dans le futur, d'autres fonctionnalités générales aux commissions pourront être implémentées au sein de cette classe.