From dcc6d1a9919ca40a327f74e37e44e61410fca365 Mon Sep 17 00:00:00 2001 From: Hugo Peixoto Date: Wed, 20 Sep 2023 14:19:35 +0100 Subject: [PATCH] Improve branding mechanisms --- app/assets/images/ansol-logo-white.png | Bin 13592 -> 0 bytes app/assets/stylesheets/application.css | 3 - app/lib/config.rb | 37 ++--------- app/lib/config/ansol.rb | 60 ++++++++++++++++++ app/lib/config/d3.rb | 60 ++++++++++++++++++ app/mailers/notification_mailer.rb | 48 ++++++++------ app/models/member.rb | 7 +- app/views/layouts/application.html.erb | 4 +- app/views/layouts/mailer.html.erb | 4 +- .../notification_mailer/_cheers.html.erb | 2 +- .../notification_mailer/_cheers.text.erb | 2 +- .../notification_mailer/_greetings.html.erb | 3 + .../notification_mailer/_greetings.text.erb | 1 + .../notification_mailer/cancelled.html.erb | 13 ++-- .../notification_mailer/cancelled.text.erb | 9 ++- .../expiration_in_30d.html.erb | 2 +- .../expiration_in_30d.text.erb | 2 +- .../expiration_in_60d.html.erb | 2 +- .../expiration_in_60d.text.erb | 2 +- .../notification_mailer/expired.html.erb | 4 +- .../notification_mailer/expired.text.erb | 2 +- .../expired_30d_ago.html.erb | 4 +- .../expired_30d_ago.text.erb | 2 +- .../expired_60d_ago.html.erb | 4 +- .../expired_60d_ago.text.erb | 2 +- .../first_payment_confirmation.html.erb | 2 +- .../first_payment_confirmation.text.erb | 2 +- .../payment_renewal_confirmation.html.erb | 2 +- .../payment_renewal_confirmation.text.erb | 2 +- .../notification_mailer/registration.html.erb | 2 +- .../notification_mailer/registration.text.erb | 2 +- config/locales/en.yml | 23 ++++--- config/locales/pt.yml | 18 +++--- public/logo.png | Bin 0 -> 5226 bytes {app/assets/images => public}/logo.svg | 0 35 files changed, 217 insertions(+), 115 deletions(-) delete mode 100644 app/assets/images/ansol-logo-white.png create mode 100644 app/lib/config/ansol.rb create mode 100644 app/lib/config/d3.rb create mode 100644 app/views/notification_mailer/_greetings.html.erb create mode 100644 app/views/notification_mailer/_greetings.text.erb create mode 100644 public/logo.png rename {app/assets/images => public}/logo.svg (100%) diff --git a/app/assets/images/ansol-logo-white.png b/app/assets/images/ansol-logo-white.png deleted file mode 100644 index bd6898f1b11ea91a66007d9174d37d1b324f33a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13592 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 ZE%lT7eQfWwc>oZQl$g9|iHN};{|A_pL686d diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index a5418a4..7687ced 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -15,13 +15,10 @@ main { .banner { width: 100%; - height: 30px; padding: 15px; - background-image: url(logo.svg); background-size: auto 30px; background-repeat: no-repeat; background-position: center; - background-color: #041952; } footer { diff --git a/app/lib/config.rb b/app/lib/config.rb index 975f53e..81984e4 100644 --- a/app/lib/config.rb +++ b/app/lib/config.rb @@ -1,34 +1,9 @@ module Config - def self.organization_full_name - "ANSOL - Associação Nacional para o Software Livre" - end - - def self.organization_website - "https://ansol.org" - end - - def self.regular_payment_value - 30 - end - - def self.reduced_payment_value - 6 - end - - def self.ifthenpay_payment_title - "Quotas ANSOL" - end - - def self.payment_iban - "PT50 0035 2178 00027478430 14" - end - - def self.payment_proof_email - "direccao@ansol.org" - end - - def self.reduced_payment_description - "Caso queiras usufruir da quota reduzida de 6.00€ para estudantes, pessoas - desempregadas ou reformadas, envia-nos um comprovativo desse estatuto." + class <() { @member.email } + def expiration_in_60d set_notification - mail to: @notification.member.email + mail end def expiration_in_30d set_notification - mail to: @notification.member.email + mail end def expired set_notification - mail to: @notification.member.email + mail end def expired_30d_ago set_notification - mail to: @notification.member.email + mail end def expired_60d_ago set_notification - mail to: @notification.member.email + mail end def cancelled set_notification - mail to: @notification.member.email + mail end def registration - @member = params[:member] - @payment = @member.create_payment - mail to: @member.email + set_member + mail end def first_payment_confirmation - @contribution = params[:contribution] - mail to: @contribution.member.email + set_contribution + mail end def payment_renewal_confirmation - @contribution = params[:contribution] - mail to: @contribution.member.email + set_contribution + mail end private def set_notification @notification = params[:notification] + @member = @notification.member @payment = @notification.member.create_payment end + + def set_contribution + @contribution = params[:contribution] + @member = @contribution.member + end + + def set_member + @member = params[:member] + @payment = @member.create_payment + end + + def default_i18n_subject + mailer_scope = self.class.mailer_name.tr("/", ".") + I18n.t(:subject, scope: [mailer_scope, action_name], organization_short_name: Config.organization_short_name) + end end diff --git a/app/models/member.rb b/app/models/member.rb index c8a7eaf..b29a9bf 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -14,11 +14,11 @@ class Member < ApplicationRecord end def cancelled_on - expires_on + 90.days + expires_on + Config.payment_pending_grace_period end def obtains_full_rights_on - joined_on + 6.months + joined_on + Config.full_rights_vesting_period end def reset_status! @@ -26,6 +26,7 @@ class Member < ApplicationRecord end def employed? + # normal is deprecated, here for retrocompatibility reasons category == "normal" || category == "employed" end @@ -111,7 +112,7 @@ class Member < ApplicationRecord { to_be_sent_on: expires_on + 0.days, template: "expired" }, { to_be_sent_on: expires_on + 30.days, template: "expired_30d_ago" }, { to_be_sent_on: expires_on + 60.days, template: "expired_60d_ago" }, - { to_be_sent_on: expires_on + 90.days, template: "cancelled" }, + { to_be_sent_on: expires_on + Config.payment_pending_grace_period, template: "cancelled" }, ].reject do |n| n[:to_be_sent_on].before?(from) || dates.include?(n[:to_be_sent_on]) end.each do |n| diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 6931a1f..f969838 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -11,7 +11,9 @@ - + <% if signed_in? %>