mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2025-01-22 11:52:21 +01:00
Merge branch 'dev' into staging
This commit is contained in:
commit
434f0ffdc0
90
Dockerfile
90
Dockerfile
@ -1,39 +1,20 @@
|
||||
FROM ruby:3.2.2-alpine
|
||||
MAINTAINER contact@fab-manager.com
|
||||
FROM ruby:3.2.2
|
||||
MAINTAINER contact@sleede.com
|
||||
|
||||
# Install upgrade system packages
|
||||
RUN apk update && apk upgrade && \
|
||||
# Install runtime apk dependencies
|
||||
apk add --update \
|
||||
bash \
|
||||
curl \
|
||||
nodejs \
|
||||
yarn \
|
||||
git \
|
||||
openssh \
|
||||
imagemagick \
|
||||
supervisor \
|
||||
tzdata \
|
||||
libc-dev \
|
||||
ruby-dev \
|
||||
zlib-dev \
|
||||
xz \
|
||||
xz-dev \
|
||||
postgresql-dev \
|
||||
postgresql-client \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
libsass-dev \
|
||||
libsass \
|
||||
libc6-compat \
|
||||
libidn-dev \
|
||||
shared-mime-info && \
|
||||
# Install buildtime apk dependencies
|
||||
apk add --update --no-cache --virtual .build-deps \
|
||||
alpine-sdk \
|
||||
build-base \
|
||||
linux-headers \
|
||||
patch
|
||||
# First we need to be able to fetch from https repositories
|
||||
RUN apt-get update && \
|
||||
apt-get install -y apt-transport-https \
|
||||
ca-certificates apt-utils supervisor locales
|
||||
|
||||
RUN locale-gen C.UTF-8
|
||||
|
||||
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -\
|
||||
&& apt-get update -qq && apt-get install -qq --no-install-recommends \
|
||||
nodejs \
|
||||
&& apt-get upgrade -qq \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*\
|
||||
&& npm install -g yarn@1
|
||||
|
||||
# Fix bug: LoadError: Could not open library '/usr/local/bundle/gems/sassc-2.1.0-x86_64-linux/lib/sassc/libsass.so': Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /usr/local/bundle/gems/sassc-2.1.0-x86_64-linux/lib/sassc/libsass.so)
|
||||
# add libsass-dev libsass libc6-compat and env below
|
||||
@ -46,19 +27,9 @@ RUN bundle config --global frozen 1
|
||||
|
||||
# Install gems in a cache efficient way
|
||||
WORKDIR /tmp
|
||||
COPY Gemfile* /tmp/
|
||||
RUN bundle config set --local without 'development test doc' && bundle install && bundle binstubs --all
|
||||
|
||||
# Prepare the application directories
|
||||
RUN mkdir -p /var/log/supervisor && \
|
||||
mkdir -p /usr/src/app/tmp/sockets && \
|
||||
mkdir -p /usr/src/app/tmp/pids && \
|
||||
mkdir -p /usr/src/app/tmp/cache && \
|
||||
mkdir -p /usr/src/app/log && \
|
||||
mkdir -p /usr/src/app/node_modules && \
|
||||
mkdir -p /usr/src/app/public/api && \
|
||||
chmod -R a+w /usr/src/app && \
|
||||
chmod -R a+w /var/run
|
||||
COPY Gemfile /tmp/
|
||||
COPY Gemfile.lock /tmp/
|
||||
RUN bundle install --binstubs --without development test doc
|
||||
|
||||
# Install Javascript packages
|
||||
WORKDIR /usr/src/app
|
||||
@ -66,16 +37,21 @@ COPY package.json /usr/src/app/package.json
|
||||
COPY yarn.lock /usr/src/app/yarn.lock
|
||||
RUN yarn install
|
||||
|
||||
# Clean up build deps, cached packages and temp files
|
||||
RUN apk del .build-deps && \
|
||||
yarn cache clean && \
|
||||
rm -rf /tmp/* \
|
||||
/var/tmp/* \
|
||||
/var/cache/apk/* \
|
||||
/usr/lib/ruby/gems/*/cache/* && \
|
||||
chmod -R a+w /usr/src/app/node_modules
|
||||
# Web app
|
||||
RUN mkdir -p /usr/src/app && \
|
||||
mkdir -p /usr/src/app/config && \
|
||||
mkdir -p /usr/src/app/invoices && \
|
||||
mkdir -p /usr/src/app/payment_schedules && \
|
||||
mkdir -p /usr/src/app/exports && \
|
||||
mkdir -p /usr/src/app/imports && \
|
||||
mkdir -p /usr/src/app/log && \
|
||||
mkdir -p /usr/src/app/public/uploads && \
|
||||
mkdir -p /usr/src/app/public/packs && \
|
||||
mkdir -p /usr/src/app/accounting && \
|
||||
mkdir -p /usr/src/app/supporting_document_files && \
|
||||
mkdir -p /usr/src/app/tmp/sockets && \
|
||||
mkdir -p /usr/src/app/tmp/pids
|
||||
|
||||
# Copy source files
|
||||
COPY docker/database.yml /usr/src/app/config/database.yml
|
||||
COPY . /usr/src/app
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<p><%= t('.body.reservation_saved_html', RESERVATION: @attached_object.reservable.name) %></p>
|
||||
|
||||
<p><%= t('.body.your_reserved_slots') %> </p>
|
||||
<p><%= t('.body.your_reserved_slots') %></p>
|
||||
<ul>
|
||||
<% @attached_object.slots.each do |slot| %>
|
||||
<% if @attached_object.reservable_type == 'Event' %>
|
||||
@ -14,3 +14,4 @@
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<p><%= t('.body.reservation_warning', RESERVATION: @attached_object.reservable.name) %></p>
|
@ -83,6 +83,7 @@ de:
|
||||
body:
|
||||
reservation_saved_html: "You pre-registration <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
|
||||
your_reserved_slots: "Your pre-booked slots are:"
|
||||
reservation_warning: "<strong><em>This email does not count as registration to %{RESERVATION}.</em></strong><br/>You will receive another email to confirm or deny your request."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Ihr Abonnement wurde aktualisiert"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@ en:
|
||||
body:
|
||||
reservation_saved_html: "You pre-registration <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
|
||||
your_reserved_slots: "Your pre-booked slots are:"
|
||||
reservation_warning: "<strong><em>This email does not count as registration to %{RESERVATION}.</em></strong><br/>You will receive another email to confirm or deny your request."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Your subscription has been updated"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@ es-MX:
|
||||
body:
|
||||
reservation_saved_html: "Su preinscripción de <strong><em>%{RESERVATION}</em></strong> se ha guardado correctamente"
|
||||
your_reserved_slots: "Sus franjas horarias preinscritas son:"
|
||||
reservation_warning: "<strong><em>Este email no es una confirmación de su inscripción a %{RESERVATION}</em></strong><br/>. Recibirá otro email para confirmar o rechazar su solicitud."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Su suscripción ha sido actualizada"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@ es:
|
||||
body:
|
||||
reservation_saved_html: "Su preinscripción de <strong><em>%{RESERVATION}</em></strong> se ha guardado correctamente"
|
||||
your_reserved_slots: "Sus franjas horarias preinscritas son:"
|
||||
reservation_warning: "<strong><em>Este email no es una confirmación de su inscripción a %{RESERVATION}</em></strong><br/>. Recibirá otro email para confirmar o rechazar su solicitud."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Su suscripción ha sido actualizada"
|
||||
body:
|
||||
|
@ -35,7 +35,7 @@ fr:
|
||||
notify_admin_subscription_extended:
|
||||
subject: "Un abonnement a été prolongé"
|
||||
body:
|
||||
subscription_extended_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{NAME}</strong></em> a été prolongé {FREE, select, true{gratuitment} other{}} jusqu'au {DATE}." #messageFormat interpolation
|
||||
subscription_extended_html: "L'abonnement <strong><em>{PLAN}</em></strong> du membre <strong><em>{NAME}</strong></em> a été prolongé {FREE, select, true{gratuitement} other{}} jusqu'au {DATE}." #messageFormat interpolation
|
||||
notify_member_subscription_extended:
|
||||
subject: "Votre abonnement a été prolongé"
|
||||
body:
|
||||
@ -79,10 +79,11 @@ fr:
|
||||
reservation_saved_html: "Votre réservation <strong><em>%{RESERVATION}</em></strong> a bien été enregistrée."
|
||||
your_reserved_slots: "Les créneaux que vous avez réservés sont :"
|
||||
notify_member_pre_booked_reservation:
|
||||
subject: "Votre pré-inscription a bien été prise en compte"
|
||||
subject: "Votre demande de pré-inscription a bien été prise en compte"
|
||||
body:
|
||||
reservation_saved_html: "Votre réservation <strong><em>%{RESERVATION}</em></strong> a bien été prise en compte."
|
||||
your_reserved_slots: "Les créneaux que vous avez pré-inscrit sont :"
|
||||
reservation_saved_html: "Votre demande de pré-inscription à <strong><em>%{RESERVATION}</em></strong> a bien été prise en compte."
|
||||
your_reserved_slots: "Les créneaux sur lesquels vous êtes pré-inscrits sont :"
|
||||
reservation_warning: "<strong><em>Ce mail ne vaut pas inscription à %{RESERVATION}.</em></strong><br/>Un mail vous sera envoyé pour valider ou non votre demande."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Votre abonnement a été mis à jour"
|
||||
body:
|
||||
@ -157,7 +158,7 @@ fr:
|
||||
notify_member_training_invalidated:
|
||||
subject: "Votre autorisation a été invalidée"
|
||||
body:
|
||||
training_invalidated_html: "<p>Vous avez suivi la formation %{TRAINING}, le %{DATE} vous donnant accès aux %{MACHINES}.</p><p>En raison de l'abscence de réservation pour l'une de ces machines au cours des %{PERIOD} derniers mois, votre autorisation a été invalidée.</p><p>Veuillez valider la formation à nouveau afin de continuer à réserver ces machines.</p>."
|
||||
training_invalidated_html: "<p>Vous avez suivi la formation %{TRAINING}, le %{DATE} vous donnant accès aux %{MACHINES}.</p><p>En raison de l'absence de réservation pour l'une de ces machines au cours des %{PERIOD} derniers mois, votre autorisation a été invalidée.</p><p>Veuillez valider la formation à nouveau afin de continuer à réserver ces machines.</p>."
|
||||
notify_member_subscription_is_expired:
|
||||
subject: "Votre abonnement est arrivé à expiration"
|
||||
body:
|
||||
@ -346,13 +347,13 @@ fr:
|
||||
subject: "[URGENT] Erreur lors du prélèvement par carte"
|
||||
body:
|
||||
remember: "Conformément à l'échéancier de paiement %{REFERENCE}, un prélèvement par carte de %{AMOUNT} était prévu le %{DATE}."
|
||||
error: "Malheureusement, une erreur s'est prouite et ce prélèvement n'a pas pu être effectué correctement."
|
||||
error: "Malheureusement, une erreur s'est produite et ce prélèvement n'a pas pu être effectué correctement."
|
||||
action: "Veuillez ensuite consulter le tableau de bord de %{GATEWAY} et contacter le membre dès que possible pour résoudre le problème."
|
||||
notify_member_payment_schedule_error:
|
||||
subject: "[URGENT] Erreur lors du prélèvement par carte"
|
||||
body:
|
||||
remember: "Conformément à votre échéancier de paiement %{REFERENCE}, un prélèvement par carte de %{AMOUNT} était prévu le %{DATE}."
|
||||
error: "Malheureusement, une erreur s'est prouite et ce prélèvement n'a pas pu être effectué correctement."
|
||||
error: "Malheureusement, une erreur s'est produite et ce prélèvement n'a pas pu être effectué correctement."
|
||||
action: "Veuillez contacter un responsable dès que possible pour résoudre le problème."
|
||||
notify_admin_payment_schedule_failed:
|
||||
subject: "[URGENT] Échec du prélèvement par carte"
|
||||
|
@ -83,6 +83,7 @@ it:
|
||||
body:
|
||||
reservation_saved_html: "You pre-registration <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
|
||||
your_reserved_slots: "Your pre-booked slots are:"
|
||||
reservation_warning: "<strong><em>This email does not count as registration to %{RESERVATION}.</em></strong><br/>You will receive another email to confirm or deny your request."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Il tuo abbonamento è stato aggiornato"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@
|
||||
body:
|
||||
reservation_saved_html: "You pre-registration <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
|
||||
your_reserved_slots: "Your pre-booked slots are:"
|
||||
reservation_warning: "<strong><em>This email does not count as registration to %{RESERVATION}.</em></strong><br/>You will receive another email to confirm or deny your request."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Medlemskapet ditt er oppdatert"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@ pt:
|
||||
body:
|
||||
reservation_saved_html: "You pre-registration <strong><em>%{RESERVATION}</em></strong> has been successfully saved"
|
||||
your_reserved_slots: "Your pre-booked slots are:"
|
||||
reservation_warning: "<strong><em>This email does not count as registration to %{RESERVATION}.</em></strong><br/>You will receive another email to confirm or deny your request."
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "Sua inscrição foi modificada"
|
||||
body:
|
||||
|
@ -83,6 +83,7 @@ zu:
|
||||
body:
|
||||
reservation_saved_html: "crwdns38037:0%{RESERVATION}crwdne38037:0"
|
||||
your_reserved_slots: "crwdns38039:0crwdne38039:0"
|
||||
reservation_warning: "crwdns38136:0%{RESERVATION}crwdne38136:0"
|
||||
notify_member_subscribed_plan_is_changed:
|
||||
subject: "crwdns29590:0crwdne29590:0"
|
||||
body:
|
||||
@ -343,37 +344,37 @@ zu:
|
||||
schedule_in_your_dashboard_html: "crwdns29878:0%{DASHBOARD}crwdne29878:0"
|
||||
your_dashboard: "crwdns29880:0crwdne29880:0"
|
||||
notify_admin_payment_schedule_error:
|
||||
subject: "crwdns29882:0[URGENT]crwdne29882:0"
|
||||
subject: "crwdns29882:0crwdne29882:0"
|
||||
body:
|
||||
remember: "crwdns29884:0%{REFERENCE}crwdnd29884:0%{AMOUNT}crwdnd29884:0%{DATE}crwdne29884:0"
|
||||
error: "crwdns29886:0crwdne29886:0"
|
||||
action: "crwdns29888:0%{GATEWAY}crwdne29888:0"
|
||||
notify_member_payment_schedule_error:
|
||||
subject: "crwdns29890:0[URGENT]crwdne29890:0"
|
||||
subject: "crwdns29890:0crwdne29890:0"
|
||||
body:
|
||||
remember: "crwdns29892:0%{REFERENCE}crwdnd29892:0%{AMOUNT}crwdnd29892:0%{DATE}crwdne29892:0"
|
||||
error: "crwdns29894:0crwdne29894:0"
|
||||
action: "crwdns29896:0crwdne29896:0"
|
||||
notify_admin_payment_schedule_failed:
|
||||
subject: "crwdns29898:0[URGENT]crwdne29898:0"
|
||||
subject: "crwdns29898:0crwdne29898:0"
|
||||
body:
|
||||
remember: "crwdns29900:0%{REFERENCE}crwdnd29900:0%{AMOUNT}crwdnd29900:0%{DATE}crwdne29900:0"
|
||||
error: "crwdns29902:0crwdne29902:0"
|
||||
action: "crwdns29904:0crwdne29904:0"
|
||||
notify_member_payment_schedule_failed:
|
||||
subject: "crwdns29906:0[URGENT]crwdne29906:0"
|
||||
subject: "crwdns29906:0crwdne29906:0"
|
||||
body:
|
||||
remember: "crwdns29908:0%{REFERENCE}crwdnd29908:0%{AMOUNT}crwdnd29908:0%{DATE}crwdne29908:0"
|
||||
error: "crwdns29910:0crwdne29910:0"
|
||||
action_html: "crwdns29912:0%{DASHBOARD}crwdne29912:0"
|
||||
your_dashboard: "crwdns29914:0crwdne29914:0"
|
||||
notify_admin_payment_schedule_gateway_canceled:
|
||||
subject: "crwdns29916:0[URGENT]crwdne29916:0"
|
||||
subject: "crwdns29916:0crwdne29916:0"
|
||||
body:
|
||||
error: "crwdns29918:0%{REFERENCE}crwdnd29918:0%{GATEWAY}crwdne29918:0"
|
||||
action: "crwdns29920:0crwdne29920:0"
|
||||
notify_member_payment_schedule_gateway_canceled:
|
||||
subject: "crwdns29922:0[URGENT]crwdne29922:0"
|
||||
subject: "crwdns29922:0crwdne29922:0"
|
||||
body:
|
||||
error: "crwdns29924:0%{REFERENCE}crwdne29924:0"
|
||||
action: "crwdns29926:0crwdne29926:0"
|
||||
|
Loading…
x
Reference in New Issue
Block a user