chore: Custom Roles to manage permissions [ UI ] (#9865)
In admin settings, this Pr will add the UI for managing custom roles ( ref: https://github.com/chatwoot/chatwoot/pull/9995 ). It also handles the routing logic changes to accommodate fine-tuned permissions. --------- Co-authored-by: Pranav <pranavrajs@gmail.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
@@ -1,9 +1,17 @@
|
||||
module Enterprise::Api::V1::Accounts::AgentsController
|
||||
def account_user_attributes
|
||||
super + [:custom_role_id]
|
||||
def create
|
||||
super
|
||||
associate_agent_with_custom_role
|
||||
end
|
||||
|
||||
def allowed_agent_params
|
||||
super + [:custom_role_id]
|
||||
def update
|
||||
super
|
||||
associate_agent_with_custom_role
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def associate_agent_with_custom_role
|
||||
@agent.current_account_user.update!(custom_role_id: params[:custom_role_id])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
module Enterprise::Api::V2::Accounts::ReportsController
|
||||
def check_authorization
|
||||
return if Current.account_user.custom_role&.permissions&.include?('report_manage')
|
||||
|
||||
super
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user