Project

General

Profile

Actions

Defect #33355

closed

TypeError when attempting to update a user with a blank email address

Added by Go MAEDA almost 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Administration
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Affected version:

Description

Started PATCH "/users/3" for 127.0.0.1 at 2020-04-26 16:42:34 +0900
Processing by UsersController#update as HTML
.
.
.
ActionView::Template::Error (no implicit conversion of nil into String):
     7:
     8: <%=
     9:   page_title = title [l(:label_user_plural), users_path], @user.login
    10:   page_title.insert(page_title.rindex(' ') + 1, avatar(@user))
    11: %>
    12:
    13: <%= render_tabs user_settings_tabs %>

app/views/users/edit.html.erb:10:in `insert'
app/views/users/edit.html.erb:10:in `_app_views_users_edit_html_erb___718898119020271380_70199616790460'
app/controllers/users_controller.rb:180:in `block (2 levels) in update'
app/controllers/users_controller.rb:179:in `update'
lib/redmine/sudo_mode.rb:64:in `sudo_mode'

Steps to reproduce:
1. Enable "Use Gravatar user icons" (Setting.gravatar_enabled)
2. Update any user with a blank email address from the Administration page
3. "Email cannot be blank" error is expected but actually you will encounter the exception


Files

diff.patch (1008 Bytes) diff.patch Mizuki ISHIKAWA, 2020-04-28 06:38
33355.patch (1.23 KB) 33355.patch Go MAEDA, 2020-11-30 10:39

Related issues

Related to Redmine - Patch #5899: Display user's gravatar when editing profileClosedGo MAEDA2010-07-18

Actions
Actions #1

Updated by Mizuki ISHIKAWA almost 4 years ago

I've attached a patch to fix the problem.

Actions #2

Updated by Go MAEDA almost 4 years ago

I'm not sure which is more appropriate, changing the API of AvatarsHelper as suggested in #note-1, or changing app/views/users/edit.html.erb as follows.

diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb
index 2a8b6707f..786630869 100644
--- a/app/views/users/edit.html.erb
+++ b/app/views/users/edit.html.erb
@@ -7,7 +7,7 @@

 <%=
   page_title = title [l(:label_user_plural), users_path], @user.login
-  page_title.insert(page_title.rindex(' ') + 1, avatar(@user))
+  page_title.insert(page_title.rindex(' ') + 1, avatar(@user).to_s)
 %>

 <%= render_tabs user_settings_tabs %>
Actions #4

Updated by Mizuki ISHIKAWA over 3 years ago

Go MAEDA wrote:

I'm not sure which is more appropriate, changing the API of AvatarsHelper as suggested in #note-1, or changing app/views/users/edit.html.erb as follows.

[...]

The solution you have proposed looks simpler and better.

Actions #5

Updated by Go MAEDA over 3 years ago

Here is a patch based on #33355#note-2.

Actions #6

Updated by Go MAEDA over 3 years ago

  • Target version set to Candidate for next minor release
Actions #7

Updated by Go MAEDA over 3 years ago

  • Target version changed from Candidate for next minor release to 4.1.2

Setting the target version to 4.1.2.

Actions #8

Updated by Go MAEDA over 3 years ago

  • Status changed from New to Resolved
  • Assignee set to Go MAEDA

Committed the patch.

Actions #9

Updated by Go MAEDA over 3 years ago

  • Related to Patch #5899: Display user's gravatar when editing profile added
Actions #10

Updated by Go MAEDA over 3 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF