From 7d97003b35a9eba128a3ff281ec37e9907e4358a Mon Sep 17 00:00:00 2001 From: Arnaud Levy <contact@arnaudlevy.com> Date: Mon, 28 Feb 2022 08:04:45 +0100 Subject: [PATCH] loca wip --- app/views/admin/application/_nav.html.erb | 15 ++++-- .../organization_chart/_edit.html.erb | 52 ++++++++++++------- config/admin_navigation.rb | 2 +- config/locales/communication/en.yml | 13 +++++ config/locales/communication/fr.yml | 13 +++++ 5 files changed, 73 insertions(+), 22 deletions(-) diff --git a/app/views/admin/application/_nav.html.erb b/app/views/admin/application/_nav.html.erb index 471a87ba4..53f822a2f 100644 --- a/app/views/admin/application/_nav.html.erb +++ b/app/views/admin/application/_nav.html.erb @@ -7,9 +7,18 @@ <footer class="small my-5"> <hr> - <%= link_to t('terms_of_service'), t('terms_of_service_url'), target: '_blank', rel: 'noreferrer', class: 'sidebar-link' %> - <%= link_to t('privacy_policy'), t('privacy_policy_url'), target: '_blank', rel: 'noreferrer', class: 'sidebar-link' %> - <%= link_to t('cookies_policy'), t('cookies_policy_url'), target: '_blank', rel: 'noreferrer', class: 'sidebar-link' %> + <% + [ + :terms_of_service, + :privacy_policy, + :cookies_policy + ].each do |term| %> + <%= link_to t("#{term}"), + t("#{term}_url"), + target: '_blank', + rel: 'noreferrer', + class: 'sidebar-link' %> + <% end %> <%= link_to t('cookies_consent_choice'), '', class: 'sidebar-link js-gdpr__cookie_consent__display_again' %> </footer> </div> diff --git a/app/views/admin/communication/blocks/templates/organization_chart/_edit.html.erb b/app/views/admin/communication/blocks/templates/organization_chart/_edit.html.erb index 3d0b35626..9a078be39 100644 --- a/app/views/admin/communication/blocks/templates/organization_chart/_edit.html.erb +++ b/app/views/admin/communication/blocks/templates/organization_chart/_edit.html.erb @@ -1,29 +1,45 @@ <a class="<%= button_classes('mb-4') %>" v-on:click="data.elements.push({id: '', role: ''})"> - Add person + <%= t '.add_person' %> </a> -<draggable :list="data.elements" class="list-group"> - <div v-for="person in data.elements" class="list-group-item"> - <div class="row"> - <div class="col-md-1"> - <a class="btn ps-0"> +<draggable :list="data.elements" class="list-group" handle=".dragHandle"> + <div v-for="(person, index) in data.elements" class="list-group-item"> + <div class="d-flex"> + <div> + <a class="btn ps-0 dragHandle" title="<%= t '.drag_title' %>"> <i class="fa fa-bars handle"></i> </a> </div> - <div class="col-md-5"> - <select class="form-select select" v-model="person.id"> - <% current_university.people.ordered.each_with_index do |person, index| %> - <option value="<%= person.id %>"><%= person.last_name %>, <%= person.first_name %></option> - <% end %> - </select> + <div class="flex-fill"> + <div class="row"> + <div class="col-md-6"> + <label class="form-label visually-hidden" + :for="'person-' + index + '-name'"><%= t '.person_label' %></label> + <select :id="'person-' + index + '-name'" + class="form-select select" + v-model="person.id"> + <option value="" disabled><%= t '.person_placeholder' %></option> + <% current_university.people.ordered.each_with_index do |person, index| %> + <option value="<%= person.id %>"><%= person.last_name %>, <%= person.first_name %></option> + <% end %> + </select> + </div> + <div class="col-md-6"> + <label class="form-label visually-hidden" + :for="'person-' + index + '-role'"><%= t '.role_label' %></label> + <input :id="'person-' + index + '-role'" + class="form-control" + type="text" + v-model="person.role" + placeholder="<%= t '.role_placeholder' %>"> + </div> + </div> </div> - <div class="col-md-5"> - <input class="form-control" type="text" v-model="person.role" placeholder="Type role here"> - </div> - <div class="col-md-1 text-end"> - <a class="btn btn-sm btn-danger mt-1" - v-on:click="data.elements.splice(data.elements.indexOf(person), 1)"> + <div> + <a class="btn btn-sm btn-danger ms-3" + v-on:click="data.elements.splice(data.elements.indexOf(person), 1)" + title="<%= t '.delete_title' %>"> <i class="fas fa-times"></i> </a> </div> diff --git a/config/admin_navigation.rb b/config/admin_navigation.rb index 7ba64197b..b4d9e9996 100644 --- a/config/admin_navigation.rb +++ b/config/admin_navigation.rb @@ -4,7 +4,7 @@ SimpleNavigation::Configuration.run do |navigation| navigation.highlight_on_subpath = true navigation.selected_class = 'active' navigation.items do |primary| - primary.item :dashboard, t('dashboard'), admin_root_path, { icon: 'tachometer-alt', highlights_on: /admin$/ } + primary.item :dashboard, t('admin.dashboard'), admin_root_path, { icon: 'tachometer-alt', highlights_on: /admin$/ } if can?(:read, User) || can?(:read, University::Person) primary.item :university, University.model_name.human, nil, { kind: :header } diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml index 086ba6cf7..a86927cdb 100644 --- a/config/locales/communication/en.yml +++ b/config/locales/communication/en.yml @@ -105,6 +105,19 @@ en: text: Text title: Title website: Website + admin: + communication: + blocks: + templates: + organization_chart: + edit: + add_person: Add person + person_label: Person + person_placeholder: Select the person + role_label: Role + role_placeholder: Enter person's role + drag_title: Drag and drop to organize persons + delete_title: Remove person communication: authors: one: Author diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index e8671cbb3..2717f3840 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -105,6 +105,19 @@ fr: text: Texte title: Titre website: Site Web + admin: + communication: + blocks: + templates: + organization_chart: + edit: + add_person: Ajouter une personne + person_label: Personne + person_placeholder: Choisir le personne + role_label: Rôle + role_placeholder: Indiquer le rôle de la personne + drag_title: Glisser-déposer pour organiser les personnes + delete_title: Enlever la personne communication: authors: one: Auteur·rice -- GitLab