add create_teams permission checks

This commit is contained in:
mlorb 2018-01-09 15:28:27 +01:00
parent 0e6931b1f3
commit 6c4514f550
3 changed files with 17 additions and 2 deletions

View file

@ -4,6 +4,7 @@ module ClientApi
include ClientApi::Users::UserTeamsHelper
before_action :check_update_team_permission, only: :update
before_action :check_create_team_permission, only: :create
def index
teams = current_user.datatables_teams
@ -69,10 +70,16 @@ module ClientApi
params.require(:team).permit(:name, :description)
end
def check_create_team_permission
unless can_create_teams?
respond_422(t('client_api.teams.create_permission_error'))
end
end
def check_update_team_permission
@team = Team.find_by_id(params[:team_id])
unless can_update_team?(@team)
respond_422(t('client_api.teams.permission_error'))
respond_422(t('client_api.teams.update_permission_error'))
end
end

View file

@ -19,6 +19,9 @@ module Users
:destroy
]
before_action :check_create_team_permission,
only: %i(new create)
def index
@user_teams =
@user
@ -134,6 +137,10 @@ module Users
private
def check_create_team_permission
can_create_teams?
end
def load_user
@user = current_user
end

View file

@ -1825,7 +1825,8 @@ en:
leave_team_error: "An error occured."
leave_flash: "Successfuly left team %{team}."
teams:
permission_error: "You don't have permission to edit team."
create_permission_error: "You don't have permission to create team."
update_permission_error: "You don't have permission to edit team."
user:
current_password_invalid: "incorrect password"
password_confirmation_not_match: "doesn't match"