diff --git a/app/controllers/api/v1/grid_weapons_controller.rb b/app/controllers/api/v1/grid_weapons_controller.rb index aa0ad4d..94c9563 100644 --- a/app/controllers/api/v1/grid_weapons_controller.rb +++ b/app/controllers/api/v1/grid_weapons_controller.rb @@ -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 diff --git a/app/controllers/api/v1/parties_controller.rb b/app/controllers/api/v1/parties_controller.rb index 88d0953..258de6a 100644 --- a/app/controllers/api/v1/parties_controller.rb +++ b/app/controllers/api/v1/parties_controller.rb @@ -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