Browse Source

Follow up 0c93022a - Fixes #5384 - Fixes #5384 - Expand pagination and search logic in the admin interface.

Co-authored-by: Mantas Masalskis <mm@zammad.com>
Rolf Schmidt 3 months ago
parent
commit
e06e715739

+ 4 - 2
app/assets/javascripts/app/controllers/core_workflow.coffee

@@ -11,6 +11,8 @@ class CoreWorkflow extends App.ControllerSubContent
       id: @id
       genericObject: 'CoreWorkflow'
       defaultSortBy: 'priority, name'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'core_workflow'
         object: __('Workflow')
@@ -18,7 +20,7 @@ class CoreWorkflow extends App.ControllerSubContent
         pagerAjax: true
         pagerBaseUrl: '#manage/core_workflow/'
         pagerSelected: ( @page || 1 )
-        pagerPerPage: 150
+        pagerPerPage: 50
         navupdate: '#core_workflow'
         buttons: [
           { name: __('New Workflow'), 'data-type': 'new', class: 'btn--success' }
@@ -35,7 +37,7 @@ class CoreWorkflow extends App.ControllerSubContent
       if key isnt 'el' && key isnt 'shown' && key isnt 'match'
         @[key] = value
 
-    @genericController.paginate( @page || 1 )
+    @genericController.paginate(@page || 1, params)
 
   setAttributes: ->
     for field in App.CoreWorkflow.configure_attributes

+ 4 - 2
app/assets/javascripts/app/controllers/job.coffee

@@ -11,6 +11,8 @@ class Job extends App.ControllerSubContent
       id: @id
       genericObject: 'Job'
       defaultSortBy: 'name'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'Jobs'
         object: __('Scheduler')
@@ -18,7 +20,7 @@ class Job extends App.ControllerSubContent
         pagerAjax: true
         pagerBaseUrl: '#manage/job/'
         pagerSelected: ( @page || 1 )
-        pagerPerPage: 150
+        pagerPerPage: 50
         navupdate: '#Jobs'
         buttons: [
           { name: __('New Scheduler'), 'data-type': 'new', class: 'btn--success' }
@@ -35,7 +37,7 @@ class Job extends App.ControllerSubContent
       if key isnt 'el' && key isnt 'shown' && key isnt 'match'
         @[key] = value
 
-    @genericController.paginate( @page || 1 )
+    @genericController.paginate(@page || 1, params)
 
   fetchTimezones: =>
     @ajax(

+ 13 - 0
app/assets/javascripts/app/controllers/public_link.coffee

@@ -9,10 +9,16 @@ class PublicLink extends App.ControllerSubContent
       id: @id
       genericObject: 'PublicLink'
       defaultSortBy: 'prio'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'public_links'
         object: __('Public Link')
         objects: __('Public Links')
+        pagerAjax: true
+        pagerBaseUrl: '#manage/public_links/'
+        pagerSelected: ( @page || 1 )
+        pagerPerPage: 50
         navupdate: '#public_links'
         buttons: [
           { name: __('New Public Link'), 'data-type': 'new', class: 'btn--success' }
@@ -37,4 +43,11 @@ class PublicLink extends App.ControllerSubContent
         )
     )
 
+  show: (params) =>
+    for key, value of params
+      if key isnt 'el' && key isnt 'shown' && key isnt 'match'
+        @[key] = value
+
+    @genericController.paginate(@page || 1, params)
+
 App.Config.set('Public Links', { prio: 3325, name: __('Public Links'), parent: '#manage', target: '#manage/public_links', controller: PublicLink, permission: ['admin.public_links'] }, 'NavBarAdmin')

+ 4 - 2
app/assets/javascripts/app/controllers/report_profile.coffee

@@ -9,6 +9,8 @@ class ReportProfile extends App.ControllerSubContent
       id: @id
       genericObject: 'ReportProfile'
       defaultSortBy: 'name'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'report_profiles'
         object: __('Report Profile')
@@ -16,7 +18,7 @@ class ReportProfile extends App.ControllerSubContent
         pagerAjax: true
         pagerBaseUrl: '#manage/report_profiles/'
         pagerSelected: ( @page || 1 )
-        pagerPerPage: 150
+        pagerPerPage: 50
         navupdate: '#report_profiles'
         buttons: [
           { name: __('New Profile'), 'data-type': 'new', class: 'btn--success' }
@@ -30,6 +32,6 @@ class ReportProfile extends App.ControllerSubContent
       if key isnt 'el' && key isnt 'shown' && key isnt 'match'
         @[key] = value
 
-    @genericController.paginate( @page || 1 )
+    @genericController.paginate(@page || 1, params)
 
 App.Config.set('ReportProfile', { prio: 8000, name: __('Report Profiles'), parent: '#manage', target: '#manage/report_profiles', controller: ReportProfile, permission: ['admin.report_profile'] }, 'NavBarAdmin')

+ 5 - 3
app/assets/javascripts/app/controllers/trigger.coffee

@@ -12,6 +12,8 @@ class Trigger extends App.ControllerSubContent
       id: @id
       genericObject: 'Trigger'
       defaultSortBy: 'name'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'triggers'
         object: __('Trigger')
@@ -19,8 +21,8 @@ class Trigger extends App.ControllerSubContent
         pagerAjax: true
         pagerBaseUrl: '#manage/trigger/'
         pagerSelected: ( @page || 1 )
-        pagerPerPage: 150
-        navupdate: '#triggers'
+        pagerPerPage: 50
+        navupdate: '#trigger'
         buttons: [
           { name: __('New Trigger'), 'data-type': 'new', class: 'btn--success' }
         ]
@@ -33,7 +35,7 @@ class Trigger extends App.ControllerSubContent
       if key isnt 'el' && key isnt 'shown' && key isnt 'match'
         @[key] = value
 
-    @genericController.paginate( @page || 1 )
+    @genericController.paginate(@page || 1, params)
 
   fetchTimezones: =>
     @ajax(

+ 4 - 2
app/assets/javascripts/app/controllers/webhook.coffee

@@ -13,6 +13,8 @@ class Index extends App.ControllerSubContent
       id: @id
       genericObject: 'Webhook'
       defaultSortBy: 'name'
+      searchBar: true
+      searchQuery: @search_query
       pageData:
         home: 'webhooks'
         object: __('Webhook')
@@ -20,7 +22,7 @@ class Index extends App.ControllerSubContent
         pagerAjax: true
         pagerBaseUrl: '#manage/webhook/'
         pagerSelected: ( @page || 1 )
-        pagerPerPage: 150
+        pagerPerPage: 50
         navupdate: '#webhooks'
         buttons: [
           { name: __('Example Payload'), 'data-type': 'payload', class: 'btn' }
@@ -46,7 +48,7 @@ class Index extends App.ControllerSubContent
       if key isnt 'el' && key isnt 'shown' && key isnt 'match'
         @[key] = value
 
-    @genericController.paginate( @page || 1 )
+    @genericController.paginate(@page || 1, params)
 
   disableSwitchCallback: ->
     $(@).parents('form').find('[data-attribute-name="customized_payload"] label').css('pointer-events', 'none')

+ 4 - 0
app/controllers/core_workflows_controller.rb

@@ -19,6 +19,10 @@ class CoreWorkflowsController < ApplicationController
     model_update_render(CoreWorkflow.changeable, params)
   end
 
+  def search
+    model_search_render(CoreWorkflow, params)
+  end
+
   def destroy
     model_destroy_render(CoreWorkflow.changeable, params)
   end

+ 4 - 0
app/controllers/jobs_controller.rb

@@ -19,6 +19,10 @@ class JobsController < ApplicationController
     model_update_render(Job, params)
   end
 
+  def search
+    model_search_render(Job, params)
+  end
+
   def destroy
     model_destroy_render(Job, params)
   end

+ 4 - 0
app/controllers/public_links_controller.rb

@@ -22,6 +22,10 @@ class PublicLinksController < ApplicationController
     model_update_render(PublicLink, params)
   end
 
+  def search
+    model_search_render(PublicLink, params)
+  end
+
   def destroy
     model_destroy_render(PublicLink, params)
   end

+ 4 - 0
app/controllers/report_profiles_controller.rb

@@ -124,6 +124,10 @@ curl http://localhost/api/report_profiles.json -v -u #{login}:#{password} -H "Co
     model_update_render(Report::Profile, params)
   end
 
+  def search
+    model_search_render(Report::Profile, params)
+  end
+
 =begin
 
 Resource:

Some files were not shown because too many files changed in this diff