i18n: fix enum values for Dossier.state
According to Rails i18n guide, enum values should be localized as `<model>/<enum>`, not as sub-values to the attribute. This fixes an exception in administrate when displaying a Dossier in the Manager. Note: we need to change the way GraphQL attributes are generated, because `AASM::Core::State#display_name` doesn’t honor the `model/attribute.value` convention (and instead tries to localize as `model.attribute/value`). So instead we lookup the localized name using ActiveRecord.
This commit is contained in:
parent
fb75f9d133
commit
b8f71bd52c
4 changed files with 14 additions and 18 deletions
|
@ -51,7 +51,7 @@ module DossierHelper
|
|||
|
||||
def dossier_display_state(dossier_or_state, lower: false)
|
||||
state = dossier_or_state.is_a?(Dossier) ? dossier_or_state.state : dossier_or_state
|
||||
display_state = I18n.t(state, scope: [:activerecord, :attributes, :dossier, :state])
|
||||
display_state = Dossier.human_attribute_name("state.#{state}")
|
||||
lower ? display_state.downcase : display_state
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue