Skip to content

Module xfm controllers

damiencorpataux edited this page Jul 10, 2013 · 9 revisions

Extension du Controller (xfm)

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

Controllers propres aux commissions

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.