Compare commits
41 Commits
83e2424744
...
master
Author | SHA1 | Date | |
---|---|---|---|
3f958bade1 | |||
589a22e5fe | |||
8d0409a7ea | |||
81731c3a14 | |||
e3e5329937 | |||
742c37f8e1 | |||
b8b3384e67 | |||
74aae300d8 | |||
47e475e65b | |||
d72d5fb898 | |||
2c3d5aeec9 | |||
08ccd3b87e | |||
6824989721 | |||
ef22d345db | |||
4c8e48d6e3 | |||
1fbac428a5 | |||
66b3f14998 | |||
1f26e1819e | |||
0a56d72b1b | |||
dae44c1392 | |||
0376564792 | |||
572413596f | |||
5b40146592 | |||
4ae1d9d987 | |||
712f764e0f | |||
b659ea9956 | |||
4ec4a3ddd6 | |||
b301438c09 | |||
9ee5212534 | |||
cb7a3a9fed | |||
e95729daa5 | |||
1d92dbd91d | |||
881b15c490 | |||
6bad0ff852 | |||
70c350eb64 | |||
1945c45a41 | |||
b2f2f032a4 | |||
e6378060e2 | |||
56f2a090c6 | |||
a69ba25df7 | |||
a23f5d39e7 |
@ -38,6 +38,8 @@ h1 {
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.0833333em;
|
||||
text-transform: uppercase;
|
||||
white-space: normal; /* Standard‑Umbruch aktivieren */
|
||||
overflow-wrap: break-word; /* Für lange Wörter (z. B. URLs) */
|
||||
}
|
||||
|
||||
h2 {
|
||||
|
@ -7,7 +7,7 @@ class GuestMailer < ApplicationMailer
|
||||
@guest = guest
|
||||
mail(
|
||||
to: guest.name_with_email,
|
||||
subject: "#{I18n.t(:wedding_name)}: RSVP Confirmation"
|
||||
subject: "#{I18n.t(:wedding_name)}: Zusage/Absage"
|
||||
)
|
||||
end
|
||||
|
||||
@ -15,7 +15,7 @@ class GuestMailer < ApplicationMailer
|
||||
@guest = guest
|
||||
mail(
|
||||
to: guest.name_with_email,
|
||||
subject: "#{I18n.t(:wedding_name)}: Your RSVP"
|
||||
subject: "#{I18n.t(:wedding_name)}: Deine Zusage/Absage"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
@ -26,10 +26,10 @@ class Guest < ApplicationRecord
|
||||
|
||||
# Don't allow long or odd names in emails; may be spam.
|
||||
def email_safe_salutation
|
||||
return 'Hello,' if
|
||||
return 'Hallo,' if
|
||||
first_name.blank? || first_name !~ /\A[\p{Word}\s'-]{1,30}\z/i
|
||||
|
||||
"Dear #{first_name},"
|
||||
"Liebe/Lieber #{first_name},"
|
||||
end
|
||||
|
||||
validates :diet, length: { maximum: 8192 }
|
||||
|
@ -1,3 +1,3 @@
|
||||
<strong>Alert</strong><br>
|
||||
Qikiqtaaluk Region, Nunavut<br>
|
||||
Canada<br>
|
||||
<strong>Knusthöhe 65</strong><br>
|
||||
42897 Remscheid<br>
|
||||
Deutschland<br>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<p>Die Adresse lautet:</p>
|
||||
<address><%= render partial: 'application/wedding_address' %></address>
|
||||
|
||||
<h3>Deine Teilnahmebestätigung (RSVP)</h3>
|
||||
<p>Wenn du deine RSVP einsehen oder ändern möchtest, kannst du über den folgenden Link zurückkehren:</p>
|
||||
<h3>Deine Zusage/Absage</h3>
|
||||
<p>Wenn du deine Zusage/Absage einsehen oder ändern möchtest, kannst du über den folgenden Link zurückkehren:</p>
|
||||
<p><%= link_to guest_url(@guest), guest_url(@guest) %></p>
|
||||
|
||||
<h3>Karte senden?</h3>
|
||||
@ -18,7 +18,7 @@
|
||||
<p>Weitere Informationen findest du auf <%= link_to 'unserer Hochzeits-Website', root_url %>, oder du antwortest einfach auf diese E‑Mail.</p>
|
||||
|
||||
<% else %>
|
||||
<p>Es tut uns leid zu hören, dass du nicht teilnehmen kannst. Falls du deine Meinung änderst, kannst du deine RSVP mit dem folgenden Link aktualisieren:</p>
|
||||
<p>Es tut uns leid zu hören, dass du nicht teilnehmen kannst. Falls du deine Meinung änderst, kannst du deine Zusage/Absage mit dem folgenden Link aktualisieren:</p>
|
||||
<p><%= link_to guest_url(@guest), guest_url(@guest) %></p>
|
||||
<p>Wir hoffen, dich bei einem anderen Anlass wiederzusehen!</p>
|
||||
<% end %>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<p><%= @guest.email_safe_salutation %></p>
|
||||
|
||||
<p>Du hast vor Kurzem deine E‑Mail-Adresse bei <%= ENV['CANONICAL_HOST'] %> zur Teilnahmebestätigung eingegeben.</p>
|
||||
<p>Wenn du deine RSVP einsehen oder ändern möchtest, kannst du über den folgenden Link zurückkehren:</p>
|
||||
<p>Du hast vor Kurzem deine E‑Mail-Adresse bei <%= ENV['CANONICAL_HOST'] %> zur Zusage/Absage eingegeben.</p>
|
||||
<p>Wenn du deine Zusage/Absage einsehen oder ändern möchtest, kannst du über den folgenden Link zurückkehren:</p>
|
||||
<p><%= link_to guest_url(@guest), guest_url(@guest) %></p>
|
||||
<p>Falls du Fragen hast, antworte einfach auf diese E‑Mail.</p>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div id="guests-leader" class="jumbotron text-center">
|
||||
<div class="container">
|
||||
<h1>Teilnahmebestätigung (RSVP)</h1>
|
||||
<h1>Zusage/Absage</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -5,14 +5,14 @@
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<% if active >= 2 %>
|
||||
<%= link_to '2. Plus Ones', guest_plus_ones_path(@guest), class: ['nav-link', active == 2 ? 'active' : ''] %>
|
||||
<%= link_to '2. Begleitung', guest_plus_ones_path(@guest), class: ['nav-link', active == 2 ? 'active' : ''] %>
|
||||
<% else %>
|
||||
<a class="nav-link <%= active == 2 ? 'active' : '' %>">2. Begleitung</a>
|
||||
<% end %>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<% if active >= 3 %>
|
||||
<%= link_to '3. Confirm', confirm_guest_path(@guest), class: ['nav-link', active == 3 ? 'active' : ''] %>
|
||||
<%= link_to '3. Bestätigung', confirm_guest_path(@guest), class: ['nav-link', active == 3 ? 'active' : ''] %>
|
||||
<% else %>
|
||||
<a class="nav-link <%= active == 3 ? 'active' : '' %>">3. Bestätigung</a>
|
||||
<% end %>
|
||||
|
@ -4,7 +4,7 @@
|
||||
<%= render partial: 'leader' %>
|
||||
<%= render partial: 'rsvp_nav', locals: { active: 3 } %>
|
||||
|
||||
<h2>Confirm</h2>
|
||||
<h2>Bestätigung</h2>
|
||||
|
||||
<%= form_with(model: @guest, url: complete_guest_path(@guest), local: true) do |form| %>
|
||||
<div class="row">
|
||||
@ -14,13 +14,13 @@
|
||||
</div>
|
||||
|
||||
<% if @guest.attending? %>
|
||||
<h3>Your Details</h3>
|
||||
<h3>Deine Angaben</h3>
|
||||
<div class="card mb-3">
|
||||
<h5 class="card-header"><%= @guest.name %></h5>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
Email
|
||||
E-Mail
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<p><tt><%= @guest.email %></tt></p>
|
||||
@ -28,51 +28,51 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
Dietary Preferences
|
||||
Ernährungspräferenzen
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<% if @guest.diet.present? %>
|
||||
<pre><%= @guest.diet %></pre>
|
||||
<% else %>
|
||||
<p>(None)</p>
|
||||
<p>(Keine)</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
Song Suggestions
|
||||
Song‑Vorschläge
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<% if @guest.songs.present? %>
|
||||
<pre><%= @guest.songs %></pre>
|
||||
<% else %>
|
||||
<p>(None)</p>
|
||||
<p>(Keine)</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<%= link_to 'Edit', guest_path(@guest), class: 'card-link', data: { disable_with: 'Loading...' } %>
|
||||
<%= link_to 'Bearbeiten', guest_path(@guest), class: 'card-link', data: { disable_with: 'Loading...' } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Plus Ones</h3>
|
||||
<h3>Begleitung</h3>
|
||||
<% if @guest.plus_ones.any? %>
|
||||
<%= render @guest.plus_ones %>
|
||||
<% else %>
|
||||
<p>(None — just you.)</p>
|
||||
<p>(Keiner — nur du.)</p>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<p>Schade, dass du nicht teilnehmen kannst.</p>
|
||||
<h3>Your Details</h3>
|
||||
<h3>Deine Angaben</h3>
|
||||
<div class="card mb-3">
|
||||
<h5 class="card-header"><%= @guest.name %></h5>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
Email
|
||||
E-Mail
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<p><tt><%= @guest.email %></tt></p>
|
||||
@ -82,14 +82,14 @@
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<h3>Other Comments?</h3>
|
||||
<h3>Sonstige Kommentare?</h3>
|
||||
|
||||
<%= form.text_area :notes, class: 'form-control' %>
|
||||
<small class="form-text text-muted">Hast du noch etwas, das wir wissen sollten?</small>
|
||||
|
||||
<div class="row guests-buttons">
|
||||
<div class="offset-md-3 col-md-6 text-center">
|
||||
<%= form.submit 'Complete RSVP', class: 'btn btn-primary', data: { disable_with: 'Sending...' } %>
|
||||
<%= form.submit 'Final bestätigen', class: 'btn btn-primary', data: { disable_with: 'Sending...' } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="offset-lg-2 col-lg-8">
|
||||
<%= render partial: 'leader' %>
|
||||
<h2>Willkommen Zurück</h2>
|
||||
<p>Es sieht so aus, als hättest du bereits deine Teilnahmebestätigung registriert; deshalb haben wir dir eine E‑Mail mit einem Link geschickt, über den du sie aktualisieren kannst.</p>
|
||||
<p>Es sieht so aus, als hättest du bereits deine Zusage/Absage registriert; deshalb haben wir dir eine E‑Mail mit einem Link geschickt, über den du sie aktualisieren kannst.</p>
|
||||
<p>Bitte prüfe dein E‑Mail-Konto unter <tt><%= @guest.email %></tt>, inklusive Spam‑Ordner!</p>
|
||||
<p>Wenn du die E‑Mail nicht erhältst, kontaktiere uns bitte über <%= mail_to ENV['CONTACT_EMAIL'], 'uns' %>.</p>
|
||||
</div>
|
||||
|
@ -44,7 +44,7 @@
|
||||
|
||||
<div class="form-group row">
|
||||
<div class="col-md-3">
|
||||
<%= form.label :songs, 'Song Suggestions', class: 'col-form-label' %>
|
||||
<%= form.label :songs, 'Song-Vorschläge', class: 'col-form-label' %>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<%= form.text_area :songs, id: 'guest_songs', class: 'form-control' %>
|
||||
|
@ -20,13 +20,13 @@
|
||||
|
||||
<div class="row guests-buttons">
|
||||
<div class="col-md-3">
|
||||
<span class="wedding-required">* Required</span>
|
||||
<span class="wedding-required">* Erforderlich</span>
|
||||
</div>
|
||||
<div class="col-md-6 text-center">
|
||||
<%= form.submit submit_action, class: 'btn btn-primary', data: { disable_with: 'Sending...' } %>
|
||||
</div>
|
||||
<div class="col-md-3 text-right">
|
||||
<%= link_to 'Cancel', guest_plus_ones_path(@guest), class: 'btn btn-secondary' %>
|
||||
<%= link_to 'Abbrechen', guest_plus_ones_path(@guest), class: 'btn btn-secondary' %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<% if plus_one.diet.present? %>
|
||||
<pre><%= plus_one.diet %></pre>
|
||||
<% else %>
|
||||
<p>(None)</p>
|
||||
<p>(Keine)</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@ -18,7 +18,7 @@
|
||||
Kind
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<p><%= plus_one.child ? 'Yes' : 'No' %></p>
|
||||
<p><%= plus_one.child ? 'Ja' : 'Nein' %></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -4,17 +4,17 @@
|
||||
<%= render partial: 'guests/leader' %>
|
||||
<%= render partial: 'guests/rsvp_nav', locals: { active: 2 } %>
|
||||
|
||||
<h2>Plus‑One‑Gäste</h2>
|
||||
<h2>Deine Begleitung</h2>
|
||||
<p>Bitte gib unten an, ob du jemanden zu deiner Begleitung mitbringst. Kinder sind ebenfalls herzlich willkommen.</p>
|
||||
<p> </p>
|
||||
|
||||
<% if @plus_ones.any? %>
|
||||
<%= render @plus_ones %>
|
||||
<% else %>
|
||||
<p>No plus ones added yet. Flying solo.</p>
|
||||
<p>Keine Begleitung hinzugefügt. Du reist allein an.</p>
|
||||
<% end %>
|
||||
<p>
|
||||
<%= link_to 'Plus‑One hinzufügen', new_guest_plus_one_path(@guest), class: 'btn btn-primary', data: { disable_with: 'Lädt...' } %>
|
||||
<%= link_to 'Begleitung hinzufügen', new_guest_plus_one_path(@guest), class: 'btn btn-primary', data: { disable_with: 'Lädt...' } %>
|
||||
</p>
|
||||
|
||||
<p> </p>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<%= render partial: 'guests/leader' %>
|
||||
<%= render partial: 'guests/rsvp_nav', locals: { active: 2 } %>
|
||||
|
||||
<h2>Plus-One hinzufügen</h2>
|
||||
<%= render partial: 'form', locals: { submit_action: 'Add Plus One' } %>
|
||||
<h2>Begleitung hinzufügen</h2>
|
||||
<%= render partial: 'form', locals: { submit_action: 'Begleitung hinzufügen' } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div id="welcome-index-footer-cta" class="col-md-12 text-center">
|
||||
<%= link_to 'JETZT ANMELDEN!', new_guest_path, class: 'btn btn-primary wedding-cta-btn' %>
|
||||
<%= link_to 'JETZT ANTWORTEN!', new_guest_path, class: 'btn btn-primary wedding-cta-btn' %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
@ -5,7 +5,7 @@
|
||||
<%= t :wedding_date %>, <%= t :wedding_location %>
|
||||
</p>
|
||||
<p>
|
||||
<%= link_to 'JETZT ANMELDEN!', new_guest_path, class: 'btn btn-primary wedding-cta-btn' %>
|
||||
<%= link_to 'JETZT ANTWORTEN!', new_guest_path, class: 'btn btn-primary wedding-cta-btn' %>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<section id="welcome-index-wedding-plan-leader" class="jumbotron text-center">
|
||||
<div class="container">
|
||||
<h1>The Plan</h1>
|
||||
<h1>Der Plan</h1>
|
||||
</div>
|
||||
</section>
|
||||
<section id="welcome-index-wedding-plan">
|
||||
@ -31,8 +31,8 @@
|
||||
<li><small><sup>§</sup> Vegan, gluten free & dairy free dessert: Fruit platter</small></li>
|
||||
</ul>
|
||||
<p>The venue is making every effort to cater for vegan, vegetarian, gluten free, allergies and other dietary preferences, as indicated in your RSVPs.</p>
|
||||
<h2>Teilnahmebestätigung (RSVP)</h2>
|
||||
<p>Bitte gib deine Teilnahmebestätigung so bald wie möglich ab, damit wir wissen, wer kommt und einen Platz sowie ein Stück Kuchen für dich reservieren können – falls du kommen kannst! Falls sich herausstellt, dass du nicht teilnehmen kannst, informiere uns bitte ebenfalls so früh wie möglich.</p>
|
||||
<h2>Zusage/Absage</h2>
|
||||
<p>Bitte gib deine Zusage/Absage so bald wie möglich ab, damit wir wissen, wer kommt und einen Platz sowie ein Stück Kuchen für dich reservieren können – falls du kommen kannst! Falls sich herausstellt, dass du nicht teilnehmen kannst, informiere uns bitte ebenfalls so früh wie möglich.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -8,11 +8,11 @@
|
||||
<div class="row">
|
||||
<div class="offset-md-3 col-md-6">
|
||||
<h2>Wie komme ich dort hin?</h2>
|
||||
<p>Ships sail regularly from Ushuaia, Argentina. Allow two days.</p>
|
||||
<p>There is ample snow mobile parking. Watch out for penguins.</p>
|
||||
<h2>Coming from out of town?</h2>
|
||||
<p>The station has a number of rooms that you can get at the <strong>discounted wedding rate</strong>.</p>
|
||||
<p>Check in is from 3pm, so you may not be able to get ready in your room if you book it just for the night of the wedding.</p>
|
||||
<p>Im Herzen der Lenneper Altstadt findest du die Klösterkirche.</p>
|
||||
<p>Vom Röntgenmuseum folge der linken Straße nach unten und gehe einfach die Klostergasse gegenüber der Röntgen Apotheke entlang.</p>
|
||||
<h2>Kommst du von außerhalb?</h2>
|
||||
<p>Das Parkhaus Altstadt Lennep kann über die Addresse Hardtstraße 17, 42897 Remscheid angefahren werden.</strong></p>
|
||||
<p>Wir raten dazu einfach in der Hardstraße, Mühlenstraße, Albret-Thaer-Straße oder am Thüringsberg einen Parkplatz außerhalb der Altstadt zu suchen.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,11 +11,11 @@
|
||||
<%= render partial: 'calendar_svg' %>
|
||||
<%- end %></h2>
|
||||
<p>
|
||||
<strong>16:00 – offen</strong><br>
|
||||
<strong>16:00 – 23:30</strong><br>
|
||||
<%= t :wedding_date %><br>
|
||||
<br>
|
||||
</p>
|
||||
<p><%= link_to 'Zum Kalender hinzufügen', 'wedding.ics' %></p>
|
||||
<p><%= link_to 'Zum Kalender hinzufügen', 'wedding.ics' %></p>
|
||||
</div>
|
||||
<div class="col-md-6 text-center">
|
||||
<h2><%= link_to @google_maps_url do -%>
|
||||
|
@ -9,18 +9,18 @@ Rails.application.configure do
|
||||
config.cache_classes = false
|
||||
|
||||
Rails.application.routes.default_url_options[:host] = ENV.fetch("APP_HOST", "0.0.0.0")
|
||||
Rails.application.routes.default_url_options[:port] = ENV.fetch("APP_PORT", 3000)
|
||||
#Rails.application.routes.default_url_options[:port] = ENV.fetch("APP_PORT", 3000)
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "beere5"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
#Rails.application.routes.default_url_options = {
|
||||
# host: ENV.fetch("APP_HOST", "beere5"),
|
||||
# port: ENV.fetch("APP_PORT", 3000)
|
||||
#}
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "wedding.linepe.de"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
#port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
|
||||
# Do not eager load code on boot.
|
||||
@ -44,6 +44,33 @@ Rails.application.configure do
|
||||
config.cache_store = :null_store
|
||||
end
|
||||
|
||||
# Use a real queuing backend for Active Job (and separate queues per environment)
|
||||
# config.active_job.queue_adapter = :resque
|
||||
# config.active_job.queue_name_prefix = "wedding_#{Rails.env}"
|
||||
config.read_encrypted_secrets = true
|
||||
config.action_mailer.perform_deliveries = true
|
||||
config.action_mailer.delivery_method = :smtp
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
config.action_mailer.raise_delivery_errors = true
|
||||
|
||||
config.action_mailer.default_url_options = {
|
||||
host: ENV['CANONICAL_HOST'],
|
||||
protocol: ENV['CANONICAL_HOST_PROTOCOL'] || 'https'
|
||||
}
|
||||
|
||||
config.action_mailer.smtp_settings = {
|
||||
address: ENV['SMTP_ADDRESS'],
|
||||
port: (ENV['SMTP_PORT'] || 587).to_i,
|
||||
domain: ENV['SMTP_DOMAIN'],
|
||||
user_name: ENV['SMTP_USER_NAME'],
|
||||
password: ENV['SMTP_PASSWORD'],
|
||||
authentication: 'plain',
|
||||
enable_starttls_auto: true
|
||||
}
|
||||
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options)
|
||||
config.active_storage.service = :local
|
||||
|
||||
@ -77,6 +104,7 @@ Rails.application.configure do
|
||||
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
||||
|
||||
config.action_mailer.default_url_options = {
|
||||
host: ENV['CANONICAL_HOST'], port: 3000
|
||||
# host: ENV['CANONICAL_HOST'], port: 3000
|
||||
host: ENV['CANONICAL_HOST']
|
||||
}
|
||||
end
|
82
config/environments/development.rb_old
Normal file
82
config/environments/development.rb_old
Normal file
@ -0,0 +1,82 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
Rails.application.configure do
|
||||
# Settings specified here will take precedence over those in config/application.rb.
|
||||
|
||||
# In the development environment your application's code is reloaded on
|
||||
# every request. This slows down response time but is perfect for development
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
|
||||
Rails.application.routes.default_url_options[:host] = ENV.fetch("APP_HOST", "0.0.0.0")
|
||||
Rails.application.routes.default_url_options[:port] = ENV.fetch("APP_PORT", 3000)
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "beere5"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "wedding.linepe.de"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
|
||||
# Show full error reports.
|
||||
config.consider_all_requests_local = true
|
||||
|
||||
# Enable/disable caching. By default caching is disabled.
|
||||
# Run rails dev:cache to toggle caching.
|
||||
if Rails.root.join('tmp', 'caching-dev.txt').exist?
|
||||
config.action_controller.perform_caching = true
|
||||
|
||||
config.cache_store = :memory_store
|
||||
config.public_file_server.headers = {
|
||||
'Cache-Control' => "public, max-age=#{2.days.to_i}"
|
||||
}
|
||||
else
|
||||
config.action_controller.perform_caching = false
|
||||
|
||||
config.cache_store = :null_store
|
||||
end
|
||||
|
||||
# Store uploaded files on the local file system (see config/storage.yml for options)
|
||||
config.active_storage.service = :local
|
||||
|
||||
# Don't care if the mailer can't send.
|
||||
config.action_mailer.raise_delivery_errors = false
|
||||
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Print deprecation notices to the Rails logger.
|
||||
config.active_support.deprecation = :log
|
||||
|
||||
# Raise an error on page load if there are pending migrations.
|
||||
config.active_record.migration_error = :page_load
|
||||
|
||||
# Highlight code that triggered database queries in logs.
|
||||
config.active_record.verbose_query_logs = true
|
||||
|
||||
# Debug mode disables concatenation and preprocessing of assets.
|
||||
# This option may cause significant delays in view rendering with a large
|
||||
# number of complex assets.
|
||||
config.assets.debug = true
|
||||
|
||||
# Suppress logger output for asset requests.
|
||||
config.assets.quiet = true
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
|
||||
# Use an evented file watcher to asynchronously detect changes in source code,
|
||||
# routes, locales, etc. This feature depends on the listen gem.
|
||||
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
||||
|
||||
config.action_mailer.default_url_options = {
|
||||
host: ENV['CANONICAL_HOST'], port: 3000
|
||||
}
|
||||
end
|
@ -6,20 +6,15 @@ Rails.application.configure do
|
||||
# Code is not reloaded between requests.
|
||||
config.cache_classes = true
|
||||
|
||||
Rails.application.routes.default_url_options[:host] = ENV.fetch("APP_HOST", "0.0.0.0")
|
||||
Rails.application.routes.default_url_options[:port] = ENV.fetch("APP_PORT", 3000)
|
||||
#Rails.application.routes.default_url_options[:host] = ENV.fetch("APP_HOST", "0.0.0.0")
|
||||
#Rails.application.routes.default_url_options[:port] = ENV.fetch("APP_PORT", 3000)
|
||||
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "beere5"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
|
||||
# Force Rails to generate URLs with your hostname instead of localhost
|
||||
Rails.application.routes.default_url_options = {
|
||||
host: ENV.fetch("APP_HOST", "wedding.linepe.de"),
|
||||
port: ENV.fetch("APP_PORT", 3000)
|
||||
}
|
||||
#Rails.application.routes.default_url_options = {
|
||||
# host: ENV.fetch("APP_HOST", ENV['CANONICAL_HOST'],
|
||||
# port: ENV.fetch("APP_PORT", 3000)
|
||||
#}
|
||||
|
||||
# Eager load code on boot. This eager loads most of Rails and
|
||||
# your application in memory, allowing both threaded web servers
|
||||
@ -74,12 +69,14 @@ Rails.application.configure do
|
||||
# Use a real queuing backend for Active Job (and separate queues per environment)
|
||||
# config.active_job.queue_adapter = :resque
|
||||
# config.active_job.queue_name_prefix = "wedding_#{Rails.env}"
|
||||
|
||||
config.read_encrypted_secrets = true
|
||||
config.action_mailer.perform_deliveries = true
|
||||
config.action_mailer.delivery_method = :smtp
|
||||
config.action_mailer.perform_caching = false
|
||||
|
||||
# Ignore bad email addresses and do not raise email delivery errors.
|
||||
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
||||
# config.action_mailer.raise_delivery_errors = false
|
||||
config.action_mailer.raise_delivery_errors = true
|
||||
|
||||
config.action_mailer.default_url_options = {
|
||||
host: ENV['CANONICAL_HOST'],
|
||||
@ -92,8 +89,8 @@ Rails.application.configure do
|
||||
domain: ENV['SMTP_DOMAIN'],
|
||||
user_name: ENV['SMTP_USER_NAME'],
|
||||
password: ENV['SMTP_PASSWORD'],
|
||||
authentication: ENV['SMTP_AUTHENTICATION'] || 'plain',
|
||||
enable_starttls_auto: ENV['SMTP_ENABLE_STARTTLS_AUTO'] || 'true'
|
||||
authentication: 'plain',
|
||||
enable_starttls_auto: true
|
||||
}
|
||||
|
||||
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
|
||||
|
@ -32,6 +32,6 @@
|
||||
en:
|
||||
wedding_name: "Caro & Rene's freie Trauung"
|
||||
wedding_couple_names: 'Caro & Rene'
|
||||
wedding_date: 'Samstag, 25 April 2025'
|
||||
wedding_date: 'Samstag, 25 April 2026'
|
||||
wedding_location: 'Klosterkirche, Remscheid'
|
||||
photo_credits: 'Photo Credits: Rene'
|
||||
|
@ -1,32 +1,36 @@
|
||||
BEGIN:VCALENDAR
|
||||
METHOD:REQUEST
|
||||
PRODID:Microsoft Exchange Server 2010
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:W. Europe Standard Time
|
||||
BEGIN:STANDARD
|
||||
DTSTART:16010101T030000
|
||||
TZOFFSETFROM:+0200
|
||||
TZOFFSETTO:+0100
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
|
||||
END:STANDARD
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:16010101T020000
|
||||
TZOFFSETFROM:+0100
|
||||
TZOFFSETTO:+0200
|
||||
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
END:VTIMEZONE
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Access-A-Ride Pickup
|
||||
DTSTART;TZID=America/New_York:20130802T103400
|
||||
DTEND;TZID=America/New_York:20130802T110400
|
||||
LOCATION:1000 Broadway Ave.\, Brooklyn
|
||||
DESCRIPTION: Access-A-Ride trip to 900 Jay St.\, Brooklyn
|
||||
ORGANIZER;CN="Kasseboehmer, Rene":mailto:renek@gmail.com
|
||||
DESCRIPTION;LANGUAGE=de-DE:
|
||||
UID:040000008200E00074C5B7101A82E00800000000C763A9231826DC01000000000000000
|
||||
010000000324119CE5EEF5A44B6AB75CC06641357
|
||||
SUMMARY;LANGUAGE=de-DE:Freie Trauung von Caro & Rene
|
||||
DTSTART;TZID=W. Europe Standard Time:20260425T160000
|
||||
DTEND;TZID=W. Europe Standard Time:20260425T235000
|
||||
CLASS:PUBLIC
|
||||
PRIORITY:5
|
||||
DTSTAMP:20250915T081214Z
|
||||
TRANSP:OPAQUE
|
||||
STATUS:CONFIRMED
|
||||
SEQUENCE:3
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT10M
|
||||
DESCRIPTION:Pickup Reminder
|
||||
ACTION:DISPLAY
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Access-A-Ride Pickup
|
||||
DTSTART;TZID=America/New_York:20130802T200000
|
||||
DTEND;TZID=America/New_York:20130802T203000
|
||||
LOCATION:900 Jay St.\, Brooklyn
|
||||
DESCRIPTION: Access-A-Ride trip to 1000 Broadway Ave.\, Brooklyn
|
||||
STATUS:CONFIRMED
|
||||
SEQUENCE:3
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT10M
|
||||
DESCRIPTION:Pickup Reminder
|
||||
ACTION:DISPLAY
|
||||
END:VALARM
|
||||
SEQUENCE:0
|
||||
LOCATION;LANGUAGE=de-DE:Klostergasse 8, 42897 Remscheid, Deutschland
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
|
32
public/wedding.ics_old
Normal file
32
public/wedding.ics_old
Normal file
@ -0,0 +1,32 @@
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
CALSCALE:GREGORIAN
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Access-A-Ride Pickup
|
||||
DTSTART;TZID=America/New_York:20130802T103400
|
||||
DTEND;TZID=America/New_York:20130802T110400
|
||||
LOCATION:1000 Broadway Ave.\, Brooklyn
|
||||
DESCRIPTION: Access-A-Ride trip to 900 Jay St.\, Brooklyn
|
||||
STATUS:CONFIRMED
|
||||
SEQUENCE:3
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT10M
|
||||
DESCRIPTION:Pickup Reminder
|
||||
ACTION:DISPLAY
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
SUMMARY:Access-A-Ride Pickup
|
||||
DTSTART;TZID=America/New_York:20130802T200000
|
||||
DTEND;TZID=America/New_York:20130802T203000
|
||||
LOCATION:900 Jay St.\, Brooklyn
|
||||
DESCRIPTION: Access-A-Ride trip to 1000 Broadway Ave.\, Brooklyn
|
||||
STATUS:CONFIRMED
|
||||
SEQUENCE:3
|
||||
BEGIN:VALARM
|
||||
TRIGGER:-PT10M
|
||||
DESCRIPTION:Pickup Reminder
|
||||
ACTION:DISPLAY
|
||||
END:VALARM
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
Reference in New Issue
Block a user