Development #5457
Mettre en place des settings permetant de configurer les options des services.
100%
Description
Afin d'éviter de se retrouver dans le code avec des "== CMPP" il faut ajouter des settings permettant de configurer les particularités de services mais également les options propres à certains déploiements.
Par exemple:
SERVICE_SETTINGS = { 'CMPP' = { 'billing_mode' : 'per_act', # default is trimester else could be monthly }, 'CAMSP' = { 'age_format' : 'month_only', #default is days, or months or years and months } } Ajouter ensuite sur le service les méthodes service.get_billing_mode() service.get_age_format()
Files
Associated revisions
History
Updated by Frédéric Péters about 9 years ago
À regarder la situation actuelle (via un git grep CMPP), je dirais que fait correctement ça n'entre pas dans un cadre "hotfixes", ça serait faire bouger trop d'éléments sans doute fragiles. Mais établir comme règle d'éviter les "== CMPP", c'est une bonne chose, et se mettre comme objectif, pour une prochaine version, de dégager les "== CMPP", c'est une bonne chose aussi. C'est vraiment juste la qualification "hotfix" que je pense inadéquate.
Updated by Mikaël Ates about 9 years ago
Cette demande consiste juste à mettre en place le mécanisme de base, c'est à dire à définir la variable et ensuite comment récupérer les settings sur le modèle. On ne modifie pas le reste du code de l'application justement parce qu'il y a la demande #5458 dont c'est l'objet dans une prochaine version.
Pourquoi cela maintenant alors ? Parce que dans les hotfixes il y a #5469 qui demande un comportement particulier pour le CAMSP et donc on commencerai pour cette demande à utiliser ce qui est défini ici plutôt de réinsérer dans le code un "== CAMSP"...
Updated by Frédéric Péters about 9 years ago
- File 0001-settings-add-a-dictionary-to-define-non-default-beha.patch 0001-settings-add-a-dictionary-to-define-non-default-beha.patch added
- Patch proposed changed from No to Yes
Ok je comprends, ce ticket consiste à ajouter "SERVICE_SETTINGS = {}" dans le settings.py, et à communiquer que ça sera mieux d'utiliser ça que de faire des "== CMPP", nickel.
Updated by Frédéric Péters about 9 years ago
- File 0001-settings-add-per-service-settings-for-non-default-be.patch 0001-settings-add-per-service-settings-for-non-default-be.patch added
Patch avec en plus une fonction dans utils.py, get_service_setting(setting_name, default_value=None), qui se charge de trouver le service adéquat grâce à la requête accessible via le GlobalRequestMiddleware.
Updated by Frédéric Péters about 9 years ago
- Status changed from Nouveau to Résolu (à déployer)
- % Done changed from 0 to 100
Appliqué par commit calebasse|commit:602ecd0788e8d3f82db6218287ce7eb5ac094244.
Updated by Frédéric Péters about 9 years ago
À noter que c'est poussé dans la branche master, il y a peut-être à créer une branche "hotfixes", et y cherry-picker le nécessaire.
settings: add per-service settings, for non-default behaviours
Closes #5457