Skip to content

Commit

Permalink
WIP membership verify page
Browse files Browse the repository at this point in the history
  • Loading branch information
TheWalkingLeek committed May 24, 2024
1 parent 78908fe commit d96b442
Show file tree
Hide file tree
Showing 12 changed files with 239 additions and 3 deletions.
107 changes: 107 additions & 0 deletions app/assets/images/logo_gegenrecht.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/assets/images/sac_logo_de.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/assets/images/sac_logo_fr.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions app/assets/images/sac_logo_it.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 38 additions & 1 deletion app/assets/stylesheets/hitobito/customizable/_wagon.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,51 @@

#membership-verify {
header {
justify-content: end;
#logo {
img {
width: 100%;
}
}
}

#details {
#member-info {
dl {
display: flex;
flex-direction: column;

div {
display: flex;
justify-content: center;
}
}
}

.alert-success {
background-color: rgb(128, 255, 0); // cmyk(50, 0, 100, 0)
color: black;
}

.alert-danger {
background-color: rgb(255, 179, 128); // cmyk(50, 0, 100, 0)
color: black;
}

#logo-reciprocate {
height: 4em;
display: flex;
justify-content: center;
}
}
#footer {
margin: 0;
img {
width: 100%;
}
}
}

.turbo-progress-bar {
background-color: $link-color !important;
}
}
16 changes: 16 additions & 0 deletions app/helpers/membership_verify_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

module MembershipVerifyHelper

def localized_logo_path
"sac_logo_#{I18n.locale.downcase}.svg"
end

def localized_sac_sponsors_url
{
de: 'https://www.sac-cas.ch/de/der-sac/unsere-partner/',
fr: 'https://www.sac-cas.ch/fr/le-cas/nos-partenaires/',
it: 'https://www.sac-cas.ch/it/il-cas/i-nostri-partner/'
}[I18n.locale]
end

end
2 changes: 2 additions & 0 deletions app/models/sac_cas/person.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ module SacCas::Person

Person.used_attributes.delete(:nickname)

reflect_on_attachment(:picture).variant(:profile, resize_to_fill: [200, 200])

has_many :external_trainings
has_many :roles_with_deleted, -> { with_deleted }, class_name: 'Role', foreign_key: 'person_id'

Expand Down
64 changes: 64 additions & 0 deletions app/views/people/membership/verify/show.html.haml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
- title = t('verify_membership.title')

%html{lang: I18n.locale}
%head
%meta{charset: 'utf-8'}
%title= "#{Settings.application.name} - #{title}"
%meta{name: 'viewport', content: 'width=device-width, initial-scale=1.0'}
= stylesheet_pack_tag 'application'
= javascript_pack_tag 'membership_verify'
%body
#membership-verify
%header
%div#logo
- logo = Settings.application.membership_verify_logo
- if logo
= wagon_image_pack_tag(logo.image, alt: Settings.application.name)
- else
= image_pack_tag(localized_logo_path, alt: 'define logo in wagon settings (membership_verify_logo)')
#details
- if person
#member-img
= image_tag(upload_url(person, :picture))
#member-name
= person.full_name
#member-info
%dl.dl-horizontal
%div
%strong=t('.membership_number', membership_number: person.membership_number)
%div
- membership_years = Person.where(id: person.id).with_membership_years.first.membership_years
%strong=t('.membership_years', membership_years: membership_years)
- if member?
%div.alert.alert-success
%span.fas.fa-check
= t('verify_membership.status_valid')
- else
%div.alert.alert-danger
%span.fas.fa-times-circle
= t('verify_membership.status_invalid')

#sections.mb-5
- main_section_role = person.roles.find_by(type: Group::SektionsMitglieder::Mitglied.sti_name)
- if main_section_role.present?
%div
%div
%strong= main_section_role.to_s
%div
%strong= main_section_role.group.layer_group.to_s
- person.roles.where(type: Group::SektionsMitglieder::MitgliedZusatzsektion.sti_name).each do |secondary_role|
%div
%div= secondary_role.to_s
%div= secondary_role.group.layer_group.to_s

#logo-reciprocate
= image_pack_tag('logo_gegenrecht.svg', alt: 'define logo in wagon settings (membership_verify_logo)')

- else
%div.alert.alert-danger
%span.fas.fa-times-circle
= t('verify_membership.not_found')
#footer
%a{href: localized_sac_sponsors_url, target: '_blank'}
= image_pack_tag('membership_verify_partner_ad.jpg', alt: 'define logo in wagon settings (membership_verify_logo)')

7 changes: 6 additions & 1 deletion config/locales/wagon.de.yml
Original file line number Diff line number Diff line change
Expand Up @@ -630,6 +630,11 @@ de:
<a target="blank" href="https://www.sac-cas.ch/de/der-sac/sektionen">https://www.sac-cas.ch/de/der-sac/sektionen</a>'

people:
membership:
verify:
show:
membership_number: 'Mitglied: %{membership_number}'
membership_years: 'Anzahl Mitgliedsjahre: %{membership_years}'
neuanmeldungen:
multiselect_actions:
accept: Übernehmen
Expand Down Expand Up @@ -798,7 +803,7 @@ de:
title: Verifizierung SAC CAS Mitgliedschaft
not_found: Ungültiger Verifikationscode
status_valid: Mitgliedschaft gültig
status_invalid: Keine gültige Mitgliedschaft
status_invalid: Mitgliedschaft ungültig

passes:
membership:
Expand Down
2 changes: 2 additions & 0 deletions lib/hitobito_sac_cas/wagon.rb
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ class Wagon < Rails::Engine

SubscriptionsController.prepend SacCas::SubscriptionsController

People::Membership::VerifyController.include Localizable

## Jobs
Export::PeopleExportJob.prepend SacCas::Export::PeopleExportJob
Export::SubscriptionsJob.prepend SacCas::Export::SubscriptionsJob
Expand Down
2 changes: 1 addition & 1 deletion spec/features/membership_verification_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
person.roles.destroy_all

visit "/verify_membership/#{token}"
expect(page).to have_css('.alert-danger', text: 'Keine gültige Mitgliedschaft')
expect(page).to have_css('.alert-danger', text: 'Mitgliedschaft ungültig')
end

it 'shows valid membership information' do
Expand Down

0 comments on commit d96b442

Please sign in to comment.