From 7333d3e16eb07498eb90294b3bd5f9a5551ba250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Meny?= Date: Wed, 3 Aug 2022 11:42:42 +0100 Subject: [PATCH] Streamline validation call --- app/controllers/users_controller.rb | 8 ++++---- app/views/users/new.html.erb | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 0c1ac49b6..08de83dbb 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -74,7 +74,8 @@ class UsersController < ApplicationController def create @resource = User.new(user_params.merge(org_params).merge(password_params)) - if valid_attributes? && @resource.save + validate_attributes + if @resource.errors.empty? && @resource.save redirect_to created_user_redirect_path else unless @resource.errors[:organisation].empty? @@ -108,15 +109,14 @@ class UsersController < ApplicationController private - def valid_attributes? - @resource.valid? + def validate_attributes + @resource.validate if user_params[:role].present? && !current_user.assignable_roles.key?(user_params[:role].to_sym) @resource.errors.add :role, I18n.t("validations.role.invalid") end if user_params[:role].empty? @resource.errors.add :role, I18n.t("activerecord.errors.models.user.attributes.role.blank") end - @resource.errors.empty? end def format_error_messages diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index dccf48174..76c931027 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -50,7 +50,7 @@ :id, :name, lambda { |option| - result = option.description&.sum(nil) { |hint| content_tag(:li, hint) } + option.description&.sum("") { |hint| content_tag(:li, hint) } }, legend: { text: "Role", size: "m" } %>