fundraiser_url field
cbeauchesne opened this issue · 2 comments
Sorry for the french
Version lisible
- Pour les régions, points de passages de type
climbing_outdoor
avec équipements P1 et P1+, et les itis escalade et rocher haute montagne, on rajoute un champ "contribuer à la maintenance". - Ce champ peut etre hérité du point de passage principal ou de la région
- Ce champ ne peut etre édité que par les modos
Version technique
API
- Rajouter aux régions, points de passages et itinéraires un champ en base de donnée:
fundraiser_url
. - Ce champ n'est editable que par les modos
- Rajouter dans les points de passages et itinéraires un champ calculé
can_have_fundraiser
selon l'algo suivant:TRUE
pour les points de passage de typeclimbing_outdoor
ET ayant des équipementsP1
ouP1+
TRUE
Pour les itinéraires de typemountain_climbing
ourock_climbing
FALSE
dans tous les autres cas
- Rajouter dans les régions, points de passages et itinéraires un champ calculé
computed_fundraiser_url
selon l'algo suivant:- Pour les régions, c'est directement le champ
fundraiser_url
- Pour les points de passage dont
can_have_fundraiser=TRUE
, c'est, par ordre de priorité:- le champ
fundraiser_url
du point de passage - Sinon celui d'une région parent de type
range
(premier trouvé si plusieurs) - Sinon celui d'une région parent de type
admin_limit
(premier trouvé si plusieurs) - Sinon celui d'une région parent de type
country
(premier trouvé si plusieurs)
- le champ
- Pour les itinéraires dont
can_have_fundraiser=TRUE
:- le champ
fundraiser_url
de l'itinéraire
2; Sinon le champcomputed_fundraiser_url
du point de passage principal
- le champ
- Pour tous les autres cas,
computed_fundraiser_url
est vide.
- Pour les régions, c'est directement le champ
Some changes in the spec :
The way the API works implies that a field not valid for a certain doc is emptied at edit if the edition makes the field invalid.
For instance, if a contributor changes a waypoint from climbing_outdoor
to summit
, all fields related to are empty.
For this field, it would mean that contributor can empty it, which is something we do not want at all.
So: whatever the value of can_have_fundraiser
is, the field is present, and untouched during an edition (except for moderators if they need to) => it's the UI responsibility to display it or not regarding the value of can_have_fundraiser
.
Another change in the spec:
After fighting playing with the cache, it appears that I'm a little bit afraid of the dynamics of a computed properties that takes inputs from several documents.
In consequence, I'll let the UI handle the computed_fundraiser_url
property for now. When I'll be more confortable with the API, I may be back on the workbench.