AtelierSoude / OpenRepairPlatform

OpenRepairPlatform is a web application based on Django designed to organizing collaborative and non-profits repair structures - Still in development
34 stars 16 forks source link

Localisation for country specificities (incl. currency) #158

Open Skrattoune opened 2 years ago

Skrattoune commented 2 years ago

Salut,

je propose d'introduire dans settings/base.py les variables globales suivantes afin de faciliter l'intégration dans la branche commune de spécificités pays telles que: 1/ monnaie 2/ gestion zip codes 3/ ... à déterminer aussi en fonction du degré d'intégration qu'on voudra obtenir, tout en permettant une intégration totale

COUNTRY = 'FR'  #'CH', 'US' 

CURRENCIES = {
    'FR' : ['EUR', '€'],
    'CH' : ['CHF', 'CHF'],
    'US' : ['USD', '$'],
}
CURRENCY_DISPLAY = CURRENCIES[COUNTRY][1]
CURRENCY_CODE = CURRENCIES[COUNTRY][0]

Ca serait ok pour vous?

L'idée pour moi ce serait d'avoir toujours un comportement par défaut qui est le comportement en France, et si nécessaire un comportement spécifique le cas échéant suivant le pays:

if settings.COUNTRY == 'CH':
    pass # adaptation des variables pour la suisse

ou

if settings.COUNTRY == 'CH':
    pass #comportement pour CH
else:
   pass #comportement par défaut (pour FR)

OK aussi sur le principe?

si vous êtes ok sur le principe, je peux faire l'implémentation, y compris sur le display de la monnaie (qui est le truc qu'on doit absolument faire avant de pouvoir mettre la plateforme en service chez nous)

Skrattoune commented 2 years ago

Bon, j'ai trouvé et implémenté en local une meilleure solution (plus robuste) pour ce qui est des currencies basé sur un filtre lié à locale (cf https://www.djangosnippets.org/snippets/552/).

Par contre avant de commiter, j'aurais besoin de vérifier en local que le filtre est bien importé sur toutes les pages où il est appelé, mais pour ça j'ai besoin de faire tourner le serveur en local.

du coup, si quelqu'un peut m'aider à faire lancer le serveur, ça serait cool (cf #160 )

Merci d'avance

ClemsP commented 2 years ago

Ah super voilà une bonne chose ! Donc quand tu l'auras testé, tu pourras faire une pull request pour ça