mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 03:57:52 +00:00
- Improve how settings are rendered in Chatwoot Super admin panel - Add google settings support - show setting for community edition ## Settings page - community edition <img width="1702" alt="Screenshot 2025-07-08 at 9 08 03 PM" src="https://github.com/user-attachments/assets/0434f56f-ea74-44a8-a7b0-8e26fab88093" /> ## Expanded settings <img width="1675" alt="Screenshot 2025-07-03 at 2 17 16 AM" src="https://github.com/user-attachments/assets/3aa1f888-c54a-4b58-896a-0d3e828fa176" /> --------- Co-authored-by: Sojan Jose <sojan@Sojans-MacBook-Pro.local> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
49 lines
1.5 KiB
Ruby
49 lines
1.5 KiB
Ruby
# All Administrate controllers inherit from this
|
|
# `Administrate::ApplicationController`, making it the ideal place to put
|
|
# authentication logic or other before_actions.
|
|
#
|
|
# If you want to add pagination or other controller-level concerns,
|
|
# you're free to overwrite the RESTful controller actions.
|
|
class SuperAdmin::ApplicationController < Administrate::ApplicationController
|
|
include ActionView::Helpers::TagHelper
|
|
include ActionView::Context
|
|
include SuperAdmin::NavigationHelper
|
|
|
|
helper_method :render_vue_component, :settings_open?, :settings_pages
|
|
# authenticiation done via devise : SuperAdmin Model
|
|
before_action :authenticate_super_admin!
|
|
|
|
# Override this value to specify the number of elements to display at a time
|
|
# on index pages. Defaults to 20.
|
|
# def records_per_page
|
|
# params[:per_page] || 20
|
|
# end
|
|
|
|
def order
|
|
@order ||= Administrate::Order.new(
|
|
params.fetch(resource_name, {}).fetch(:order, 'id'),
|
|
params.fetch(resource_name, {}).fetch(:direction, 'desc')
|
|
)
|
|
end
|
|
|
|
private
|
|
|
|
def render_vue_component(component_name, props = {})
|
|
html_options = {
|
|
id: 'app',
|
|
data: {
|
|
component_name: component_name,
|
|
props: props.to_json
|
|
}
|
|
}
|
|
content_tag(:div, '', html_options)
|
|
end
|
|
|
|
def invalid_action_perfomed
|
|
# rubocop:disable Rails/I18nLocaleTexts
|
|
flash[:error] = 'Invalid action performed'
|
|
# rubocop:enable Rails/I18nLocaleTexts
|
|
redirect_back(fallback_location: root_path)
|
|
end
|
|
end
|