diff --git a/app/controllers/organizations/clas_controller.rb b/app/controllers/organizations/clas_controller.rb index e50cb8db4..953cc9d5c 100644 --- a/app/controllers/organizations/clas_controller.rb +++ b/app/controllers/organizations/clas_controller.rb @@ -1,11 +1,15 @@ class Organizations::ClasController < Organizations::BaseController before_action :load_organization before_action :load_cla, only: [:show, :update, :destroy] + def index @cla = @organization.cla end - def show + def show + @is_admin = can_edit_org? + @is_member = @organization.is_member?(current_user.id) + @is_sign = @organization.is_sign?(current_user.id) end def create diff --git a/app/models/organization.rb b/app/models/organization.rb index e58cc91be..72788d025 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -107,6 +107,11 @@ class Organization < Owner organization_users.where(user_id: user_id).present? end + def is_sign?(user_id) + return false if cla.nil? + cla.user_clas.where(user_id: user_id).present? + end + def is_owner?(user_id) team_users.joins(:team).where(user_id: user_id, teams: {authorize: %w(owner)}).present? end diff --git a/app/views/organizations/clas/show.json.jbuilder b/app/views/organizations/clas/show.json.jbuilder index 4fa0db18c..1660b4d07 100644 --- a/app/views/organizations/clas/show.json.jbuilder +++ b/app/views/organizations/clas/show.json.jbuilder @@ -1,5 +1,6 @@ json.partial! "detail", cla: @cla, organization: @organization json.is_admin @is_admin +json.is_sign @is_sign json.is_member @is_member json.organization do json.partial! "organizations/organizations/simple", organization: @organization