mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-07 21:55:20 +08:00
add create_teams permission checks
This commit is contained in:
parent
0e6931b1f3
commit
6c4514f550
3 changed files with 17 additions and 2 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Add table
Reference in a new issue