diff --git a/addons/default/visiosoft/advs-module/resources/js/admin/dashboard/report.js b/addons/default/visiosoft/advs-module/resources/js/admin/dashboard/report.js index 92522a569..a37d8a871 100644 --- a/addons/default/visiosoft/advs-module/resources/js/admin/dashboard/report.js +++ b/addons/default/visiosoft/advs-module/resources/js/admin/dashboard/report.js @@ -56,4 +56,20 @@ $(document).ready( function () { }, ], }); + + $('#metaPageReport').DataTable({ + ajax: '/admin/api/classified/report/page', + columns: [ + { + data: 'name', + render: function ( data, type, row, meta ) { + return ` + + ${data ?? productsReportTrans.undefined_page} + + `; + } + }, + ], + }); } ); diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/field.php b/addons/default/visiosoft/advs-module/resources/lang/en/field.php index f1ecaee86..fc320a6c5 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/field.php @@ -392,4 +392,7 @@ return [ 'product' => 'Product', 'count' => 'Count', 'undefined_product' => 'Undefined Product', + 'pages_without_meta_information_report' => 'Pages Without Meta Information Report', + 'page' => 'Page', + 'undefined_page' => 'Undefined Page', ]; diff --git a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php index b92a5472f..2c0fcdb63 100644 --- a/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php +++ b/addons/default/visiosoft/advs-module/src/AdvsModuleServiceProvider.php @@ -254,6 +254,7 @@ class AdvsModuleServiceProvider extends AddonServiceProvider 'admin/api/classified/report/status' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ReportController@status', 'admin/api/classified/report/unexplained' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ReportController@unexplained', 'admin/api/classified/report/no-image' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ReportController@noImage', + 'admin/api/classified/report/page' => 'Visiosoft\AdvsModule\Http\Controller\Admin\ReportController@page', ]; protected $middleware = [ diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/ReportController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/ReportController.php index 8acc6ac6b..e6bd492d6 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/ReportController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/ReportController.php @@ -1,5 +1,6 @@ $this->advRepository->getNoImageClassifiedsReport() ]; } + + public function page(PageRepositoryInterface $pageRepository) + { + $pages = $pageRepository->newQuery() + ->select('title as name', 'pages_pages.id') + ->where(function ($q) { + $q->whereNull('meta_title') + ->orWhereNull('meta_description'); + }) + ->leftJoin('pages_pages_translations as pages_trans', function ($join) { + $join->on('pages_pages.id', '=', 'pages_trans.entry_id'); + $join->whereIn('locale', [config('app.locale'), setting_value('streams::default_locale'), 'en']); + }) + ->get(); + + return [ + 'data' => $pages + ]; + } }