mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-02-21 15:54:22 +01:00
Merge branch 'dev' for release 5.0.5
This commit is contained in:
commit
32ff3fed8d
@ -1,13 +1,7 @@
|
|||||||
# Ignore bundler config.
|
# Ignore bundler config.
|
||||||
.bundle
|
|
||||||
vendor/cache
|
|
||||||
|
|
||||||
config/database.yml
|
config/database.yml
|
||||||
config/application.yml
|
|
||||||
|
|
||||||
# Ignore database files.
|
# Ignore database files.
|
||||||
db/*.sqlite3
|
|
||||||
db/*.sqlite3-journal
|
|
||||||
postgresql
|
postgresql
|
||||||
elasticsearch
|
elasticsearch
|
||||||
redis
|
redis
|
||||||
@ -15,7 +9,6 @@ redis
|
|||||||
|
|
||||||
# Ignore public assets
|
# Ignore public assets
|
||||||
public/uploads
|
public/uploads
|
||||||
public/assets
|
|
||||||
public/packs
|
public/packs
|
||||||
|
|
||||||
# Ignore all logfiles and tempfiles.
|
# Ignore all logfiles and tempfiles.
|
||||||
@ -23,8 +16,7 @@ log
|
|||||||
*.log
|
*.log
|
||||||
tmp
|
tmp
|
||||||
|
|
||||||
# Ignore platform dependent files
|
# Ignore IDE configuration files
|
||||||
*.DS_Store
|
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
# PDF invoices
|
# PDF invoices
|
||||||
@ -39,10 +31,7 @@ imports
|
|||||||
# accounting archives
|
# accounting archives
|
||||||
accounting
|
accounting
|
||||||
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Development files
|
# Development files
|
||||||
.vagrant
|
|
||||||
Vagrantfile
|
Vagrantfile
|
||||||
provision
|
provision
|
||||||
.git*
|
.git*
|
||||||
|
11
CHANGELOG.md
11
CHANGELOG.md
@ -1,5 +1,16 @@
|
|||||||
# Changelog Fab-manager
|
# Changelog Fab-manager
|
||||||
|
|
||||||
|
## v5.0.5 2021 June 18
|
||||||
|
|
||||||
|
- Fix a bug: during the upgrade, unable to detect the target when not explicitly specified
|
||||||
|
- Fix a bug: unable to sync users on stripe if one of them have an invalid email address
|
||||||
|
- Fix a bug: unable to book a free event
|
||||||
|
- Fix a bug: can't see the dates for the next booked training session, when the user is reserving a machine without the appropriate training
|
||||||
|
- Fix a bug: invalid link to the user's manual
|
||||||
|
- Fix a bug: unable to sync coupons on stripe
|
||||||
|
- Fix a bug: ignored coupon when booking an event with card payment
|
||||||
|
- Fix a bug: deleting a coupon displays an error message
|
||||||
|
|
||||||
## v5.0.4 2021 June 15
|
## v5.0.4 2021 June 15
|
||||||
|
|
||||||
- Ability to disable the public agenda
|
- Ability to disable the public agenda
|
||||||
|
@ -126,8 +126,8 @@ Application.Controllers.controller('EventsController', ['$scope', '$state', 'Eve
|
|||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Application.Controllers.controller('ShowEventController', ['$scope', '$state', '$stateParams', '$rootScope', 'Event', '$uibModal', 'Member', 'Reservation', 'Price', 'CustomAsset', 'Slot', 'eventPromise', 'growl', '_t', 'Wallet', 'AuthService', 'helpers', 'dialogs', 'priceCategoriesPromise', 'settingsPromise',
|
Application.Controllers.controller('ShowEventController', ['$scope', '$state', '$stateParams', '$rootScope', 'Event', '$uibModal', 'Member', 'Reservation', 'Price', 'CustomAsset', 'Slot', 'eventPromise', 'growl', '_t', 'Wallet', 'AuthService', 'helpers', 'dialogs', 'priceCategoriesPromise', 'settingsPromise', 'LocalPayment',
|
||||||
function ($scope, $state, $stateParams, $rootScope, Event, $uibModal, Member, Reservation, Price, CustomAsset, Slot, eventPromise, growl, _t, Wallet, AuthService, helpers, dialogs, priceCategoriesPromise, settingsPromise) {
|
function ($scope, $state, $stateParams, $rootScope, Event, $uibModal, Member, Reservation, Price, CustomAsset, Slot, eventPromise, growl, _t, Wallet, AuthService, helpers, dialogs, priceCategoriesPromise, settingsPromise, LocalPayment) {
|
||||||
/* PUBLIC SCOPE */
|
/* PUBLIC SCOPE */
|
||||||
|
|
||||||
// reservations for the currently shown event
|
// reservations for the currently shown event
|
||||||
@ -366,7 +366,7 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
|
|||||||
// set the attempting marker
|
// set the attempting marker
|
||||||
$scope.attempting = true;
|
$scope.attempting = true;
|
||||||
// save the reservation to the API
|
// save the reservation to the API
|
||||||
return Reservation.save(cartItems, function (reservation) {
|
return LocalPayment.confirm(cartItems, function (reservation) {
|
||||||
// reservation successful
|
// reservation successful
|
||||||
afterPayment(reservation);
|
afterPayment(reservation);
|
||||||
return $scope.attempting = false;
|
return $scope.attempting = false;
|
||||||
@ -715,7 +715,7 @@ Application.Controllers.controller('ShowEventController', ['$scope', '$state', '
|
|||||||
growl.error(_t('app.shared.cart.online_payment_disabled'));
|
growl.error(_t('app.shared.cart.online_payment_disabled'));
|
||||||
} else {
|
} else {
|
||||||
$scope.toggleOnlinePaymentModal(() => {
|
$scope.toggleOnlinePaymentModal(() => {
|
||||||
$scope.onlinePayment.cartItems = mkCartItems(reservation, 'card');
|
$scope.onlinePayment.cartItems = mkCartItems(reservation, $scope.coupon.applied, 'card');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -28,7 +28,7 @@ Application.Services.factory('Help', ['$rootScope', '$uibModal', '$state', 'Auth
|
|||||||
|
|
||||||
// if no tour, just open the guide
|
// if no tour, just open the guide
|
||||||
if (tourName === undefined) {
|
if (tourName === undefined) {
|
||||||
return window.open('https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf', '_blank');
|
return window.open('http://guide-fr.fab.mn', '_blank');
|
||||||
}
|
}
|
||||||
|
|
||||||
$uibModal.open({
|
$uibModal.open({
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<p translate> {{ 'app.shared.training_reservation_modal.you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine' }}</p>
|
<p translate> {{ 'app.shared.training_reservation_modal.you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine' }}</p>
|
||||||
<p>{{ 'app.shared.training_reservation_modal.your_training_will_occur_' | translate }} <span class="sbold">{{machine.current_user_training_reservation.slots[0].start_at | amDateFormat: 'LL'}} : {{machine.current_user_training_reservation.slots[0].start_at | amDateFormat:'LT'}} - {{machine.current_user_training_reservation.slots[0].end_at | amDateFormat:'LT'}}</span></p>
|
<p>{{ 'app.shared.training_reservation_modal.your_training_will_occur_' | translate }} <span class="sbold">{{machine.current_user_training_reservation.slots_attributes[0].start_at | amDateFormat: 'LL'}} : {{machine.current_user_training_reservation.slots_attributes[0].start_at | amDateFormat:'LT'}} - {{machine.current_user_training_reservation.slots_attributes[0].end_at | amDateFormat:'LT'}}</span></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button class="btn btn-warning" ng-click="cancel()" translate>{{ 'app.shared.buttons.close' }}</button>
|
<button class="btn btn-warning" ng-click="cancel()" translate>{{ 'app.shared.buttons.close' }}</button>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="row text-center m-t-lg m-b-md">
|
<div class="row text-center m-t-lg m-b-md">
|
||||||
<a class="btn btn-default"
|
<a class="btn btn-default"
|
||||||
ng-click="onGuide()"
|
ng-click="onGuide()"
|
||||||
href="https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf"
|
href="http://guide-fr.fab.mn"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
translate>{{ 'app.shared.help.guide' }}</a>
|
translate>{{ 'app.shared.help.guide' }}</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -6,7 +6,7 @@ class Coupon < ApplicationRecord
|
|||||||
has_many :payment_schedule
|
has_many :payment_schedule
|
||||||
|
|
||||||
after_create :create_gateway_coupon
|
after_create :create_gateway_coupon
|
||||||
after_commit :delete_gateway_coupon, on: [:destroy]
|
before_destroy :delete_gateway_coupon
|
||||||
|
|
||||||
validates :name, presence: true
|
validates :name, presence: true
|
||||||
validates :code, presence: true
|
validates :code, presence: true
|
||||||
|
@ -11,10 +11,14 @@ class SyncObjectsOnStripeWorker
|
|||||||
User.online_payers.each_with_index do |member, index|
|
User.online_payers.each_with_index do |member, index|
|
||||||
logger.debug "#{index} / #{total}"
|
logger.debug "#{index} / #{total}"
|
||||||
begin
|
begin
|
||||||
stp_customer = member.payment_gateway_object.gateway_object.retrieve
|
stp_customer = member.payment_gateway_object&.gateway_object&.retrieve
|
||||||
StripeWorker.new.create_stripe_customer(member.id) if stp_customer.nil? || stp_customer[:deleted]
|
StripeWorker.new.create_stripe_customer(member.id) if stp_customer.nil? || stp_customer[:deleted]
|
||||||
rescue Stripe::InvalidRequestError
|
rescue Stripe::InvalidRequestError
|
||||||
StripeWorker.new.create_stripe_customer(member.id)
|
begin
|
||||||
|
StripeWorker.new.create_stripe_customer(member.id)
|
||||||
|
rescue Stripe::InvalidRequestError => e
|
||||||
|
puts "Unable to create the customer #{member.id} do to a Stripe error: #{e}"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -22,9 +26,9 @@ class SyncObjectsOnStripeWorker
|
|||||||
total = Coupon.all.count
|
total = Coupon.all.count
|
||||||
Coupon.all.each_with_index do |coupon, index|
|
Coupon.all.each_with_index do |coupon, index|
|
||||||
logger.debug "#{index} / #{total}"
|
logger.debug "#{index} / #{total}"
|
||||||
Stripe::Coupon.retrieve(c.code, api_key: Setting.get('stripe_secret_key'))
|
Stripe::Coupon.retrieve(coupon.code, api_key: Setting.get('stripe_secret_key'))
|
||||||
rescue Stripe::InvalidRequestError
|
rescue Stripe::InvalidRequestError
|
||||||
Stripe::Service.create_coupon(c.id)
|
Stripe::Service.create_coupon(coupon.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
w = StripeWorker.new
|
w = StripeWorker.new
|
||||||
|
@ -1325,7 +1325,7 @@ de:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Vielen Dank für Ihre Aufmerksamkeit"
|
title: "Vielen Dank für Ihre Aufmerksamkeit"
|
||||||
content: "<p>Um diese kontextabhängige Hilfe neu zu starten, können Sie jederzeit <strong>F1</strong> drücken oder klicken Sie im Benutzermenu auf [? Hilfe].</p><p>Zusätzliche Hilfe finden Sie in der <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>Benutzeranleitung</a> (nur auf Französisch).</p><p>Das Fab-Manager-Team bietet auch personalisierten Support (Hilfe beim Einstieg, Hilfe bei der Installation, Anpassung etc.), <a href='mailto:contact@fab-manager.com'>kontaktieren Sie uns</a> für weitere Informationen.</p>"
|
content: "<p>Um diese kontextabhängige Hilfe neu zu starten, können Sie jederzeit <strong>F1</strong> drücken oder klicken Sie im Benutzermenu auf [? Hilfe].</p><p>Zusätzliche Hilfe finden Sie in der <a href='http://guide-fr.fab.mn' target='_blank'>Benutzeranleitung</a> (nur auf Französisch).</p><p>Das Fab-Manager-Team bietet auch personalisierten Support (Hilfe beim Einstieg, Hilfe bei der Installation, Anpassung etc.), <a href='mailto:contact@fab-manager.com'>kontaktieren Sie uns</a> für weitere Informationen.</p>"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Schulungen"
|
title: "Schulungen"
|
||||||
|
@ -1325,7 +1325,7 @@ en:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Thank you for your attention"
|
title: "Thank you for your attention"
|
||||||
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on [? Help] from the user's menu.</p><p>If you need additional help, you can <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on [? Help] from the user's menu.</p><p>If you need additional help, you can <a href='http://guide-fr.fab.mn' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Trainings"
|
title: "Trainings"
|
||||||
|
@ -1325,7 +1325,7 @@ es:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Thank you for your attention"
|
title: "Thank you for your attention"
|
||||||
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on [? Help] from the user's menu.</p><p>If you need additional help, you can <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on [? Help] from the user's menu.</p><p>If you need additional help, you can <a href='http://guide-fr.fab.mn' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Trainings"
|
title: "Trainings"
|
||||||
|
@ -1325,7 +1325,7 @@ fr:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Merci de votre attention"
|
title: "Merci de votre attention"
|
||||||
content: "<p>Si vous souhaitez relancer cette aide contextuelle, appuyez sur <strong>F1</strong> à n'importe quel moment ou cliquez sur [? Aide] depuis le menu utilisateur.</p><p>Si vous avez besoin d'aide supplémentaire, vous pouvez <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>consulter le guide d'utilisation</a> disponible en Français.</p><p>L'équipe de Fab-manager propose également du support personnalisé (aide à la prise en main, aide à l'installation, personnalisation, etc.), <a href='mailto:contact@fab-manager.com'>contactez-nous</a> pour plus d'informations.</p>"
|
content: "<p>Si vous souhaitez relancer cette aide contextuelle, appuyez sur <strong>F1</strong> à n'importe quel moment ou cliquez sur [? Aide] depuis le menu utilisateur.</p><p>Si vous avez besoin d'aide supplémentaire, vous pouvez <a href='http://guide-fr.fab.mn' target='_blank'>consulter le guide d'utilisation</a> disponible en Français.</p><p>L'équipe de Fab-manager propose également du support personnalisé (aide à la prise en main, aide à l'installation, personnalisation, etc.), <a href='mailto:contact@fab-manager.com'>contactez-nous</a> pour plus d'informations.</p>"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Formations"
|
title: "Formations"
|
||||||
|
@ -1325,7 +1325,7 @@ pt:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Obrigado pela sua atenção"
|
title: "Obrigado pela sua atenção"
|
||||||
content: "<p>Se você deseja reiniciar esta ajuda contextual, pressione <strong>F1</strong> a qualquer momento ou clique em [? Ajuda] do menu do usuário.</p><p>Se precisar de ajuda adicional, você pode <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>verificar o guia do usuário</a> (apenas em francês por enquanto).</p><p>A equipe do Fab-Gerente também fornece suporte personalizado (ajuda para começar, ajuda com a instalação, personalização, etc.), <a href='mailto:contact@fab-manager.com'>contacte-nos</a> para mais informações.</p>"
|
content: "<p>Se você deseja reiniciar esta ajuda contextual, pressione <strong>F1</strong> a qualquer momento ou clique em [? Ajuda] do menu do usuário.</p><p>Se precisar de ajuda adicional, você pode <a href='http://guide-fr.fab.mn' target='_blank'>verificar o guia do usuário</a> (apenas em francês por enquanto).</p><p>A equipe do Fab-Gerente também fornece suporte personalizado (ajuda para começar, ajuda com a instalação, personalização, etc.), <a href='mailto:contact@fab-manager.com'>contacte-nos</a> para mais informações.</p>"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Treinamentos"
|
title: "Treinamentos"
|
||||||
|
@ -1325,7 +1325,7 @@ zu:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "crwdns19898:0crwdne19898:0"
|
title: "crwdns19898:0crwdne19898:0"
|
||||||
content: "crwdns21088:0crwdne21088:0"
|
content: "crwdns21876:0crwdne21876:0"
|
||||||
trainings:
|
trainings:
|
||||||
welcome:
|
welcome:
|
||||||
title: "crwdns19902:0crwdne19902:0"
|
title: "crwdns19902:0crwdne19902:0"
|
||||||
|
@ -362,7 +362,7 @@ de:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Vielen Dank für Ihre Aufmerksamkeit"
|
title: "Vielen Dank für Ihre Aufmerksamkeit"
|
||||||
content: "<p>Um diese kontextabhängige Hilfe neu zu starten, können Sie jederzeit <strong>F1</strong> drücken oder klicken Sie im Benutzermenu auf [? Hilfe].</p><p>Zusätzliche Hilfe finden Sie in der <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>Benutzeranleitung</a> (nur auf Französisch).</p><p>Das Fab-Manager-Team bietet auch personalisierten Support (Hilfe beim Einstieg, Hilfe bei der Installation, Anpassung etc.), <a href='mailto:contact@fab-manager.com'>kontaktieren Sie uns</a> für weitere Informationen.</p>"
|
content: "<p>Um diese kontextabhängige Hilfe neu zu starten, können Sie jederzeit <strong>F1</strong> drücken oder klicken Sie im Benutzermenu auf [? Hilfe].</p><p>Zusätzliche Hilfe finden Sie in der <a href='http://guide-fr.fab.mn' target='_blank'>Benutzeranleitung</a> (nur auf Französisch).</p><p>Das Fab-Manager-Team bietet auch personalisierten Support (Hilfe beim Einstieg, Hilfe bei der Installation, Anpassung etc.), <a href='mailto:contact@fab-manager.com'>kontaktieren Sie uns</a> für weitere Informationen.</p>"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Willkommen bei Fab-Manager"
|
title: "Willkommen bei Fab-Manager"
|
||||||
|
@ -362,7 +362,7 @@ en:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Thank you for your attention"
|
title: "Thank you for your attention"
|
||||||
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on « ? Help » from the user's menu.</p><p>If you need additional help, you can <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on « ? Help » from the user's menu.</p><p>If you need additional help, you can <a href='http://guide-fr.fab.mn' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Welcome to Fab-manager"
|
title: "Welcome to Fab-manager"
|
||||||
|
@ -362,7 +362,7 @@ es:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Thank you for your attention"
|
title: "Thank you for your attention"
|
||||||
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on « ? Help » from the user's menu.</p><p>If you need additional help, you can <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
content: "<p>If you want to restart this contextual help, press <strong>F1</strong> at any time or click on « ? Help » from the user's menu.</p><p>If you need additional help, you can <a href='http://guide-fr.fab.mn' target='_blank'>check the user guide</a> (only in French for now).</p><p>The Fab-manager's team also provides personalized support (help with getting started, help with installation, customization, etc.), <a href='mailto:contact@fab-manager.com'>contact-us</a> for more info.</p>"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Welcome to Fab-manager"
|
title: "Welcome to Fab-manager"
|
||||||
|
@ -362,7 +362,7 @@ fr:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Merci de votre attention"
|
title: "Merci de votre attention"
|
||||||
content: "<p>Si vous souhaitez relancer cette aide contextuelle, appuyez sur <strong>F1</strong> à n'importe quel moment ou cliquez sur « ? Aide » depuis le menu utilisateur.</p><p>Si vous avez besoin d'aide supplémentaire, vous pouvez <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>consulter le guide d'utilisation</a> disponible en Français.</p><p>L'équipe de Fab-manager propose également du support personnalisé (aide à la prise en main, aide à l'installation, personnalisation, etc.), <a href='mailto:contact@fab-manager.com'>contactez-nous</a> pour plus d'informations.</p>"
|
content: "<p>Si vous souhaitez relancer cette aide contextuelle, appuyez sur <strong>F1</strong> à n'importe quel moment ou cliquez sur « ? Aide » depuis le menu utilisateur.</p><p>Si vous avez besoin d'aide supplémentaire, vous pouvez <a href='http://guide-fr.fab.mn' target='_blank'>consulter le guide d'utilisation</a> disponible en Français.</p><p>L'équipe de Fab-manager propose également du support personnalisé (aide à la prise en main, aide à l'installation, personnalisation, etc.), <a href='mailto:contact@fab-manager.com'>contactez-nous</a> pour plus d'informations.</p>"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Bienvenue dans Fab-manager"
|
title: "Bienvenue dans Fab-manager"
|
||||||
|
@ -362,7 +362,7 @@ pt:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "Obrigado pela sua atenção"
|
title: "Obrigado pela sua atenção"
|
||||||
content: "<p>Se você deseja reiniciar esta ajuda contextual, pressione <strong>F1</strong> a qualquer momento ou clique em « ? Ajuda » no menu do usuário.</p><p>Se precisar de ajuda adicional, você pode <a href='https://github.com/sleede/fab-manager/raw/master/doc/fr/guide_utilisation_fab_manager_v4.7.pdf' target='_blank'>verificar o guia do usuário</a> (apenas em francês por enquanto).</p><p>A equipe do Fab-Gerente também fornece suporte personalizado (ajuda para começar, ajuda com a instalação, personalização, etc.) , <a href='mailto:contact@fab-manager.com'>contacte-nos</a> para mais informações.</p>"
|
content: "<p>Se você deseja reiniciar esta ajuda contextual, pressione <strong>F1</strong> a qualquer momento ou clique em « ? Ajuda » no menu do usuário.</p><p>Se precisar de ajuda adicional, você pode <a href='http://guide-fr.fab.mn' target='_blank'>verificar o guia do usuário</a> (apenas em francês por enquanto).</p><p>A equipe do Fab-Gerente também fornece suporte personalizado (ajuda para começar, ajuda com a instalação, personalização, etc.) , <a href='mailto:contact@fab-manager.com'>contacte-nos</a> para mais informações.</p>"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "Bem-vindo ao Fab-manager"
|
title: "Bem-vindo ao Fab-manager"
|
||||||
|
@ -362,7 +362,7 @@ zu:
|
|||||||
tour:
|
tour:
|
||||||
conclusion:
|
conclusion:
|
||||||
title: "crwdns19646:0crwdne19646:0"
|
title: "crwdns19646:0crwdne19646:0"
|
||||||
content: "crwdns21054:0crwdne21054:0"
|
content: "crwdns21878:0crwdne21878:0"
|
||||||
welcome:
|
welcome:
|
||||||
welcome:
|
welcome:
|
||||||
title: "crwdns19650:0crwdne19650:0"
|
title: "crwdns19650:0crwdne19650:0"
|
||||||
|
@ -250,11 +250,11 @@ fr:
|
|||||||
common_url: "URL commune"
|
common_url: "URL commune"
|
||||||
common_url_is_required: "L'URL commune est requise."
|
common_url_is_required: "L'URL commune est requise."
|
||||||
provided_url_is_not_a_valid_url: "L'URL fournie n'est pas une URL valide."
|
provided_url_is_not_a_valid_url: "L'URL fournie n'est pas une URL valide."
|
||||||
authorization_endpoint: "Terminaison d'autorisation"
|
authorization_endpoint: "Point d'accès pour l'autorisation"
|
||||||
oauth2_authorization_endpoint_is_required: "La terminaison d'autorisation OAuth 2 est requise."
|
oauth2_authorization_endpoint_is_required: "Le point d'accès pour l'autorisation OAuth 2 est requis."
|
||||||
provided_endpoint_is_not_valid: "La terminaison fournie n'est pas valide."
|
provided_endpoint_is_not_valid: "Le point d'accès fourni n'est pas valide."
|
||||||
token_acquisition_endpoint: "Terminaison d'acquisition du jeton"
|
token_acquisition_endpoint: "Point d'accès d'acquisition du jeton"
|
||||||
oauth2_token_acquisition_endpoint_is_required: "La terminaison d'acquisition du jeton OAuth 2 est requise."
|
oauth2_token_acquisition_endpoint_is_required: "Le point d'accès d'acquisition du jeton OAuth 2 est requis."
|
||||||
profil_edition_url: "URL d'édition du profil"
|
profil_edition_url: "URL d'édition du profil"
|
||||||
profile_edition_url_is_required: "L'adresse d'édition du profil utilisateur est requise."
|
profile_edition_url_is_required: "L'adresse d'édition du profil utilisateur est requise."
|
||||||
client_identifier: "Identifiant client"
|
client_identifier: "Identifiant client"
|
||||||
@ -266,7 +266,7 @@ fr:
|
|||||||
add_a_match: "Ajouter une correspondance"
|
add_a_match: "Ajouter une correspondance"
|
||||||
model: "Modèle"
|
model: "Modèle"
|
||||||
field: "Champ"
|
field: "Champ"
|
||||||
api_endpoint_url: "Terminaison/URL de l'API"
|
api_endpoint_url: "Point d'accès/URL de l'API"
|
||||||
api_type: "Type d'API"
|
api_type: "Type d'API"
|
||||||
api_fields: "Champ de l'API"
|
api_fields: "Champ de l'API"
|
||||||
#machine/training slot modification modal
|
#machine/training slot modification modal
|
||||||
|
@ -525,4 +525,4 @@ fr:
|
|||||||
payzen_public_key: "Clé publique du client PayZen"
|
payzen_public_key: "Clé publique du client PayZen"
|
||||||
payzen_hmac: "Clef HMAC-SHA-256 PayZen"
|
payzen_hmac: "Clef HMAC-SHA-256 PayZen"
|
||||||
payzen_currency: "Devise PayZen"
|
payzen_currency: "Devise PayZen"
|
||||||
public_agenda_module: "Public agenda module"
|
public_agenda_module: "Module d'agenda public"
|
||||||
|
@ -78,9 +78,10 @@ Rails.application.routes.draw do
|
|||||||
resources :prices, only: %i[index update] do
|
resources :prices, only: %i[index update] do
|
||||||
post 'compute', on: :collection
|
post 'compute', on: :collection
|
||||||
end
|
end
|
||||||
resources :coupons
|
resources :coupons do
|
||||||
post 'coupons/validate' => 'coupons#validate'
|
post 'validate', action: 'validate', on: :collection
|
||||||
post 'coupons/send' => 'coupons#send_to'
|
post 'send', action: 'send_to', on: :collection
|
||||||
|
end
|
||||||
|
|
||||||
resources :trainings_pricings, only: %i[index update]
|
resources :trainings_pricings, only: %i[index update]
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "fab-manager",
|
"name": "fab-manager",
|
||||||
"version": "5.0.4",
|
"version": "5.0.5",
|
||||||
"description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.",
|
"description": "Fab-manager is the FabLab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"fablab",
|
"fablab",
|
||||||
|
@ -88,7 +88,7 @@ target_version()
|
|||||||
|
|
||||||
if [[ "$TAG" =~ ^:release-v[\.0-9]+$ ]]; then
|
if [[ "$TAG" =~ ^:release-v[\.0-9]+$ ]]; then
|
||||||
TARGET=$(echo "$TAG" | grep -Eo '[\.0-9]{5}')
|
TARGET=$(echo "$TAG" | grep -Eo '[\.0-9]{5}')
|
||||||
elif [ "$TAG" = ":latest" ]; then
|
elif [ "$TAG" = ":latest" ] || [ "$TAG" = "" ]; then
|
||||||
TARGET=$(\curl -sSL "https://hub.fab-manager.com/api/versions/latest" | jq -r '.semver')
|
TARGET=$(\curl -sSL "https://hub.fab-manager.com/api/versions/latest" | jq -r '.semver')
|
||||||
else
|
else
|
||||||
TARGET='custom'
|
TARGET='custom'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user