File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11#:nodoc:
22class Public ::HomeController < PublicController
33 layout false
4+ before_action :redirect_to_locale , only : [ :index ]
45
56 def index
67 @member = Member . new
@@ -13,6 +14,21 @@ def index
1314 @participate = @activities . map ( &:id )
1415 end
1516
17+ def redirect_to_locale
18+ # Check if the URL already contains a locale
19+ return if params [ :l ] . in? ( %w[ nl en ] )
20+
21+ # Get the language from the Accept-Language header
22+ locale = request . env [ 'HTTP_ACCEPT_LANGUAGE' ] . to_s . start_with? ( 'nl' ) ? 'nl' : 'en'
23+
24+ # Redirect to /?l=nl/... or /?l=en/...
25+ new_params = request . query_parameters . merge ( l : locale )
26+ redirect_to (
27+ url_for ( params : new_params ) ,
28+ allow_other_host : false
29+ )
30+ end
31+
1632 def create
1733 @member = Member . new ( public_post_params . except ( :participant_attributes ) )
1834 @member . require_student_id = true
@@ -25,6 +41,8 @@ def create
2541 if flash [ :error ] . nil? && @member . save
2642 # create account and send welcome email
2743 user = User . create_on_member_enrollment! ( @member )
44+ user . language = { 'nl' => 0 , 'en' => 1 } [ params [ :l ] ] if params [ :l ] . present?
45+ user . save
2846 user . resend_confirmation! ( :activation_instructions )
2947
3048 impressionist ( @member )
You can’t perform that action at this time.
0 commit comments