mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-01-29 18:52:22 +01:00
Ability to customize the title of the link to the about page
This commit is contained in:
parent
45e4b5c4bc
commit
15ab3c1305
@ -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
|
||||
|
@ -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 };
|
||||
|
@ -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;
|
||||
|
@ -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; }],
|
||||
|
@ -1,4 +1,27 @@
|
||||
<div class="panel panel-default m-t-md">
|
||||
<div class="panel-heading">
|
||||
<span class="font-sbold" translate>{{ 'app.admin.settings.link' }}</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="col-md-4">
|
||||
<form role="form" novalidate>
|
||||
<label for="linkName" class="control-label m-r" translate>{{ 'app.admin.settings.link_to_about' }}</label>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon"><i class="fa fa-link"></i></div>
|
||||
<input type="text" id="linkName" ng-model="linkName.value" class="form-control" placeholder="{{ 'app.admin.settings.link_to_about' | translate }}"/>
|
||||
</div>
|
||||
</div>
|
||||
<button name="button" class="btn btn-warning" ng-click="save(linkName)" translate>{{ 'app.shared.buttons.save' }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel panel-default m-t-md">
|
||||
<div class="panel-heading">
|
||||
<span class="font-sbold" translate>{{ 'app.admin.settings.content' }}</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="row m-t-lg m-b-lg">
|
||||
|
@ -23,17 +23,17 @@
|
||||
<div class="form-group">
|
||||
<label for="nameGenreMale">
|
||||
<input type="radio" name="nameGenre" id="nameGenreMale" ng-model="nameGenre.value" ng-value="'male'" />
|
||||
{{ 'app.admin.settings.male' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.about' | translate }} <strong translate>{{ 'app.admin.settings.male_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
{{ 'app.admin.settings.male' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.male_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
</label>
|
||||
<br/>
|
||||
<label for="nameGenreFemale">
|
||||
<input type="radio" name="nameGenre" id="nameGenreFemale" ng-model="nameGenre.value" ng-value="'female'" />
|
||||
{{ 'app.admin.settings.female' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.about' | translate }} <strong translate>{{ 'app.admin.settings.female_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
{{ 'app.admin.settings.female' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.female_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
</label>
|
||||
<br/>
|
||||
<label for="nameGenreNeutral">
|
||||
<input type="radio" name="nameGenre" id="nameGenreNeutral" ng-model="nameGenre.value" ng-value="'neutral'" />
|
||||
{{ 'app.admin.settings.neutral' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.about' | translate }} <strong translate>{{ 'app.admin.settings.neutral_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
{{ 'app.admin.settings.neutral' | translate }} <span style="font-weight: normal">{{ 'app.admin.settings.eg' | translate }} <cite>{{ 'app.admin.settings.the_team' | translate }} <strong translate>{{ 'app.admin.settings.neutral_preposition' }}</strong> {{fablabName.value}}</cite></span>
|
||||
</label>
|
||||
</div>
|
||||
<button name="button" class="btn btn-warning" ng-click="save(nameGenre)" translate>{{ 'app.shared.buttons.save' }}</button>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<li>
|
||||
<a href class="about-link font-sbold text-sm" ng-click="goabout = !goabout" ui-sref="app.public.about" ng-show="!goabout">
|
||||
<span class="label label-theme rounded text-lg text-white m-r-sm font-ebold">?</span>
|
||||
{{ 'app.public.common.about_the_fablab' | translate:{ GENDER: nameGenre, NAME: fablabName } }}
|
||||
{{ linkName }}
|
||||
</a>
|
||||
<a href class="about-link font-sbold text-sm" ng-click="goabout = !goabout" ui-sref="app.public.home" ng-show="goabout">
|
||||
<span class="label label-theme label-icon rounded text-lg text-white m-r-sm font-ebold"><i class="fa fa-caret-up" ng-show="goabout"></i></span>
|
||||
|
@ -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?
|
||||
|
||||
|
@ -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 <strong>if permission is granted.</strong>"
|
||||
version: "Application version"
|
||||
|
@ -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 <strong>if permission is granted.</strong>"
|
||||
version: "Application version"
|
||||
|
@ -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\""
|
||||
|
@ -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 <strong>if permission is granted.</strong>"
|
||||
version: "Application version"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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. <a href='api/accounting_periods/%{ID}/archive' target='_blank'>click here to download</a>. 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. <a href='api/accounting_periods/%{ID}/archive' target='_blank'>click here to download</a>. 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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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. <a href='api/accounting_periods/%{ID}/archive' target='_blank'>click here to download</a>. 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. <a href='api/accounting_periods/%{ID}/archive' target='_blank'>click here to download</a>. 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"
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user