lib/ditty/controllers/users.rb in ditty-0.7.2 vs lib/ditty/controllers/users.rb in ditty-0.8.0
- old
+ new
@@ -1,9 +1,10 @@
# frozen_string_literal: true
require 'ditty/controllers/component'
require 'ditty/models/user'
+require 'ditty/models/user_login_trait'
require 'ditty/policies/user_policy'
require 'ditty/models/identity'
require 'ditty/policies/identity_policy'
module Ditty
@@ -11,15 +12,10 @@
SEARCHABLE = %i[name surname email].freeze
set model_class: User
set track_actions: true
- def find_template(views, name, engine, &block)
- super(views, name, engine, &block) # Root
- super(::Ditty::App.view_folder, name, engine, &block) # Ditty
- end
-
# New
get '/new' do
authorize settings.model_class, :create
locals = { title: heading(:new), entity: User.new, identity: Identity.new }
@@ -43,20 +39,19 @@
DB.transaction(isolation: :serializable) do
begin
identity.save
rescue Sequel::ValidationFailed
raise unless request.accept? 'text/html'
+
status 400
locals = { title: heading(:new), entity: user, identity: identity }
return haml(:"#{view_location}/new", locals: locals)
end
user.save
user.add_identity identity
- if roles
- roles.each do |role_id|
- user.add_role(role_id) unless user.roles.map(&:id).include? role_id.to_i
- end
+ roles&.each do |role_id|
+ user.add_role(role_id) unless user.roles.map(&:id).include? role_id.to_i
end
user.check_roles
end
broadcast(:component_create, target: self)