diff --git a/app/Console/Commands/migrate.php b/app/Console/Commands/migrate.php new file mode 100644 index 00000000..394bfa63 --- /dev/null +++ b/app/Console/Commands/migrate.php @@ -0,0 +1,61 @@ +family; + dump($family_name); + if (!empty($family_name)) { + $family = Family::byName($family_name)->first(); + if (isset($family->name)) + { + dump($family->name); + $genre->family_id = $family->id; + $genre->save(); + } else { + dump("non trouvé"); + } + } else { + dump("Aucune famille"); + } + } + } +} diff --git a/app/Datatables/CustomersDataTable.php b/app/Datatables/CustomersDataTable.php new file mode 100644 index 00000000..b76fd131 --- /dev/null +++ b/app/Datatables/CustomersDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(60) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Datatables/FamiliesDataTable.php b/app/Datatables/FamiliesDataTable.php index 5e2b32fa..50dff135 100644 --- a/app/Datatables/FamiliesDataTable.php +++ b/app/Datatables/FamiliesDataTable.php @@ -2,67 +2,19 @@ namespace App\DataTables; -use Yajra\DataTables\Html\Button; use Yajra\DataTables\Html\Column; -use Yajra\DataTables\Html\Editor\Editor; -use Yajra\DataTables\Html\Editor\Fields; -use Yajra\DataTables\Services\DataTable; - +use App\DataTables\ParentDataTable as DataTable; use App\Models\Shop\Family; class FamiliesDataTable extends DataTable { - /** - * Build DataTable class. - * - * @param mixed $query Results from query() method. - * @return \Yajra\DataTables\DataTableAbstract - */ - public function dataTable($query) - { - return datatables() - ->eloquent($query) - ->addColumn('action', ''); - } + public $model_name = 'Families'; - /** - * Get query source of dataTable. - * - * @param \App\Family $model - * @return \Illuminate\Database\Eloquent\Builder - */ public function query(Family $model) { - return $model->newQuery(); + return self::buildQuery($model); } - /** - * Optional method if you want to use html builder. - * - * @return \Yajra\DataTables\Html\Builder - */ - public function html() - { - return $this->builder() - ->setTableId('families-table') - ->columns($this->getColumns()) - ->minifiedAjax() - ->dom('Bfrtip') - ->orderBy(1) - ->buttons( - Button::make('create'), - Button::make('export'), - Button::make('print'), - Button::make('reset'), - Button::make('reload') - ); - } - - /** - * Get columns. - * - * @return array - */ protected function getColumns() { return [ @@ -72,18 +24,9 @@ class FamiliesDataTable extends DataTable Column::computed('action') ->exportable(false) ->printable(false) - ->width(60) + ->width(120) ->addClass('text-center'), ]; } - /** - * Get filename for export. - * - * @return string - */ - protected function filename() - { - return 'Families_' . date('YmdHis'); - } -} \ No newline at end of file +} diff --git a/app/Datatables/GenresDataTable.php b/app/Datatables/GenresDataTable.php new file mode 100644 index 00000000..cfa81f12 --- /dev/null +++ b/app/Datatables/GenresDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(120) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Datatables/InvoicesDataTable.php b/app/Datatables/InvoicesDataTable.php new file mode 100644 index 00000000..b76fd131 --- /dev/null +++ b/app/Datatables/InvoicesDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(60) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Datatables/OrdersDataTable.php b/app/Datatables/OrdersDataTable.php new file mode 100644 index 00000000..b76fd131 --- /dev/null +++ b/app/Datatables/OrdersDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(60) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Datatables/ParentDataTable.php b/app/Datatables/ParentDataTable.php new file mode 100644 index 00000000..ce72d860 --- /dev/null +++ b/app/Datatables/ParentDataTable.php @@ -0,0 +1,99 @@ +eloquent($query); + return self::addButtons($datatables); + } + + /** + * Add buttons DataTable class. + * + * @param mixed $query Results from query() method. + * @return \Yajra\DataTables\DataTableAbstract + */ + public function addButtons($datatables) + { + $buttons = ''; + $buttons .= ''; + $buttons .= ''; + return $datatables->addColumn('action', $buttons); + } + + /** + * Get query source of dataTable. + * + * @param \App\Family $model + * @return \Illuminate\Database\Eloquent\Builder + */ + public function buildQuery($model) + { + return $model->newQuery(); + } + + + /** + * Optional method if you want to use html builder. + * + * @return \Yajra\DataTables\Html\Builder + */ + public function html() + { + return self::buildHtml(strtolower($this->model_name) . '-table'); + } + + /** + * Optional method if you want to use html builder. + * + * @return \Yajra\DataTables\Html\Builder + */ + public function buildHtml($id) + { + return $this->builder() + ->setTableId($id) + ->columns($this->getColumns()) + ->minifiedAjax() + ->dom('Bfrtip') + ->orderBy(0,'asc') + ->buttons( + Button::make('export'), + Button::make('print') + ); + } + + /** + * Get filename for export. + * + * @return string + */ + protected function filename() + { + return self::buildFilename($this->model_name); + } + + /** + * Get filename for export. + * + * @return string + */ + protected function buildFilename($models_name) + { + return $models_name . '_' . date('YmdHis'); + } +} \ No newline at end of file diff --git a/app/Datatables/ProductsDataTable.php b/app/Datatables/ProductsDataTable.php new file mode 100644 index 00000000..b76fd131 --- /dev/null +++ b/app/Datatables/ProductsDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(60) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Datatables/SpeciesDataTable.php b/app/Datatables/SpeciesDataTable.php new file mode 100644 index 00000000..3114da95 --- /dev/null +++ b/app/Datatables/SpeciesDataTable.php @@ -0,0 +1,33 @@ +exportable(false) + ->printable(false) + ->width(120) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Http/Controllers/Shop/Admin/FamilyController.php b/app/Http/Controllers/Shop/Admin/FamilyController.php index 71a0356f..5c5f2c07 100644 --- a/app/Http/Controllers/Shop/Admin/FamilyController.php +++ b/app/Http/Controllers/Shop/Admin/FamilyController.php @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Shop\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -use App\Repositories\Families; +use App\Repositories\Shop\Families; use App\DataTables\FamiliesDataTable; class FamilyController extends Controller @@ -41,7 +41,7 @@ class FamilyController extends Controller public function edit($id) { - $data = Families::get($id); + $data['family'] = Families::get($id)->toArray(); return view('Shop.Admin.Families.edit', $data); } diff --git a/app/Http/Controllers/Shop/Admin/GenreController.php b/app/Http/Controllers/Shop/Admin/GenreController.php index 900b36ac..1b847582 100644 --- a/app/Http/Controllers/Shop/Admin/GenreController.php +++ b/app/Http/Controllers/Shop/Admin/GenreController.php @@ -5,47 +5,42 @@ namespace App\Http\Controllers\Shop\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -use App\Repositories\Genres; +use App\Repositories\Shop\Genres; +use App\DataTables\GenresDataTable; class GenreController extends Controller { - public function index(Request $request) + public function index(GenresDataTable $dataTable) { - if ($request->ajax()) { - return self::getDatatable($request); - } else { - $data = []; - return view('Admin.Shop.Genres.list', $data); - } + return $dataTable->render('Shop.Admin.Genres.list'); } public function getDatatable(Request $request) { - return Genres::getTables($request->all()); + return Genres::getDataTable($request->all()); } public function create() { - $data = []; - return view('Admin.Shop.Genres.create', $data); + return view('Shop.Admin.Genres.create'); } public function store(Request $request) { $ret = Genres::store($request); - return redirect()->route('Admin.Shop.Genres.index'); + return redirect()->route('Shop.Admin.Genres.index'); } public function show($id) { $data = Genres::get($id); - return view('Admin.Shop.Genres.view', $data); + return view('Shop.Admin.Genres.view', $data); } public function edit($id) { - $data = Genres::get($id); - return view('Admin.Shop.Genres.edit', $data); + $data['genre'] = Genres::get($id); + return view('Shop.Admin.Genres.edit', $data); } public function destroy($id) diff --git a/app/Http/Controllers/Shop/Admin/SpecieController.php b/app/Http/Controllers/Shop/Admin/SpecieController.php index 1ea31642..c70b341c 100644 --- a/app/Http/Controllers/Shop/Admin/SpecieController.php +++ b/app/Http/Controllers/Shop/Admin/SpecieController.php @@ -5,23 +5,14 @@ namespace App\Http\Controllers\Shop\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -use App\Repositories\Species; +use App\Repositories\Shop\Species; +use App\DataTables\SpeciesDataTable; class SpecieController extends Controller { - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index(Request $request) + public function index(SpeciesDataTable $dataTable) { - if ($request->ajax()) { - return self::getDatatable($request); - } else { - $data = []; - return view('Shop.Admin.Species.list', $data); - } + return $dataTable->render('Shop.Admin.Species.list'); } public function getDatatable(Request $request) @@ -29,73 +20,32 @@ class SpecieController extends Controller return Species::getDatatable($request->all()); } - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ public function create() { - $data = []; - return view('Shop.Admin.Species.create', $data); + return view('Shop.Admin.Species.create'); } - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ public function store(Request $request) { $ret = Species::store($request); return redirect()->route('Shop.Admin.Species.index'); } - /** - * Display the specified resource. - * - * @param \App\Customer $customer - * @return \Illuminate\Http\Response - */ public function show($id) { $data = Species::get($id); return view('Shop.Admin.Species.view', $data); } - /** - * Show the form for editing the specified resource. - * - * @param \App\Customer $customer - * @return \Illuminate\Http\Response - */ public function edit($id) { - $data = Species::get($id); + $data['specie'] = Species::get($id); return view('Shop.Admin.Species.edit', $data); } - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \App\Customer $customer - * @return \Illuminate\Http\Response - */ - public function update(Request $request) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param \App\Customer $customer - * @return \Illuminate\Http\Response - */ public function destroy($id) { return Species::destroy($id); } + } diff --git a/app/Models/Shop/Family.php b/app/Models/Shop/Family.php index 551c7297..2f3c46c7 100644 --- a/app/Models/Shop/Family.php +++ b/app/Models/Shop/Family.php @@ -13,4 +13,10 @@ class Family extends Model { return $this->hasMany('App\Models\Shop\Genre'); } + + public function scopeByName($query,$name) + { + return $query->where('name', $name); + } + } \ No newline at end of file diff --git a/app/Models/Shop/Genre.php b/app/Models/Shop/Genre.php index 1b379252..65d8685e 100644 --- a/app/Models/Shop/Genre.php +++ b/app/Models/Shop/Genre.php @@ -4,7 +4,7 @@ namespace App\Models\Shop; use Illuminate\Database\Eloquent\Model; -class Genres extends Model +class Genre extends Model { protected $guarded = ['id']; protected $table = 'shop_product_genres'; @@ -14,4 +14,9 @@ class Genres extends Model return $this->belongsTo('App\Models\Shop\Family'); } + public function scopeByName($query,$name) + { + return $query->where('name', $name); + } + } \ No newline at end of file diff --git a/app/Models/Shop/Specie.php b/app/Models/Shop/Specie.php index 083a0071..99127526 100644 --- a/app/Models/Shop/Specie.php +++ b/app/Models/Shop/Specie.php @@ -4,7 +4,7 @@ namespace App\Models\Shop; use Illuminate\Database\Eloquent\Model; -class Species extends Model +class Specie extends Model { protected $guarded = ['id']; protected $table = 'shop_product_species'; diff --git a/app/Repositories/Families.php b/app/Repositories/Shop/Families.php similarity index 100% rename from app/Repositories/Families.php rename to app/Repositories/Shop/Families.php diff --git a/app/Repositories/Genres.php b/app/Repositories/Shop/Genres.php similarity index 100% rename from app/Repositories/Genres.php rename to app/Repositories/Shop/Genres.php diff --git a/app/Repositories/Species.php b/app/Repositories/Shop/Species.php similarity index 100% rename from app/Repositories/Species.php rename to app/Repositories/Shop/Species.php diff --git a/config/boilerplate/themes/default.php b/config/boilerplate/themes/default.php index 51a6e93b..76e006a3 100644 --- a/config/boilerplate/themes/default.php +++ b/config/boilerplate/themes/default.php @@ -28,7 +28,7 @@ return [ 'bg' => 'gray-dark', 'logo' => [ 'bg' => 'green', - 'icon' => '', + 'icon' => '', 'text' => 'OpenSem', 'shadow' => 2, ], @@ -39,7 +39,7 @@ return [ ], ], 'footer' => [ - 'visible' => true, + 'visible' => false, 'vendorname' => 'OpenSem', 'vendorlink' => '', ], diff --git a/package.json b/package.json index 7870a8b8..d104c7a1 100644 --- a/package.json +++ b/package.json @@ -51,9 +51,9 @@ "chart.js": "^2.8.0", "datatables": "^1.10.18", "datatables.net": "^1.10.19", - "datatables.net-bs4": "^1.10.19", + "datatables.net-bs4": "^1.10.20", "datatables.net-buttons": "^1.5.6", - "datatables.net-buttons-bs4": "^1.5.6", + "datatables.net-buttons-bs4": "^1.6.1", "datatables.net-colreorder": "^1.5.1", "datatables.net-colreorder-bs4": "^1.5.1", "datatables.net-fixedcolumns": "^3.2.6", @@ -79,23 +79,24 @@ "handlebars-layouts": "^3.1.4", "icheck": "^1.0.2", "iconate": "*", + "imports-loader": "^0.8.0", "input-switch": "^1.1.0", "inputmask": "^4.0.8", "isotope-layout": "^3.0.6", "izimodal": "^1.5.1", + "jQuery-QueryBuilder": "^2.5.2", "jquery-confirm": "^3.3.4", "jquery-form": "^4.2.2", "jquery-jeditable": "^2.0.13", "jquery-json": "^2.6.0", - "jQuery-QueryBuilder": "^2.5.2", "jquery-migrate": "^3.1.0", "jquery-placeholder": "^2.3.1", - "jquery.are-you-sure": "^1.9.0", "jquery-serializejson": "^2.9.0", "jquery-slidePanel": "^0.3.5", "jquery-slimscroll": "^1.3.8", "jquery-ui": "^1.12.1", "jquery-validation": "^1.19.0", + "jquery.are-you-sure": "^1.9.0", "jquery.cookie": "^1.4.1", "jquery.documentsize": "^1.2.5", "jquery.filer": "^1.3.0", @@ -116,8 +117,8 @@ "promise-polyfill": "^8.1.3", "pwstrength-bootstrap": "^3.0.3", "raphael": "^2.2.8", - "selectize": "^0.12.6", "screenfull": "^4.2.0", + "selectize": "^0.12.6", "slidebars": "^2.0.2", "summernote": "^0.8.12", "swag": "^0.7.0", diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js index 50ffdae5..11c378ce 100644 --- a/resources/js/bootstrap.js +++ b/resources/js/bootstrap.js @@ -31,7 +31,7 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; try { window.$ = window.jQuery = require('jquery'); - require('datatables.net'); + require('bootstrap'); require('datatables.net-bs4'); require('datatables.net-buttons-bs4'); } catch (e) {} diff --git a/resources/lang/fr/shop.php b/resources/lang/fr/shop.php index 4b8963b9..dd18718a 100644 --- a/resources/lang/fr/shop.php +++ b/resources/lang/fr/shop.php @@ -21,6 +21,42 @@ return [ 'successdel' => 'La catégorie a été correctement effacée', 'confirmdelete' => 'Confirmez-vous la suppression de la catégorie ?', ], + 'families' => [ + 'title' => 'Familles', + 'description' => 'Gérer les familles', + 'list' => 'Liste des familles', + 'add' => 'Ajouter une famille', + 'edit' => 'Editer une famille', + 'del' => 'Effacer une famille', + 'successadd' => 'La famille a été correctement ajoutée', + 'successmod' => 'La famille a été correctement modifiée', + 'successdel' => 'La famille a été correctement effacée', + 'confirmdelete' => 'Confirmez-vous la suppression de la famille ?', + ], + 'species' => [ + 'title' => 'Espèces', + 'description' => 'Gérer les espèce', + 'list' => 'Liste des espèces', + 'add' => 'Ajouter une espèce', + 'edit' => 'Editer une espèce', + 'del' => 'Effacer une espèce', + 'successadd' => 'L\'espèce a été correctement ajoutée', + 'successmod' => 'L\'espèce a été correctement modifiée', + 'successdel' => 'L\'espèce a été correctement effacée', + 'confirmdelete' => 'Confirmez-vous la suppression de l\'espèce ?', + ], + 'genres' => [ + 'title' => 'Genres', + 'description' => 'Gérer les genres', + 'list' => 'Liste des genres', + 'add' => 'Ajouter un genre', + 'edit' => 'Editer un genre', + 'del' => 'Effacer un genre', + 'successadd' => 'Le genre a été correctement ajoutée', + 'successmod' => 'Le genre a été correctement modifiée', + 'successdel' => 'Le genre a été correctement effacée', + 'confirmdelete' => 'Confirmez-vous la suppression du genre ?', + ], 'products' => [ 'title' => 'Gestion des produits', 'description' => 'Gérer les produits', diff --git a/resources/views/layout/header.blade.php b/resources/views/layout/header.blade.php index 6508f216..e7a0d506 100644 --- a/resources/views/layout/header.blade.php +++ b/resources/views/layout/header.blade.php @@ -1,4 +1,3 @@ -TEST