Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
a539bb29ad43
Commit
a539bb29
authored
Oct 27, 2017
by
Brett Walker
Browse files
use a delegate for `username` to be more future friendly
parent
9b6d509f1298
Changes
3
Hide whitespace changes
Inline
Side-by-side
app/controllers/confirmations_controller.rb
View file @
a539bb29
...
...
@@ -15,8 +15,7 @@
if
signed_in?
(
:user
)
after_sign_in
(
resource
)
else
username
=
(
resource_name
==
:email
?
resource
.
user
.
username
:
resource
.
username
)
Gitlab
::
AppLogger
.
info
(
"Email Confirmed: username=
#{
username
}
email=
#{
resource
.
email
}
ip=
#{
request
.
remote_ip
}
"
)
Gitlab
::
AppLogger
.
info
(
"Email Confirmed: username=
#{
resource
.
username
}
email=
#{
resource
.
email
}
ip=
#{
request
.
remote_ip
}
"
)
flash
[
:notice
]
+=
" Please sign in."
new_session_path
(
:user
)
end
...
...
app/models/email.rb
View file @
a539bb29
...
...
@@ -14,6 +14,8 @@
devise
:confirmable
self
.
reconfirmable
=
false
# currently email can't be changed, no need to reconfirm
delegate
:username
,
to: :user
def
email
=
(
value
)
write_attribute
(
:email
,
value
.
downcase
.
strip
)
end
...
...
spec/models/email_spec.rb
View file @
a539bb29
...
...
@@ -40,4 +40,12 @@
expect
(
user
.
emails
.
confirmed
.
count
).
to
eq
1
end
end
describe
'delegation'
do
let
(
:user
)
{
create
(
:user
)
}
it
'delegates to :user'
do
expect
(
build
(
:email
,
user:
user
).
username
).
to
eq
user
.
username
end
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment