Projet

Général

Profil

Development #5457

Mettre en place des settings permetant de configurer les options des services.

Ajouté par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
10 septembre 2014
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

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

Révision 602ecd07 (diff)
Ajouté par Frédéric Péters il y a plus de 9 ans

settings: add per-service settings, for non-default behaviours

Closes #5457

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 9 ans

  • Description mis à jour (diff)
#2

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.

#3

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"...

#4

Mis à jour par Frédéric Péters il y a plus de 9 ans

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.

#5

Mis à jour par Frédéric Péters il y a plus de 9 ans

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.

#6

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans

Parfait.

#7

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.

#8

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.

#9

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

Formats disponibles : Atom PDF