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()
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 9 ans
À 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.
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans
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"...
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-settings-add-a-dictionary-to-define-non-default-beha.patch 0001-settings-add-a-dictionary-to-define-non-default-beha.patch ajouté
- Patch proposed changé de Non à Oui
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.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Fichier 0001-settings-add-per-service-settings-for-non-default-be.patch 0001-settings-add-per-service-settings-for-non-default-be.patch ajouté
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.
Mis à jour par Frédéric Péters il y a plus de 9 ans
- Statut changé de Nouveau à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit calebasse|commit:602ecd0788e8d3f82db6218287ce7eb5ac094244.
Mis à jour par Frédéric Péters il y a plus de 9 ans
À 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.
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans
- Statut changé de Résolu (à déployer) à Fermé
Ok
settings: add per-service settings, for non-default behaviours
Closes #5457