From 1fd07582b30ce1e8234c8731366ecce1c97c7b13 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 27 Jun 2019 21:19:37 +0200 Subject: [PATCH] wip #2843 @14 --- .../Controllers/Admin/PageCrudController.php | 16 ++++++++ .../Admin/ProductCrudController.php | 1 + .../Admin/ProductTypeCrudController.php | 1 + .../Admin/SettingsCrudController.php | 16 ++++++++ .../Admin/SpecificationCrudController.php | 1 + app/Models/Category.php | 31 --------------- app/Models/Producttype.php | 6 --- app/Models/Settings.php | 14 +++++++ app/SubForms/HomeSolution.php | 26 +++++++++++++ app/SubForms/Logo.php | 27 +++++++++++++ app/Templates/Base.php | 2 +- app/Templates/Home.php | 39 ++++++++++++++++++- .../base/inc/sidebar_content.blade.php | 6 +-- routes/backpack/custom.php | 13 +++++-- update | 6 +-- 15 files changed, 153 insertions(+), 52 deletions(-) create mode 100644 app/Http/Controllers/Admin/PageCrudController.php create mode 100644 app/Http/Controllers/Admin/SettingsCrudController.php delete mode 100644 app/Models/Category.php create mode 100644 app/Models/Settings.php create mode 100644 app/SubForms/HomeSolution.php create mode 100644 app/SubForms/Logo.php diff --git a/app/Http/Controllers/Admin/PageCrudController.php b/app/Http/Controllers/Admin/PageCrudController.php new file mode 100644 index 0000000..cdee2ba --- /dev/null +++ b/app/Http/Controllers/Admin/PageCrudController.php @@ -0,0 +1,16 @@ + 'category', - 'singular' => 'catégorie', - 'plural' => 'catégories', - 'route' => 'catalog_category']; - - public function setFields() - { - parent::setFields(); - - $this->addField(['name' => 'name', - 'label' => 'Category name', - 'type' => 'Text', - 'column' => true]); - - $this->addField(['name' => 'slug', - 'type' => 'Slug', - 'label' => 'Slug', - 'column' => true] - ); - } -} diff --git a/app/Models/Producttype.php b/app/Models/Producttype.php index 4838b42..f7b2793 100644 --- a/app/Models/Producttype.php +++ b/app/Models/Producttype.php @@ -30,12 +30,6 @@ class ProductType extends CubistMagicModel ] ); - $this->addField(['name' => 'featured_on_home', - 'label' => 'Mis en avant sur la page d\'accueil', - 'type' => 'Checkbox', - 'column' => false, - 'default' => 1]); - $this->addField(['name' => 'specifications', 'label' => 'Spécifications', 'type' => 'SelectFromModel', diff --git a/app/Models/Settings.php b/app/Models/Settings.php new file mode 100644 index 0000000..6015d41 --- /dev/null +++ b/app/Models/Settings.php @@ -0,0 +1,14 @@ +addField(['name' => 'title', + 'label' => 'Titre', + 'type' => 'Text']); + + $this->addField(['name' => 'image', + 'label' => 'Image', + 'type' => 'Images']); + $this->addField(['name' => 'page', + 'label' => 'Lien vers', + 'type' => 'SelectFromModel', + 'optionsmodel' => 'App\Models\Page']); + } +} diff --git a/app/SubForms/Logo.php b/app/SubForms/Logo.php new file mode 100644 index 0000000..aa33c9c --- /dev/null +++ b/app/SubForms/Logo.php @@ -0,0 +1,27 @@ +addField(['name' => 'title', + 'label' => 'Nom / Titre', + 'type' => 'Text']); + + $this->addField(['name' => 'url', + 'type' => 'URL', + 'label' => 'Lien vers le site']); + + $this->addField(['name' => 'logo', + 'type' => 'Images', + 'label' => 'logo']); + } +} diff --git a/app/Templates/Base.php b/app/Templates/Base.php index 3389dd9..96a55dd 100644 --- a/app/Templates/Base.php +++ b/app/Templates/Base.php @@ -15,7 +15,7 @@ class Base extends TemplateAbstract 'type' => 'BunchOfFields', 'bunch' => 'App\SubForms\Intro', 'label' => __('Introduction'), - 'tab' => 'Contenus', + 'tab' => 'Intro', ]); } diff --git a/app/Templates/Home.php b/app/Templates/Home.php index 2948732..3626460 100644 --- a/app/Templates/Home.php +++ b/app/Templates/Home.php @@ -19,12 +19,47 @@ class Home extends Base public function init() { parent::init(); + $this->addField([ 'name' => 'slideshow', - 'type' => 'BunchOfFields', + 'type' => 'BunchOfFieldsMultiple', 'bunch' => 'App\SubForms\Slide', 'label' => __('Slideshow'), - 'tab' => 'Contenus', + 'tab' => 'Slideshow', + ]); + + $this->addField([ + 'name' => 'services_support', + 'type' => 'BunchOfFields', + 'bunch' => 'App\SubForms\Intro', + 'label' => __('Bloc « Services & Support »'), + 'tab' => 'Services & Support', ]); + + $this->addField(['name' => 'products_capteurs', + 'type' => 'SelectFromModel', + 'optionsmodel' => 'App\Models\ProductType', + 'label' => 'Capteurs', + 'tab' => 'Produits', + 'multiple' => true]); + + $this->addField(['name' => 'solutions', + 'type'=>'BunchOfFieldsMultiple', + 'bunch'=>'App\SubForms\HomeSolution', + 'label'=>'Solutions', + 'tab' => 'Solutions / Applications']); + + $this->addField(['name' => 'products_systems', + 'type' => 'SelectFromModel', + 'optionsmodel' => 'App\Models\ProductType', + 'label' => 'Systèmes de mesure', + 'tab' => 'Produits', + 'multiple' => true]); + + $this->addField(['name' => 'logos', + 'type' => 'BunchOfFieldsMultiple', + 'bunch' => 'App\SubForms\Logo', + 'label' => 'Logos', + 'tab' => 'Clients']); } } diff --git a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php index 3b12ecb..360625a 100644 --- a/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php +++ b/resources/views/vendor/backpack/base/inc/sidebar_content.blade.php @@ -28,7 +28,7 @@ @endcan @can('backpack_settings') -
  • Settings
  • +
  • Paramètres
  • @endcan @endcan
  • Édition du catalogue de produits
  • @@ -57,10 +57,6 @@ -
  • Backpack administration
  • -
  • Templates
  • -
  • Sub Forms
  • -
  • Models
  • Maintenance
  • Backups
  • Logs
  • diff --git a/routes/backpack/custom.php b/routes/backpack/custom.php index 84591e8..7ec9638 100644 --- a/routes/backpack/custom.php +++ b/routes/backpack/custom.php @@ -4,10 +4,10 @@ Route::group([ 'middleware' => ['web', config('backpack.base.middleware_key', 'admin')], 'namespace' => 'App\Http\Controllers\Admin', ], function () { // custom admin routes - CRUD::resource('catalog_category', 'CategoryCrudController')->with(function () { - Route::match(['post'], 'catalog_category/{id}/media', 'CategoryCrudController@uploadMedia'); - Route::match(['delete'], 'catalog_category/{id}/media/{mediaId}', 'CategoryCrudController@deleteMedia'); - Route::match(['post'], 'catalog_category/{id}/media/reorder', 'CategoryCrudController@reorderMedia'); + CRUD::resource('page', 'PageCrudController')->with(function () { + Route::match(['post'], 'page/{id}/media', 'PageCrudController@uploadMedia'); + Route::match(['delete'], 'page/{id}/media/{mediaId}', 'PageCrudController@deleteMedia'); + Route::match(['post'], 'page/{id}/media/reorder', 'PageCrudController@reorderMedia'); }); CRUD::resource('product', 'ProductCrudController')->with(function () { Route::match(['post'], 'product/{id}/media', 'ProductCrudController@uploadMedia'); @@ -19,6 +19,11 @@ Route::group([ Route::match(['delete'], 'producttype/{id}/media/{mediaId}', 'ProductTypeCrudController@deleteMedia'); Route::match(['post'], 'producttype/{id}/media/reorder', 'ProductTypeCrudController@reorderMedia'); }); + CRUD::resource('settings', 'SettingsCrudController')->with(function () { + Route::match(['post'], 'settings/{id}/media', 'SettingsCrudController@uploadMedia'); + Route::match(['delete'], 'settings/{id}/media/{mediaId}', 'SettingsCrudController@deleteMedia'); + Route::match(['post'], 'settings/{id}/media/reorder', 'SettingsCrudController@reorderMedia'); + }); CRUD::resource('specification', 'SpecificationCrudController')->with(function () { Route::match(['post'], 'specification/{id}/media', 'SpecificationCrudController@uploadMedia'); Route::match(['delete'], 'specification/{id}/media/{mediaId}', 'SpecificationCrudController@deleteMedia'); diff --git a/update b/update index 9a8e97b..31f266c 100644 --- a/update +++ b/update @@ -2,9 +2,9 @@