Merge pull request #37 from jedmund/fix-party-creation

Minor support for wider party creation
This commit is contained in:
Justin Edmund 2023-01-08 01:34:18 -08:00 committed by GitHub
commit 2c9b15857c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 18 deletions

View file

@ -115,15 +115,15 @@ module Api
# Render the conflict view as a string
def render_conflict_view(conflict_weapon, incoming_weapon, incoming_position)
ConflictBlueprint.render(nil, view: :weapons,
conflict_weapon: conflict_weapon,
incoming_weapon: incoming_weapon,
incoming_position: incoming_position)
conflict_weapon: conflict_weapon,
incoming_weapon: incoming_weapon,
incoming_position: incoming_position)
end
def render_grid_weapon_view(grid_weapon, conflict_position)
GridWeaponBlueprint.render(grid_weapon, view: :full,
root: :grid_weapon,
meta: { replaced: conflict_position })
root: :grid_weapon,
meta: { replaced: conflict_position })
end
def save_weapon(weapon)
@ -140,6 +140,9 @@ module Api
if weapon.position == -1
party.element = weapon.weapon.element
party.save!
elsif [9, 10, 11].include?(weapon.position)
party.extra = true
party.save!
end
# Render the weapon if it can be saved

View file

@ -8,22 +8,28 @@ module Api
before_action :set, only: %w[update destroy]
def create
@party = Party.new(shortcode: random_string)
@party.extra = party_params['extra']
party = Party.new(shortcode: random_string)
party.user = current_user if current_user
# TODO: Extract this into a different method
job = Job.find(party_params['job_id']) if party_params['job_id'].present?
if job
job_skills = JobSkill.where(job: job.id, main: true)
job_skills.each_with_index do |skill, index|
@party["skill#{index}_id"] = skill.id
end
if party_params
party.attributes = party_params
end
@party.user = current_user if current_user
# unless party_params.empty?
# party.attributes = party_params
#
# # TODO: Extract this into a different method
# job = Job.find(party_params['job_id']) if party_params['job_id'].present?
# if job
# job_skills = JobSkill.where(job: job.id, main: true)
# job_skills.each_with_index do |skill, index|
# party["skill#{index}_id"] = skill.id
# end
# end
# end
if @party.save!
return render json: PartyBlueprint.render(@party, view: :full, root: :party),
if party.save!
return render json: PartyBlueprint.render(party, view: :full, root: :party),
status: :created
end
@ -150,7 +156,7 @@ module Api
:button_count,
:turn_count,
:chain_count
)
) if params[:party].present?
end
end
end