app/models/jobshop/registration.rb in jobshop-0.0.131 vs app/models/jobshop/registration.rb in jobshop-0.0.157
- old
+ new
@@ -1,13 +1,19 @@
module Jobshop
class Registration < VirtualRecord
- memo_attr(:user) { team.users.build(user_params) }
- memo_attr(:team) {
- record = ::Jobshop::Team.find(params[:team_id])
+ memo_attr(:user) {
+ record = organization.users.build(user_params)
+ record.singleton_class.class_eval do
+ validates :forename, presence: true
+ validates :surname, presence: true
+ end
+ record
+ }
- record.assign_attributes(team_params)
-
+ memo_attr(:organization) {
+ record = ::Jobshop::Organization.find(params[:organization_id])
+ record.assign_attributes(organization_params)
record.singleton_class.class_eval do
validates :name, presence: true, on: :update, if: :name_changed?
end
record
@@ -16,13 +22,11 @@
def save
return false unless valid?
result = ActiveRecord::Base.transaction do
user.save!
- team.update!(owner: user,
- registration_token: nil,
- registration_token_sent_at: nil)
+ organization.register_to(user)
end
result != false
end
@@ -30,11 +34,11 @@
def registration_params
params.fetch(:registration, ActionController::Parameters.new)
end
- def team_params
- registration_params.fetch(:team, ActionController::Parameters.new)
+ def organization_params
+ registration_params.fetch(:organization, ActionController::Parameters.new)
.permit(:name)
end
def user_params
registration_params.fetch(:user, ActionController::Parameters.new)