Skip to content

Commit 6f13916

Browse files
committed
Make sure newly registered users don't get 500 errors
1 parent 9985877 commit 6f13916

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

app/controllers/application_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ def admin_only!
1919
protected
2020

2121
def configure_permitted_parameters
22-
devise_parameter_sanitizer.permit(:sign_up, keys: [person_attributes: %i[firstname surname]])
22+
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
2323
end
2424
end

app/models/user.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ class User < ApplicationRecord
1212

1313
delegate :teams, to: :person
1414

15+
before_create :find_or_create_person
16+
1517
def name
1618
person&.fullname
1719
end
@@ -31,4 +33,13 @@ def committee?
3133
def thredded_admin?
3234
admin?
3335
end
36+
37+
private
38+
39+
def find_or_create_person
40+
firstname, surname = username.split
41+
surname = "" if surname.nil?
42+
43+
self.person = Person.find_or_create_by(firstname:, surname:)
44+
end
3445
end

app/views/devise/registrations/new.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<div class="mb-3">
1313
<%= f.label :username, class: "form-label" %>
14-
<%= f.email_field :username, required: true, autocomplete: "username", placeholder: "Your name", class: "form-control" %>
14+
<%= f.text_field :username, required: true, autocomplete: "username", placeholder: "Your name", class: "form-control" %>
1515
</div>
1616

1717
<div class="mb-3">

0 commit comments

Comments
 (0)