diff --git a/app/controllers/api/v1/grid_weapons_controller.rb b/app/controllers/api/v1/grid_weapons_controller.rb index 76b14f8..3f46061 100644 --- a/app/controllers/api/v1/grid_weapons_controller.rb +++ b/app/controllers/api/v1/grid_weapons_controller.rb @@ -185,7 +185,6 @@ module Api def authorize # Create - ap @party unauthorized_create = @party && (@party.user != current_user || @party.edit_key != edit_key) unauthorized_update = @weapon && @weapon.party && (@weapon.party.user != current_user || @weapon.party.edit_key != edit_key) diff --git a/app/controllers/api/v1/jobs_controller.rb b/app/controllers/api/v1/jobs_controller.rb index 40276f8..443c080 100644 --- a/app/controllers/api/v1/jobs_controller.rb +++ b/app/controllers/api/v1/jobs_controller.rb @@ -150,7 +150,7 @@ module Api def mismatched_skill(job, skill) mismatched_main = (skill.job.id != job.id) && skill.main && !skill.sub - mismatched_emp = (skill.job.id != job.id) && skill.emp + mismatched_emp = (skill.job.id != job.id && skill.job.base_job.id != job.base_job.id) && skill.emp mismatched_base = skill.job.base_job && (job.row != 'ex2' || skill.job.base_job.id != job.base_job.id) && skill.base if %w[4 5 ex2].include?(job.row) diff --git a/app/controllers/api/v1/parties_controller.rb b/app/controllers/api/v1/parties_controller.rb index d46fa63..a4f1221 100644 --- a/app/controllers/api/v1/parties_controller.rb +++ b/app/controllers/api/v1/parties_controller.rb @@ -65,7 +65,7 @@ module Api new_party.local_id = party_params[:local_id] if !party_params.nil? if new_party.save - render json: PartyBlueprint.render(new_party, view: :full, root: :party, + render json: PartyBlueprint.render(new_party, view: :created, root: :party, meta: { remix: true }) else render_validation_error_response(new_party) diff --git a/app/controllers/api/v1/search_controller.rb b/app/controllers/api/v1/search_controller.rb index 9792109..336704f 100644 --- a/app/controllers/api/v1/search_controller.rb +++ b/app/controllers/api/v1/search_controller.rb @@ -140,17 +140,27 @@ module Api # Perform the query skills = if search_params[:query].present? && search_params[:query].length >= 2 - JobSkill.method("#{locale}_search").call(search_params[:query]) + JobSkill.joins(:job) + .method("#{locale}_search").call(search_params[:query]) .where(conditions) .where(job: job.id, main: false) .or( - JobSkill.method("#{locale}_search").call(search_params[:query]) + JobSkill.joins(:job) + .method("#{locale}_search").call(search_params[:query]) .where(conditions) .where(sub: true) .where.not(job: job.id) ) + .or( + JobSkill.joins(:job) + .method("#{locale}_search").call(search_params[:query]) + .where(conditions) + .where(job: { base_job: job.base_job.id }, emp: true) + .where.not(job: job.id) + ) else JobSkill.all + .joins(:job) .where(conditions) .where(job: job.id, main: false) .or( @@ -165,6 +175,13 @@ module Api .where(job: job.base_job.id, base: true) .where.not(job: job.id) ) + .or( + JobSkill.all + .where(conditions) + .joins(:job) + .where(job: { base_job: job.base_job.id }, emp: true) + .where.not(job: job.id) + ) end count = skills.length