mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-30 18:47:51 +00:00 
			
		
		
		
	fix: broken link in admin account user list (#11661)
- Add a dummy link for account users page that redirect back to user page - move common account user form in user and account super admin pages to a partial fixes: #10757
This commit is contained in:
		| @@ -2,6 +2,13 @@ class SuperAdmin::AccountUsersController < SuperAdmin::ApplicationController | |||||||
|   # Overwrite any of the RESTful controller actions to implement custom behavior |   # Overwrite any of the RESTful controller actions to implement custom behavior | ||||||
|   # For example, you may want to send an email after a foo is updated. |   # For example, you may want to send an email after a foo is updated. | ||||||
|   # |   # | ||||||
|  |  | ||||||
|  |   # Since account/user page - account user role attribute links to the show page | ||||||
|  |   # Handle with a redirect to the user show page | ||||||
|  |   def show | ||||||
|  |     redirect_to super_admin_user_path(requested_resource.user) | ||||||
|  |   end | ||||||
|  |  | ||||||
|   def create |   def create | ||||||
|     resource = resource_class.new(resource_params) |     resource = resource_class.new(resource_params) | ||||||
|     authorize_resource(resource) |     authorize_resource(resource) | ||||||
|   | |||||||
| @@ -91,55 +91,7 @@ as well as a link to its edit page. | |||||||
|     </div> |     </div> | ||||||
|   </section> |   </section> | ||||||
|  |  | ||||||
|   <section class="main-content__body"> |   <%= render 'super_admin/shared/account_user_form', page: page, namespace: namespace, resource_type: 'account' %> | ||||||
|     <% account_user_page = |  | ||||||
|       Administrate::Page::Form.new(AccountUserDashboard.new, AccountUser.new) %> |  | ||||||
|     <%= form_for([namespace, account_user_page.resource], html: { class: "form" }) do |f| %> |  | ||||||
|       <% if account_user_page.resource.errors.any? %> |  | ||||||
|         <div id="error_explanation"> |  | ||||||
|           <h2> |  | ||||||
|             <%= t( |  | ||||||
|               "administrate.form.errors", |  | ||||||
|               pluralized_errors: |  | ||||||
|                 pluralize( |  | ||||||
|                   account_user_page.resource.errors.count, |  | ||||||
|                   t("administrate.form.error"), |  | ||||||
|                 ), |  | ||||||
|               resource_name: display_resource_name(account_user_page.resource_name), |  | ||||||
|             ) %> |  | ||||||
|           </h2> |  | ||||||
|  |  | ||||||
|           <ul> |  | ||||||
|             <% account_user_page.resource.errors.full_messages.each do |message| %> |  | ||||||
|               <li class="flash-error"><%= message %></li> |  | ||||||
|             <% end %> |  | ||||||
|           </ul> |  | ||||||
|         </div> |  | ||||||
|       <% end %> |  | ||||||
|  |  | ||||||
|       <% account_user_page.attributes.each do |title, attributes| -%> |  | ||||||
|         <% attributes.each do |attribute| %> |  | ||||||
|           <% if attribute.name == "account" %> |  | ||||||
|             <%= f.hidden_field("account_id", value: page.resource.id) %> |  | ||||||
|           <% else %> |  | ||||||
|             <div |  | ||||||
|               class=" |  | ||||||
|                 field-unit field-unit--<%= attribute.html_class %> |  | ||||||
|                 field-unit--<%= requireness(attribute) %> |  | ||||||
|               " |  | ||||||
|             > |  | ||||||
|               <%= render_field attribute, f: f %> |  | ||||||
|             </div> |  | ||||||
|           <% end %> |  | ||||||
|         <% end %> |  | ||||||
|       <% end -%> |  | ||||||
|  |  | ||||||
|       <div class="form-actions"> |  | ||||||
|         <%= f.submit %> |  | ||||||
|       </div> |  | ||||||
|     <% end %> |  | ||||||
|  |  | ||||||
|   </section> |  | ||||||
|  |  | ||||||
|   <%= render partial: "seed_data", locals: { page: page } %> |   <%= render partial: "seed_data", locals: { page: page } %> | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								app/views/super_admin/shared/_account_user_form.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								app/views/super_admin/shared/_account_user_form.html.erb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,54 @@ | |||||||
|  | <%# | ||||||
|  | # Account User Form Partial | ||||||
|  |  | ||||||
|  | This partial renders the account user creation form. | ||||||
|  | Used by both account and user show pages. | ||||||
|  |  | ||||||
|  | ## Local variables: | ||||||
|  |  | ||||||
|  | - `page`: The Administrate page object (Account or User) | ||||||
|  | - `namespace`: The current namespace (usually :super_admin) | ||||||
|  | - `resource_type`: Either 'account' or 'user' to determine hidden field | ||||||
|  | %> | ||||||
|  |  | ||||||
|  | <section class="main-content__body"> | ||||||
|  |   <% account_user_page = Administrate::Page::Form.new(AccountUserDashboard.new, AccountUser.new) %> | ||||||
|  |   <%= form_for([namespace, account_user_page.resource], html: { class: "form" }) do |f| %> | ||||||
|  |     <% if account_user_page.resource.errors.any? %> | ||||||
|  |       <div id="error_explanation"> | ||||||
|  |         <h2> | ||||||
|  |           <%= t( | ||||||
|  |             "administrate.form.errors", | ||||||
|  |             pluralized_errors: pluralize( | ||||||
|  |               account_user_page.resource.errors.count, | ||||||
|  |               t("administrate.form.error") | ||||||
|  |             ), | ||||||
|  |             resource_name: display_resource_name(account_user_page.resource_name) | ||||||
|  |           ) %> | ||||||
|  |         </h2> | ||||||
|  |  | ||||||
|  |         <ul> | ||||||
|  |           <% account_user_page.resource.errors.full_messages.each do |message| %> | ||||||
|  |             <li class="flash-error"><%= message %></li> | ||||||
|  |           <% end %> | ||||||
|  |         </ul> | ||||||
|  |       </div> | ||||||
|  |     <% end %> | ||||||
|  |  | ||||||
|  |     <% account_user_page.attributes.each do |title, attributes| -%> | ||||||
|  |       <% attributes.each do |attribute| %> | ||||||
|  |         <% if attribute.name == resource_type %> | ||||||
|  |           <%= f.hidden_field("#{resource_type}_id", value: page.resource.id) %> | ||||||
|  |         <% else %> | ||||||
|  |           <div class="field-unit field-unit--<%= attribute.html_class %> field-unit--<%= requireness(attribute) %>"> | ||||||
|  |             <%= render_field attribute, f: f %> | ||||||
|  |           </div> | ||||||
|  |         <% end %> | ||||||
|  |       <% end %> | ||||||
|  |     <% end -%> | ||||||
|  |  | ||||||
|  |     <div class="form-actions"> | ||||||
|  |       <%= f.submit %> | ||||||
|  |     </div> | ||||||
|  |   <% end %> | ||||||
|  | </section> | ||||||
| @@ -56,44 +56,6 @@ as well as a link to its edit page. | |||||||
|   </dl> |   </dl> | ||||||
| </section> | </section> | ||||||
|  |  | ||||||
| <section class="main-content__body"> | <%= render 'super_admin/shared/account_user_form', page: page, namespace: namespace, resource_type: 'user' %> | ||||||
|   <% account_user_page = Administrate::Page::Form.new(AccountUserDashboard.new, AccountUser.new) %> |  | ||||||
|   <%= form_for([namespace, account_user_page.resource], html: { class: "form" }) do |f| %> |  | ||||||
|   <% if account_user_page.resource.errors.any? %> |  | ||||||
|     <div id="error_explanation"> |  | ||||||
|       <h2> |  | ||||||
|         <%= t( |  | ||||||
|           "administrate.form.errors", |  | ||||||
|           pluralized_errors: pluralize(account_user_page.resource.errors.count, t("administrate.form.error")), |  | ||||||
|           resource_name: display_resource_name(account_user_page.resource_name) |  | ||||||
|         ) %> |  | ||||||
|       </h2> |  | ||||||
|  |  | ||||||
|       <ul> |  | ||||||
|         <% account_user_page.resource.errors.full_messages.each do |message| %> |  | ||||||
|           <li class="flash-error"><%= message %></li> |  | ||||||
|         <% end %> |  | ||||||
|       </ul> |  | ||||||
|     </div> |  | ||||||
|   <% end %> |  | ||||||
|  |  | ||||||
|   <% account_user_page.attributes.each do |title, attributes| -%> |  | ||||||
|     <% attributes.each do |attribute| %> |  | ||||||
|       <% if attribute.name == "user" %> |  | ||||||
|         <%= f.hidden_field('user_id', value: page.resource.id) %> |  | ||||||
|       <% else %> |  | ||||||
|       <div class="field-unit field-unit--<%= attribute.html_class %> field-unit--<%= requireness(attribute) %>"> |  | ||||||
|         <%= render_field attribute, f: f %> |  | ||||||
|       </div> |  | ||||||
|       <% end %> |  | ||||||
|     <% end %>   |  | ||||||
|   <% end -%> |  | ||||||
|  |  | ||||||
|   <div class="form-actions"> |  | ||||||
|     <%= f.submit %> |  | ||||||
|   </div> |  | ||||||
| <% end %> |  | ||||||
|  |  | ||||||
| </section> |  | ||||||
|  |  | ||||||
| <%= render partial: "impersonate", locals: {page: page} %> | <%= render partial: "impersonate", locals: {page: page} %> | ||||||
|   | |||||||
| @@ -533,7 +533,7 @@ Rails.application.routes.draw do | |||||||
|       end |       end | ||||||
|  |  | ||||||
|       # resources that doesn't appear in primary navigation in super admin |       # resources that doesn't appear in primary navigation in super admin | ||||||
|       resources :account_users, only: [:new, :create, :destroy] |       resources :account_users, only: [:new, :create, :show, :destroy] | ||||||
|     end |     end | ||||||
|     authenticated :super_admin do |     authenticated :super_admin do | ||||||
|       mount Sidekiq::Web => '/monitoring/sidekiq' |       mount Sidekiq::Web => '/monitoring/sidekiq' | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sojan Jose
					Sojan Jose