From ddf15539135d64bfd03ad168469ec1f429a94def Mon Sep 17 00:00:00 2001 From: msharif ahrari Date: Tue, 28 Aug 2018 18:51:11 +0430 Subject: [PATCH 1/5] fix custom route when we are in subdirectory https://github.com/Dionera/laravel-beanstalkd-admin-ui/issues/13 --- src/Controllers/TubesController.php | 3 +-- src/Resources/assets/js/app.js | 4 +--- src/Resources/assets/js/failed-jobs-table.js | 4 +--- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/Controllers/TubesController.php b/src/Controllers/TubesController.php index 5d98028..0a1b568 100644 --- a/src/Controllers/TubesController.php +++ b/src/Controllers/TubesController.php @@ -35,7 +35,6 @@ public function __construct(PheanstalkInterface $pheanstalk, JobRepository $jobs public function index() { $tubeNames = collect($this->pheanstalk->listTubes()); - // Adam Wathan give me your strength! $tubes = collect($tubeNames)->map(function ($tube) { return collect($this->pheanstalk->statsTube($tube))->slice(1)->all(); @@ -58,7 +57,7 @@ public function showTube($tube) $nextReady = $this->jobs->nextReady($tube, true); $nextBuried = $this->jobs->nextBuried($tube); $nextDelayed = $this->jobs->nextDelayed($tube, true); - $prefix = config('beanstalkdui.prefix'); + $prefix = url()->to('/'.config('beanstalkdui.prefix')); return view('beanstalkdui::tubes.show', compact( 'nextReady', diff --git a/src/Resources/assets/js/app.js b/src/Resources/assets/js/app.js index 8a54a11..82033d0 100644 --- a/src/Resources/assets/js/app.js +++ b/src/Resources/assets/js/app.js @@ -29,9 +29,7 @@ new Vue({ methods: { prefixUrl: function (url){ - return this.prefix.length > 0 - ? '/' + this.prefix + url - : url + return this.prefix + url; }, fetchData: function () { $.get(this.prefixUrl('/beanstalkd/api/tubes/' + this.tube), function (response) { diff --git a/src/Resources/assets/js/failed-jobs-table.js b/src/Resources/assets/js/failed-jobs-table.js index 0c86129..78ba3eb 100644 --- a/src/Resources/assets/js/failed-jobs-table.js +++ b/src/Resources/assets/js/failed-jobs-table.js @@ -18,9 +18,7 @@ new Vue({ methods: { prefixUrl: function (url){ - return this.prefix.length > 0 - ? '/' + this.prefix + url - : url + return this.prefix + url; }, refresh: function (notify) { $.get(this.prefixUrl('/beanstalkd/api/tubes/' + this.tube + '/failed'), function (response) { From e902fff79e8f0556e47ef6798d4974b76d502874 Mon Sep 17 00:00:00 2001 From: msharif ahrari Date: Tue, 28 Aug 2018 18:52:33 +0430 Subject: [PATCH 2/5] fix style --- src/Controllers/TubesController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Controllers/TubesController.php b/src/Controllers/TubesController.php index 0a1b568..3a7e0b1 100644 --- a/src/Controllers/TubesController.php +++ b/src/Controllers/TubesController.php @@ -35,6 +35,7 @@ public function __construct(PheanstalkInterface $pheanstalk, JobRepository $jobs public function index() { $tubeNames = collect($this->pheanstalk->listTubes()); + // Adam Wathan give me your strength! $tubes = collect($tubeNames)->map(function ($tube) { return collect($this->pheanstalk->statsTube($tube))->slice(1)->all(); From cd658b67b16e8921344a7f614e783b5fdd7599e0 Mon Sep 17 00:00:00 2001 From: msharif ahrari Date: Tue, 28 Aug 2018 18:53:08 +0430 Subject: [PATCH 3/5] fix style --- src/Controllers/TubesController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Controllers/TubesController.php b/src/Controllers/TubesController.php index 3a7e0b1..33ea18c 100644 --- a/src/Controllers/TubesController.php +++ b/src/Controllers/TubesController.php @@ -35,7 +35,7 @@ public function __construct(PheanstalkInterface $pheanstalk, JobRepository $jobs public function index() { $tubeNames = collect($this->pheanstalk->listTubes()); - + // Adam Wathan give me your strength! $tubes = collect($tubeNames)->map(function ($tube) { return collect($this->pheanstalk->statsTube($tube))->slice(1)->all(); From 5181a855168acee48bf5729f2afd091e543d7b69 Mon Sep 17 00:00:00 2001 From: msharif ahrari Date: Tue, 28 Aug 2018 19:35:39 +0430 Subject: [PATCH 4/5] sort tubes by alphabet to find them faster --- src/Controllers/TubesController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Controllers/TubesController.php b/src/Controllers/TubesController.php index 33ea18c..2c59484 100644 --- a/src/Controllers/TubesController.php +++ b/src/Controllers/TubesController.php @@ -34,7 +34,10 @@ public function __construct(PheanstalkInterface $pheanstalk, JobRepository $jobs */ public function index() { - $tubeNames = collect($this->pheanstalk->listTubes()); + $tubeNames = $this->pheanstalk->listTubes(); + + // its better if tubes sorted by alphabet so we can find them faster + sort($tubeNames); // Adam Wathan give me your strength! $tubes = collect($tubeNames)->map(function ($tube) { From 80084294dbaebaf6856a02f04f8a22acebbfe0fa Mon Sep 17 00:00:00 2001 From: msharif ahrari Date: Thu, 30 Aug 2018 10:02:21 +0430 Subject: [PATCH 5/5] Support more servers with change in type Many servers doesnt support DELETE requests by default. So its better if we change this and use _method params in call ajax with POST request . and don't need to change in .htaccess --- src/Resources/assets/js/components/job-action.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Resources/assets/js/components/job-action.js b/src/Resources/assets/js/components/job-action.js index cdc0656..632e8da 100644 --- a/src/Resources/assets/js/components/job-action.js +++ b/src/Resources/assets/js/components/job-action.js @@ -19,7 +19,8 @@ var JobAction = Vue.extend({ fire: function () { $.ajax({ url: this.prefixUrl(this.url + this.job.id), - type: this.method, + type: 'POST', + data :{'_method':this.method}, success: function (response) { this.$dispatch('notify', response); }.bind(this)