Project

General

Profile

Development #5457

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

Added by Mikaël Ates over 8 years ago. Updated over 8 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Target version:
Start date:
10 September 2014
Due date:
% Done:

100%

Estimated time:
Patch proposed:
Yes
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()

Files

Associated revisions

Revision 602ecd07 (diff)
Added by Frédéric Péters over 8 years ago

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

Closes #5457

History

#1

Updated by Frédéric Péters over 8 years ago

  • Description updated (diff)
#2

Updated by Frédéric Péters over 8 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.

#3

Updated by Mikaël Ates over 8 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"...

#4

Updated by Frédéric Péters over 8 years ago

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

Updated by Frédéric Péters over 8 years ago

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

Updated by Mikaël Ates over 8 years ago

Parfait.

#7

Updated by Frédéric Péters over 8 years ago

  • Status changed from Nouveau to Résolu (à déployer)
  • % Done changed from 0 to 100

Appliqué par commit calebasse|commit:602ecd0788e8d3f82db6218287ce7eb5ac094244.

#8

Updated by Frédéric Péters over 8 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.

#9

Updated by Mikaël Ates over 8 years ago

  • Status changed from Résolu (à déployer) to Fermé

Ok

Also available in: Atom PDF