Sha256: 7bb4ecf00697b9ce362359964b9135e64b2dc0947165eef3d79985e469484a67
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
# frozen_string_literal: true module Decidim module Lausanne module Budgets class UpdateUserRecord < Decidim::Lausanne::Budgets::Command attr_reader :user_record, :budget, :current_user def initialize(user_record, budget, current_user) @user_record = user_record @budget = budget @current_user = current_user end def call return broadcast(:invalid) unless budget return broadcast(:invalid) if user_record.invalid? new_user_record = nil transaction do new_user_record = UserRecord.create( first_name: user_record.first_name, last_name: user_record.last_name, birthdate: user_record.birthdate, iam_lausanne: user_record.iam_lausanne, its_me: user_record.its_me, allow_process_data: user_record.allow_process_data, user: current_user || nil, order: Order.create( budget: budget ) ) rescue e broadcast(:invalid) end broadcast(:ok, new_user_record) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
decidim-lausanne-budgets-0.1.0 | app/commands/decidim/lausanne/budgets/update_user_record.rb |