diff --git a/CHANGELOG.md b/CHANGELOG.md index 3278c3c78..ea14c52ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - Display indications on required fields in new administrator form - Administrators can to book machine/space/training slots, until 1 month in the past - Filter members by non-validated emails or by inactive for 3 years +- Ability to customize the title of the link to the about page - Automatic version check with security alerts - Public endpoint to check the system health - Configuration of phone number in members registration forms: can be required or optional, depending on `PHONE_REQUIRED` configuration diff --git a/app/assets/javascripts/controllers/admin/settings.js.erb b/app/assets/javascripts/controllers/admin/settings.js.erb index 61cc7b650..ff412804d 100644 --- a/app/assets/javascripts/controllers/admin/settings.js.erb +++ b/app/assets/javascripts/controllers/admin/settings.js.erb @@ -53,6 +53,7 @@ Application.Controllers.controller('SettingsController', ['$scope', '$filter', ' // various configurable settings $scope.twitterSetting = { name: 'twitter_name', value: settingsPromise.twitter_name }; + $scope.linkName = { name: 'link_name', value: settingsPromise.link_name }; $scope.aboutTitleSetting = { name: 'about_title', value: settingsPromise.about_title }; $scope.aboutBodySetting = { name: 'about_body', value: settingsPromise.about_body }; $scope.privacyDpoSetting = { name: 'privacy_dpo', value: settingsPromise.privacy_dpo }; diff --git a/app/assets/javascripts/controllers/application.js.erb b/app/assets/javascripts/controllers/application.js.erb index 6a44a0070..87c8cab7d 100644 --- a/app/assets/javascripts/controllers/application.js.erb +++ b/app/assets/javascripts/controllers/application.js.erb @@ -316,8 +316,11 @@ Application.Controllers.controller('ApplicationController', ['$rootScope', '$sco // we stop polling notifications when the page is not in foreground onPageVisible(function (state) { $rootScope.toCheckNotifications = (state === 'visible'); }); - Setting.get({ name: 'fablab_name' }, function (data) { $scope.fablabName = data.setting.value; }); - Setting.get({ name: 'name_genre' }, function (data) { $scope.nameGenre = data.setting.value; }); + Setting.query({ names: "['fablab_name', 'name_genre', 'link_name']" }, function (settings) { + $scope.fablabName = settings.fablab_name; + $scope.nameGenre = settings.name_genre; + $scope.linkName = settings.link_name; + }); // shorthands $scope.isAuthenticated = Auth.isAuthenticated; diff --git a/app/assets/javascripts/router.js.erb b/app/assets/javascripts/router.js.erb index 3b17030c4..00c091f02 100644 --- a/app/assets/javascripts/router.js.erb +++ b/app/assets/javascripts/router.js.erb @@ -43,7 +43,7 @@ angular.module('application.router', ['ui.router']) CSRF.setMetaTags(); // Application logo $rootScope.logo = logoFile.custom_asset; - return $rootScope.logoBlack = logoBlackFile.custom_asset; + $rootScope.logoBlack = logoBlackFile.custom_asset; }] }) .state('app.public', { @@ -1005,7 +1005,8 @@ angular.module('application.router', ['ui.router']) 'booking_cancel_delay', 'main_color', 'secondary_color', \ 'fablab_name', 'name_genre', 'reminder_enable', \ 'reminder_delay', 'visibility_yearly', 'visibility_others', \ - 'display_name_enable', 'machines_sort_by', 'fab_analytics']` }).$promise; + 'display_name_enable', 'machines_sort_by', 'fab_analytics', \ + 'link_name']` }).$promise; }], privacyDraftsPromise: ['Setting', function (Setting) { return Setting.get({ name: 'privacy_draft', history: true }).$promise; }], cguFile: ['CustomAsset', function (CustomAsset) { return CustomAsset.get({ name: 'cgu-file' }).$promise; }], diff --git a/app/assets/templates/admin/settings/about.html b/app/assets/templates/admin/settings/about.html index b190fa9ff..817db1c11 100644 --- a/app/assets/templates/admin/settings/about.html +++ b/app/assets/templates/admin/settings/about.html @@ -1,4 +1,27 @@
+
+ {{ 'app.admin.settings.link' }} +
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+ +
+
+ {{ 'app.admin.settings.content' }} +
diff --git a/app/assets/templates/admin/settings/general.html b/app/assets/templates/admin/settings/general.html index f49b7785e..208dc2b04 100644 --- a/app/assets/templates/admin/settings/general.html +++ b/app/assets/templates/admin/settings/general.html @@ -23,17 +23,17 @@


diff --git a/app/assets/templates/shared/header.html.erb b/app/assets/templates/shared/header.html.erb index 466f0b4d4..768668a4f 100644 --- a/app/assets/templates/shared/header.html.erb +++ b/app/assets/templates/shared/header.html.erb @@ -10,7 +10,7 @@
  • ? - {{ 'app.public.common.about_the_fablab' | translate:{ GENDER: nameGenre, NAME: fablabName } }} + {{ linkName }} diff --git a/app/models/setting.rb b/app/models/setting.rb index fa5a79960..76a707366 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -64,7 +64,8 @@ class Setting < ActiveRecord::Base accounting_Space_label hub_last_version hub_public_key - fab_analytics] } + fab_analytics + link_name] } after_update :update_stylesheet, :notify_privacy_policy_changed if :value_changed? diff --git a/config/locales/app.admin.en.yml b/config/locales/app.admin.en.yml index 424ef281b..7293ebb5b 100644 --- a/config/locales/app.admin.en.yml +++ b/config/locales/app.admin.en.yml @@ -855,6 +855,7 @@ en: neutral: "Neutral." eg: "eg:" about: "About" + the_team: "The team of" male_preposition: "the" female_preposition: "the" neutral_preposition: "" @@ -891,6 +892,9 @@ en: leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Leave it empty to not bring up any news on the home page" twitter_stream: "Twitter Stream:" name_of_the_twitter_account: "Name of the Twitter account" + link: "Link" + link_to_about: 'Link title to the "About" page' + content: "Content" title_of_the_about_page: "Title of the About page" shift_enter_to_force_carriage_return: "SHIFT + ENTER to force carriage return" input_the_main_content: "Input the main content" @@ -926,6 +930,7 @@ en: secondary_color: "secondary colour" home_blogpost: "homepage's brief" twitter_name: "Twitter feed name" + link_name: "link title to the \"About\" page" about_title: "\"About\" page title" about_body: "\"About\" page content" about_contacts: "\"About\" page contacts" @@ -948,6 +953,7 @@ en: display_name: "Display the name" display_name_enable: "name display" machines_sort_by: "machines display order" + fab_analytics: "Fab Analytics" elements_ordering: "Elements ordering" machines_order: "Machines order" display_machines_sorted_by: "Display machines sorted by" @@ -966,6 +972,8 @@ en: publish_will_notify: "Publish a new version will send a notification to every users." publish: "Publish" users_notified: "Platform users will be notified of the update." + about_analytics: "I agree to share anonymous data with the development team to help improve Fab-Manager." + read_more: "Which data do we collect?" analytics: intro_analytics_html: "You'll find below a detailed view of all the data, Fab-Manager will collect if permission is granted." version: "Application version" diff --git a/config/locales/app.admin.es.yml b/config/locales/app.admin.es.yml index aebcf6368..d8d60a425 100644 --- a/config/locales/app.admin.es.yml +++ b/config/locales/app.admin.es.yml @@ -357,7 +357,7 @@ es: invoices: # list of all invoices & invoicing parameters invoices: "Facturas" - accounting_periods: "Accounting periods" # missing translation + accounting_periods: "Accounting periods" invoices_list: "Lista de facturas" filter_invoices: "Filtrar facturas" invoice_num_: "Factura #:" @@ -373,7 +373,7 @@ es: display_more_invoices: "Mostrar más facturas..." no_invoices_for_now: "Sin facturas por ahora." invoicing_settings: "Configuración de facturación" - warning_invoices_disabled: "Warning : invoices are not enabled. No invoices will be generated by Fab-manager. Nevertheless, you must correctly fill the information below, especially VAT." # missing translation + warning_invoices_disabled: "Warning : invoices are not enabled. No invoices will be generated by Fab-manager. Nevertheless, you must correctly fill the information below, especially VAT." change_logo: "Cambio de logotipo" john_smith: "John Smith" john_smith_at_example_com: "jean.smith@example.com" @@ -855,6 +855,7 @@ es: neutral: "Neutral" eg: "ej:" about: "Sobre" + the_team: "El equipo" male_preposition: "el" female_preposition: "la" neutral_preposition: "" @@ -891,6 +892,9 @@ es: leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Déjelo vacío para no abrir ninguna noticia en la página principal" twitter_stream: "Twitter Stream:" name_of_the_twitter_account: "Nombre de la cuenta de Twitter" + link: "Link" + link_to_about: 'Link title to the "About" page' + content: "Content" title_of_the_about_page: "Título de la página Acerca de" shift_enter_to_force_carriage_return: "MAYÚS + ENTRAR para forzar el retorno de carro" input_the_main_content: "Introduzca el contenido principal" @@ -926,6 +930,7 @@ es: secondary_color: "color secundario" home_blogpost: "Resumen de la página de inicio" twitter_name: "Twitter feed name" + link_name: "link title to the \"About\" page" about_title: "Título de la página \"Acerca de\"" about_body: "Contenido de la página \"Acerca de\"" about_contacts: "Página contactos\"Acerca de\"" @@ -948,6 +953,7 @@ es: display_name: "Mostrar el nombre" display_name_enable: "la visualización del nombre" machines_sort_by: "del orden de visualización de las máquinas" + fab_analytics: "Fab Analytics" elements_ordering: "Orden de visualización de los elementos" machines_order: "Orden de las máquinas" display_machines_sorted_by: "Ver máquinas ordenadas por" @@ -966,6 +972,8 @@ es: publish_will_notify: "Publish a new version will send a notification to every users." publish: "Publish" users_notified: "Platform users will be notified of the update." + about_analytics: "I agree to share anonymous data with the development team to help improve Fab-Manager." + read_more: "Which data do we collect?" analytics: intro_analytics_html: "You'll find below a detailed view of all the data, Fab-Manager will collect if permission is granted." version: "Application version" diff --git a/config/locales/app.admin.fr.yml b/config/locales/app.admin.fr.yml index 6d49bbc39..fe9b97b31 100644 --- a/config/locales/app.admin.fr.yml +++ b/config/locales/app.admin.fr.yml @@ -855,6 +855,7 @@ fr: neutral: "Neutre." eg: "ex :" about: "A propos" + the_team: "L'équipe" male_preposition: "du" female_preposition: "de la" neutral_preposition: "" @@ -891,6 +892,9 @@ fr: leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Laisser vide pour ne pas faire apparaître de brève sur la page d'accueil" twitter_stream: "Flux Twitter :" name_of_the_twitter_account: "Nom du compte Twitter" + link: "Lien" + link_to_about: 'Titre du lien vers la page "À propos"' + content: "Contenu" title_of_the_about_page: "Titre page A propos" shift_enter_to_force_carriage_return: "MAJ. + ENTRÉE pour forcer le retour à la ligne" input_the_main_content: "Saisir le contenu principal" @@ -926,6 +930,7 @@ fr: secondary_color: "la couleur secondaire" home_blogpost: "la brève de la page d'accueil" twitter_name: "nom du flux Twitter" + link_name: "l'intitulé du lien vers la page \"À propos\"" about_title: "titre de la page \"À propos\"" about_body: "corps de la page \"À propos\"" about_contacts: "contacts sur la page \"À propos\"" diff --git a/config/locales/app.admin.pt.yml b/config/locales/app.admin.pt.yml index 0a9a838ca..963fef504 100755 --- a/config/locales/app.admin.pt.yml +++ b/config/locales/app.admin.pt.yml @@ -357,7 +357,7 @@ pt: invoices: # list of all invoices & invoicing parameters invoices: "Faturas" - accounting_periods: "Accounting periods" # missing translation + accounting_periods: "Accounting periods" invoices_list: "Lista de faturas" filter_invoices: "Filtrar faturas" invoice_num_: "Fatura #:" @@ -373,7 +373,7 @@ pt: display_more_invoices: "Mostrar mais faturas..." no_invoices_for_now: "Nenhuma fatura." invoicing_settings: "Configurações do faturamento" - warning_invoices_disabled: "Warning : invoices are not enabled. No invoices will be generated by Fab-manager. Nevertheless, you must correctly fill the information below, especially VAT." # missing translation + warning_invoices_disabled: "Warning : invoices are not enabled. No invoices will be generated by Fab-manager. Nevertheless, you must correctly fill the information below, especially VAT." change_logo: "Mudar o logo" john_smith: "John Smith" john_smith_at_example_com: "jean.smith@example.com" @@ -852,9 +852,10 @@ pt: title_concordance: "Tírulo concordância" male: "Masculino." female: "Feminino." - neutral: "Neutro." #TODO + neutral: "Neutro." eg: "ex:" about: "Sobre" + the_team: "A equipe" male_preposition: "o" female_preposition: "a" neutral_preposition: "" @@ -891,6 +892,9 @@ pt: leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Deixe vazio para não abrir nenhuma notícia na home page" twitter_stream: "Twitter Stream:" name_of_the_twitter_account: "Nome da conta do Twitter" + link: "Link" + link_to_about: 'Link title to the "About" page' + content: "Content" title_of_the_about_page: "Título da página sobre" shift_enter_to_force_carriage_return: "SHIFT + ENTER para forçar o retorno" input_the_main_content: "Introduza o conteúdo principal" @@ -926,6 +930,7 @@ pt: secondary_color: "Cor secundária" home_blogpost: "Resumo da página inicial" twitter_name: "Nome do feed do Twitter" + link_name: "link title to the \"About\" page" about_title: "\"Sobre\" título da página" about_body: "\"Sobre\" conteúdo da página" about_contacts: "\"Sobre\" página de contatos" @@ -943,19 +948,20 @@ pt: default_value_is_24_hours: "Se o campo estiver vazio: 24 horas." visibility_yearly: "visibilidade máxima para assinantes anuais" visibility_others: "visibilidade máxima para outros membros" - confidentiality: "TODO" - display_machine_reservation_user_name: "TODO" - display_name: "TODO" - display_name_enable: "TODO" - machines_sort_by: "TODO" - elements_ordering: "TODO" - machines_order: "TODO" - display_machines_sorted_by: "TODO" + confidentiality: "Confidentiality" + display_machine_reservation_user_name: "Display the full name of the user who booked a machine slot" + display_name: "Display the name" + display_name_enable: "name display" + machines_sort_by: "machines display order" + fab_analytics: "Fab Analytics" + elements_ordering: "Elements ordering" + machines_order: "Machines order" + display_machines_sorted_by: "Display machines sorted by" sort_by: - default: "TODO" + default: "Default" name: "Nome" - created_at: "TODO" - updated_at: "TODO" + created_at: "Creation date" + updated_at: "Last update date" privacy: title: "Política de privacidade" input_the_dpo: "Input the contact of the Data Protection Officer" @@ -966,6 +972,8 @@ pt: publish_will_notify: "Publish a new version will send a notification to every users." publish: "Publish" users_notified: "Platform users will be notified of the update." + about_analytics: "I agree to share anonymous data with the development team to help improve Fab-Manager." + read_more: "Which data do we collect?" analytics: intro_analytics_html: "You'll find below a detailed view of all the data, Fab-Manager will collect if permission is granted." version: "Application version" diff --git a/config/locales/app.logged.es.yml b/config/locales/app.logged.es.yml index 17c2cc837..e1b2e9556 100644 --- a/config/locales/app.logged.es.yml +++ b/config/locales/app.logged.es.yml @@ -68,10 +68,10 @@ es: an_unexpected_error_prevented_your_group_from_being_changed: "Un error inesperado impidió que su grupo fuese cambiado." confirmation_required: "Confirmation required" confirm_delete_your_account: "¿Está seguro de querer eliminar su cuenta?" - all_data_will_be_lost: "All your data will be destroyed and won't be recoverable." # missing translation - invoicing_data_kept: "According to regulation, all data related to your invoices will be kept separately for 10 years." # missing translation - statistic_data_anonymized: "Some data (sex, date of birth, group) will be anonymized and kept for statistical purposes." # missing translation - no_further_access_to_projects: "Your published projects will be anonymized and you won't get any further ability to edit them." # missing translation + all_data_will_be_lost: "All your data will be destroyed and won't be recoverable." + invoicing_data_kept: "According to regulation, all data related to your invoices will be kept separately for 10 years." + statistic_data_anonymized: "Some data (sex, date of birth, group) will be anonymized and kept for statistical purposes." + no_further_access_to_projects: "Your published projects will be anonymized and you won't get any further ability to edit them." your_user_account_has_been_successfully_deleted_goodbye: "Su cuenta ha sido eliminada con éxito. Adiós" an_error_occured_preventing_your_account_from_being_deleted: "Un error inesperado impidió que su cuenta fuese eliminada." used_for_statistics: "This data will be used for statistical purposes" diff --git a/config/locales/app.logged.pt.yml b/config/locales/app.logged.pt.yml index 846d60583..0cefc4a70 100755 --- a/config/locales/app.logged.pt.yml +++ b/config/locales/app.logged.pt.yml @@ -68,10 +68,10 @@ pt: an_unexpected_error_prevented_your_group_from_being_changed: "Um erro inesperado impediu o seu grupo de ser alterado." confirmation_required: "Confirmation required" confirm_delete_your_account: "Você realmente deseja deletar sua conta?" - all_data_will_be_lost: "All your data will be destroyed and won't be recoverable." # missing translation - invoicing_data_kept: "According to regulation, all data related to your invoices will be kept separately for 10 years." # missing translation - statistic_data_anonymized: "Some data (sex, date of birth, group) will be anonymized and kept for statistical purposes." # missing translation - no_further_access_to_projects: "Your published projects will be anonymized and you won't get any further ability to edit them." # missing translation + all_data_will_be_lost: "All your data will be destroyed and won't be recoverable." + invoicing_data_kept: "According to regulation, all data related to your invoices will be kept separately for 10 years." + statistic_data_anonymized: "Some data (sex, date of birth, group) will be anonymized and kept for statistical purposes." + no_further_access_to_projects: "Your published projects will be anonymized and you won't get any further ability to edit them." your_user_account_has_been_successfully_deleted_goodbye: "Sua conta de usuário foi excluída com êxito. Até mais." an_error_occured_preventing_your_account_from_being_deleted: "Ocorreu um erro, impedindo que sua conta fosse excluída." used_for_statistics: "This data will be used for statistical purposes" diff --git a/config/locales/es.yml b/config/locales/es.yml index 33290d9c8..4def5d0c4 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -36,13 +36,13 @@ es: cannot_be_blank_at_same_time: "no puede estar vacío cuando %{field} también está vacío" cannot_be_in_the_past: "no puede estar en el pasado" cannot_be_before_previous_value: "No puede estar antes del valor anterior." - cannot_overlap: "can't overlap an existing accounting period" # missing translation - cannot_encompass: "can't encompass an existing accounting period" # missing translation - in_closed_period: "can't be within a closed accounting period" # missing translation - invalid_footprint: "invoice's checksum is invalid" # missing translation - end_before_start: "The end date can't be before the start date. Pick a date after %{START}" # missing translation - invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long." # missing translation - must_be_in_the_past: "The period must be strictly prior to today's date." # missing translation + cannot_overlap: "can't overlap an existing accounting period" + cannot_encompass: "can't encompass an existing accounting period" + in_closed_period: "can't be within a closed accounting period" + invalid_footprint: "invoice's checksum is invalid" + end_before_start: "The end date can't be before the start date. Pick a date after %{START}" + invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long." + must_be_in_the_past: "The period must be strictly prior to today's date." activemodel: errors: @@ -322,7 +322,7 @@ es: statistics_global: "de todas las estadísticas" statistics_account: "de las estadísticas de registro" statistics_event: "de estadísticas sobre eventos" - statistics_machine: "de estadísticas sobre slots de máquina" # missing translation + statistics_machine: "de estadísticas sobre slots de máquina" statistics_project: "de estadísticas sobre proyectos" statistics_subscription: "de estadísticas de suscripción" statistics_training: "de estadísticas de cursos" @@ -335,29 +335,29 @@ es: is_over: "se ha acabado." download_here: "Descargar aquí" notify_admin_import_complete: - import_over: "%{CATEGORY} import is over. " # missing translation - members: "Members" # missing translation - view_results: "View results." # missing translation + import_over: "%{CATEGORY} import is over. " + members: "Members" + view_results: "View results." notify_member_about_coupon: enjoy_a_discount_of_PERCENT_with_code_CODE: "Disfruta de un descuento de %{PERCENT}% con el código %{CODE}" enjoy_a_discount_of_AMOUNT_with_code_CODE: "Disfruta de un descuento de %{AMOUNT} con el código %{CODE}" notify_admin_free_disk_space: - warning_free_disk_space: "Warning: the server's available disk space is now %{AVAILABLE} MiB" # missing translation + warning_free_disk_space: "Warning: the server's available disk space is now %{AVAILABLE} MiB" notify_admin_close_period_reminder: - warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}" # missing translation - warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}" # missing translation - notify_admin_archive_complete: # missing translation - archive_complete: "Data archiving from %{START} to %{END} is done. click here to download. Remember to save it on an external secured media." # missing translation + warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}" + warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}" + notify_admin_archive_complete: + archive_complete: "Data archiving from %{START} to %{END} is done. click here to download. Remember to save it on an external secured media." notify_privacy_policy_changed: - policy_updated: "Privacy policy updated." # missing translation - click_to_show: "Click here to consult" # missing translation + policy_updated: "Privacy policy updated." + click_to_show: "Click here to consult" notify_admin_refund_created: - refund_created: "A refund of %{AMOUNT} has been created for user %{USER}" # missing translation + refund_created: "A refund of %{AMOUNT} has been created for user %{USER}" statistics: # statistics tools for admins subscriptions: "Suscripciones" - machines_hours: "Machine slots" # missing translation + machines_hours: "Machine slots" spaces: "Espacios" trainings: "Cursos" events: "Eventos" diff --git a/config/locales/mails.es.yml b/config/locales/mails.es.yml index 2a7007e83..9d18032be 100644 --- a/config/locales/mails.es.yml +++ b/config/locales/mails.es.yml @@ -240,7 +240,7 @@ es: signaled_by: "marcado por:" signaled_on: "marcado el:" message: "Mensaje:" - visit_management_interface: "Refer to the Reporting Management Interface for more information." # missing translation + visit_management_interface: "Refer to the Reporting Management Interface for more information." notify_user_wallet_is_credited: subject: "Your wallet has been credited" diff --git a/config/locales/mails.pt.yml b/config/locales/mails.pt.yml index a7247b1e7..7cf38e1af 100755 --- a/config/locales/mails.pt.yml +++ b/config/locales/mails.pt.yml @@ -240,7 +240,7 @@ pt: signaled_by: "sinalizado por:" signaled_on: "sinalizado em:" message: "Menssagem:" - visit_management_interface: "Refer to the Reporting Management Interface for more information." # missing translation + visit_management_interface: "Refer to the Reporting Management Interface for more information." notify_user_wallet_is_credited: subject: "Sua carteira foi creditada" diff --git a/config/locales/pt.yml b/config/locales/pt.yml index c208ef348..38c33962f 100755 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -36,13 +36,13 @@ pt: cannot_be_blank_at_same_time: "Não pode ficar em branco quando %{field} estiver em branco também" cannot_be_in_the_past: "não pode ser no passado" cannot_be_before_previous_value: "não pode ser antes do valor anterior" - cannot_overlap: "can't overlap an existing accounting period" # missing translation - cannot_encompass: "can't encompass an existing accounting period" # missing translation - in_closed_period: "can't be within a closed accounting period" # missing translation - invalid_footprint: "invoice's checksum is invalid" # missing translation - end_before_start: "The end date can't be before the start date. Pick a date after %{START}" # missing translation - invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long." # missing translation - must_be_in_the_past: "The period must be strictly prior to today's date." # missing translation + cannot_overlap: "can't overlap an existing accounting period" + cannot_encompass: "can't encompass an existing accounting period" + in_closed_period: "can't be within a closed accounting period" + invalid_footprint: "invoice's checksum is invalid" + end_before_start: "The end date can't be before the start date. Pick a date after %{START}" + invalid_duration: "The allowed duration must be between 1 day and 1 year. Your period is %{DAYS} days long." + must_be_in_the_past: "The period must be strictly prior to today's date." activemodel: errors: @@ -322,7 +322,7 @@ pt: statistics_global: "de todas as estatísticas" statistics_account: "das estatísticas de registro" statistics_event: "de estatísticas sobre eventos" - statistics_machine: "de estatísticas sobre slots de máquina" # missing translation + statistics_machine: "de estatísticas sobre slots de máquina" statistics_project: "de estatísticas sobre projetos" statistics_subscription: "de estatísticas de assinatura" statistics_training: "de estatísticas sobre treinamentos" @@ -335,29 +335,29 @@ pt: is_over: "está finalizado." download_here: "Baixe aqui" notify_admin_import_complete: - import_over: "%{CATEGORY} import is over. " # missing translation - members: "Members" # missing translation - view_results: "View results." # missing translation + import_over: "%{CATEGORY} import is over. " + members: "Members" + view_results: "View results." notify_member_about_coupon: enjoy_a_discount_of_PERCENT_with_code_CODE: "Desfrute de um desconto de %{PERCENT}% com o código %{CODE}" enjoy_a_discount_of_AMOUNT_with_code_CODE: "Desfrute de um desconto de %{AMOUNT} com o código %{CODE}" notify_admin_free_disk_space: - warning_free_disk_space: "Warning: the server's available disk space is now %{AVAILABLE} MiB" # missing translation + warning_free_disk_space: "Warning: the server's available disk space is now %{AVAILABLE} MiB" notify_admin_close_period_reminder: - warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}" # missing translation - warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}" # missing translation - notify_admin_archive_complete: # missing translation - archive_complete: "Data archiving from %{START} to %{END} is done. click here to download. Remember to save it on an external secured media." # missing translation + warning_last_closed_period_over_1_year: "Please remind to periodically close your accounting periods. Last closed period ended at %{LAST_END}" + warning_no_closed_periods: "Please remind to periodically close your accounting periods. You have to close periods from %{FIRST_DATE}" + notify_admin_archive_complete: + archive_complete: "Data archiving from %{START} to %{END} is done. click here to download. Remember to save it on an external secured media." notify_privacy_policy_changed: - policy_updated: "Privacy policy updated." # missing translation - click_to_show: "Click here to consult" # missing translation + policy_updated: "Privacy policy updated." + click_to_show: "Click here to consult" notify_admin_refund_created: - refund_created: "A refund of %{AMOUNT} has been created for user %{USER}" # missing translation + refund_created: "A refund of %{AMOUNT} has been created for user %{USER}" statistics: # statistics tools for admins subscriptions: "Assinaturas" - machines_hours: "Slots de máquina" # missing translation + machines_hours: "Slots de máquina" spaces: "Espaços" trainings: "Treinamentos" events: "Eventos" diff --git a/db/seeds.rb b/db/seeds.rb index 9ba628d1e..51a0bf59a 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -636,6 +636,14 @@ unless Setting.find_by(name: 'fab_analytics').try(:value) setting.save end +unless Setting.find_by(name: 'link_name').try(:value) + name = Setting.find_by(name: 'fablab_name') + gender = Setting.find_by(name: 'name_genre') + setting = Setting.find_or_initialize_by(name: 'link_name') + setting.value = _t('app.public.common.about_the_fablab', NAME: name, GENDER: gender) + setting.save +end + if StatisticCustomAggregation.count.zero? # available reservations hours for machines machine_hours = StatisticType.find_by(key: 'hour', statistic_index_id: 2)