Add new version in repository

This commit is contained in:
Ludovic CANDELLIER
2021-07-25 23:19:27 +02:00
parent f75632b054
commit b879f11c99
608 changed files with 12235 additions and 7513 deletions

View File

@@ -1,121 +1,139 @@
var jsBase = [ var jsBase = [
'node_modules/jquery/dist/jquery.min.js', 'node_modules/jquery/dist/jquery.min.js',
'node_modules/jquery-migrate/jquery-migrate.min.js', 'node_modules/jquery-migrate/dist/jquery-migrate.min.js',
'node_modules/jquery-ui-dist/jquery-ui.min.js'
]
var jsBootstrap = [
'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js', 'node_modules/bootstrap/dist/js/bootstrap.bundle.min.js',
'node_modules/bootbox/dist/bootbox.all.min.js',
] ]
var cssBase = [ var jsCompat = [
'node_modules/bootstrap/dist/css/bootstrap.min.css',
]
var cssIcons = [
'node_modules/font-awesome/css/font-awesome.css',
]
var jsCompatibilty = [
'node_modules/promise-polyfill/dist/polyfill.min.js', 'node_modules/promise-polyfill/dist/polyfill.min.js',
'node_modules/es6-promise/dist/es6-promise.min.js' 'node_modules/es6-promise/dist/es6-promise.min.js',
]
var jsAdminLTE = [
jsBase,
jsBootstrap,
'node_modules/sizzle/dist/sizzle.min.js',
'node_modules/admin-lte/dist/js/adminlte.min.js',
'node_modules/toastr/build/toastr.min.js',
] ]
var jsCoreInclude = [ var jsCoreInclude = [
'build/js/include/core/appender.js', // 'build/js/include/core/appender.js',
// 'build/js/include/core/cache.js', // 'build/js/include/core/cache.js',
// 'build/js/include/core/handlebars.js', // 'build/js/include/core/handlebars.js',
// 'build/js/include/core/lang.js', // 'build/js/include/core/lang.js',
'build/js/include/core/objectLength.js', 'build/js/include/core/objectLength.js',
// 'build/js/include/core/session.js', // 'build/js/include/core/session.js',
'build/js/include/core/url.js', 'build/js/include/core/url.js',
// 'build/js/include/core/user.js', 'build/js/include/core/user.js',
// 'build/js/include/form/check_fields.js', // 'build/js/include/form/check_fields.js',
// 'build/js/include/form/checkbox.js', // 'build/js/include/form/checkbox.js',
// 'build/js/include/form/datetime.js', // 'build/js/include/form/datetime.js',
// 'build/js/include/form/multi-select.js', // 'build/js/include/form/multi-select.js',
// 'build/js/include/form/radio.js', 'build/js/include/form/radio.js',
// 'build/js/include/form/select.js', // 'build/js/include/form/select.js',
'build/js/include/form/upload.js', 'build/js/include/form/upload.js',
// 'build/js/include/form/validator.js', 'build/js/include/form/validator.js',
'build/js/include/layout/animate.js', 'build/js/include/layout/animate.js',
// 'build/js/include/layout/message.js', 'build/js/include/layout/message.js',
// 'build/js/include/layout/modal.js', // 'build/js/include/layout/modal.js',
'build/js/include/layout/scroll.js', 'build/js/include/layout/scroll.js',
// 'build/js/include/layout/tooltip.js', 'build/js/include/layout/tooltip.js',
// 'build/js/include/datatable.js', // 'build/js/include/datatable.js',
'build/js/include/file.js', 'build/js/include/file.js',
'build/js/include/uploader.js', 'build/js/include/uploader.js',
] ]
var jsMain = [ var jsBundle = [
// 'node_modules/sweetalert2/dist/sweetalert2.all.min.js', 'node_modules/jquery-ui-sortable/jquery-ui.min.js',
// 'node_modules/inputmask/dist/min/jquery.inputmask.bundle.min.js',
/* 'node_modules/summernote/dist/summernote.min.js',
'node_modules/summernote/dist/lang/summernote-fr-FR.min.js',
*/
// 'node_modules/@activix/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js',
// 'node_modules/@activix/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js',
'node_modules/bootstrap-fileinput/js/plugins/piexif.min.js',
'node_modules/bootstrap-fileinput/js/plugins/sortable.min.js',
// 'node_modules/bootstrap-slider/dist/bootstrap-slider.min.js',
// 'node_modules/bootstrap-validate/dist/bootstrap-validate.js',
// 'node_modules/jQuery-QueryBuilder/dist/js/jquery-builder.standalone.min.js',
/* 'node_modules/jQuery-QueryBuilder/dist/i18n/query-builder.fr.js', */
/* 'node_modules/isotope-layout/dist/isotope.pkgd.min.js', */
'node_modules/jquery-serializejson/jquery.serializejson.min.js', 'node_modules/jquery-serializejson/jquery.serializejson.min.js',
'node_modules/bootstrap4-toggle/js/bootstrap4-toggle.min.js', // 'node_modules/moment/min/moment.min.js',
'node_modules/wew.js/dist/wew.min.js', 'node_modules/jquery-placeholder/jquery.placeholder.js',
'node_modules/jquery.are-you-sure/jquery.are-you-sure.js', // 'node_modules/daterangepicker/daterangepicker.js',
/* 'node_modules/letteringjs/jquery.lettering.js', */ // 'node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js',
/* 'node_modules/textillate/jquery.textillate.js', */ // 'node_modules/bootstrap4-toggle/js/bootstrap4-toggle.min.js',
'node_modules/jqtree/tree.jquery.js', 'node_modules/@claviska/jquery-minicolors/jquery.minicolors.js',
'node_modules/numeral/min/numeral.min.js', 'node_modules/bootstrap-validate/dist/bootstrap-validate.js',
'node_modules/numeral/min/locales/fr.min.js', 'node_modules/bootstrap-validator/dist/validator.min.js',
'build/js/include/plugins/jquery.hcaptions.js', 'node_modules/jquery-validation/dist/jquery.validate.min.js',
jsCoreInclude 'node_modules/jquery-confirm/dist/jquery-confirm.min.js',
// 'build/js/include/confirm.js', 'node_modules/jquery.cookie/jquery.cookie.js',
'node_modules/jquery.filer/js/jquery.filer.min.js',
'node_modules/jquery-file-download/src/Scripts/jquery.fileDownload.js',
'node_modules/jquery-jeditable/dist/jquery.jeditable.min.js',
'node_modules/jquery.quicksearch/dist/jquery.quicksearch.min.js',
'node_modules/jquery.nicescroll/dist/jquery.nicescroll.js',
'node_modules/jquery-slimscroll/jquery.slimscroll.min.js',
// 'node_modules/superclick/dist/js/superclick.min.js',
// 'node_modules/dropzone/dist/min/dropzone.min.js',
'node_modules/handlebars/dist/handlebars.min.js',
'node_modules/swag/lib/swag.min.js',
'node_modules/multiselect/js/jquery.multi-select.js',
'node_modules/screenfull/dist/screenfull.js',
'node_modules/underscore/underscore-min.js',
// 'Admin/js/themes/admin/layout.js',
// 'node_modules/wew.js/dist/wew.min.js'
]
var jsMain = [
jsCompat,
jsCoreInclude,
jsBundle,
]
var cssPrint = [
// 'node_modules/bootstrap/dist/css/bootstrap.min.css',
'node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css',
'build/print.css'
]
var cssBundle = [
'node_modules/bootstrap/dist/css/bootstrap.min.css',
'node_modules/animate.css/animate.min.css',
'node_modules/dropzone/dist/min/dropzone.min.css',
'node_modules/daterangepicker/daterangepicker.css',
'node_modules/jquery-confirm/dist/jquery-confirm.min.css',
'node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css',
'node_modules/bootstrap-sweetalert/dist/sweetalert.css',
'node_modules/bootstrap4-toggle/css/bootstrap4-toggle.min.css',
'node_modules/@claviska/jquery-minicolors/jquery.minicolors.css',
'node_modules/jquery.filer/css/jquery.filer.css',
'node_modules/jquery.filer/css/themes/jquery.filer-dragdropbox-theme.css',
'node_modules/jquery.filer/assets/fonts/jquery.filer-icons/jquery-filer.css',
]
var cssIcons = [
'node_modules/@fortawesome/fontawesome-free/css/fontawesome.min.css',
] ]
var cssMain = [ var cssMain = [
// 'node_modules/sweetalert2/dist/sweetalert2.min.css', cssBundle,
// 'node_modules/inputmask/css/inputmask.css',
// 'node_modules/summernote/dist/summernote.css',
// 'node_modules/@activix/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css',
// 'node_modules/bootstrap-slider/dist/css/bootstrap-slider.min.css',
// 'node_modules/jQuery-QueryBuilder/dist/css/query-builder.default.min.css',
'node_modules/animate.css/animate.min.css',
'node_modules/bootstrap4-toggle/css/bootstrap4-toggle.min.css',
'node_modules/jqtree/jqtree.css',
// 'build/css/modal-option.css',
'build/css/shadow.css',
// 'build/css/utility.css',
'build/css/main.css'
]
var jsSite = [
jsBase
]
var cssSite = [
cssBase,
cssIcons, cssIcons,
'node_modules/animate.css/animate.min.css', 'build/css/main.css',
'build/css/shadow.css',
'build/css/site.css'
] ]
var jsDataTables = [ var jsDataTables = [
// 'build/Suite/js/datatables.js',
'node_modules/jszip/dist/jszip.min.js', 'node_modules/jszip/dist/jszip.min.js',
'node_modules/pdfmake/build/pdfmake.min.js', 'node_modules/pdfmake/build/pdfmake.min.js',
'node_modules/pdfmake/build/vfs_fonts.js', 'node_modules/pdfmake/build/vfs_fonts.js',
'node_modules/datatables/media/js/jquery.dataTables.min.js', 'node_modules/datatables.net/js/jquery.dataTables.min.js',
'node_modules/datatables.net-bs4/js/dataTables.bootstrap4.min.js', 'node_modules/datatables.net-bs4/js/dataTables.bootstrap4.min.js',
'node_modules/datatables.net-autofill/js/autoFill.min.js', 'node_modules/datatables.net-autofill/js/dataTables.autoFill.min.js',
'node_modules/datatables.net-autofill/js/autoFill.bootstrap.min.js', 'node_modules/datatables.net-autofill-bs4/js/autoFill.bootstrap4.min.js',
'node_modules/datatables.net-buttons/js/dataTables.buttons.min.js', 'node_modules/datatables.net-buttons/js/dataTables.buttons.min.js',
'node_modules/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js', 'node_modules/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js',
'node_modules/datatables.net-buttons/js/buttons.html5.min.js', 'node_modules/datatables.net-buttons/js/buttons.html5.min.js',
'node_modules/datatables.net-buttons/js/buttons.print.min.js', 'node_modules/datatables.net-buttons/js/buttons.print.min.js',
'node_modules/datatables.net-buttons/js/buttons.colVis.min.js', 'node_modules/datatables.net-buttons/js/buttons.colVis.min.js',
'node_modules/datatables.net-colreorder/js/dataTables.colReorder.min.js', 'node_modules/datatables.net-colreorder/js/dataTables.colReorder.min.js',
'node_modules/datatables.net-colreorder-bs4/js/dataTables.colReorder-bs4.min.js', 'node_modules/datatables.net-colreorder-bs4/js/colReorder.bootstrap4.min.js',
'node_modules/datatables.net-fixedheader/js/dataTables.fixedHeader.min.js', 'node_modules/datatables.net-fixedheader/js/dataTables.fixedHeader.min.js',
'node_modules/datatables.net-fixedheader-bs4/js/fixedHeader.bootstrap4.min.js', 'node_modules/datatables.net-fixedheader-bs4/js/fixedHeader.bootstrap4.min.js',
'node_modules/datatables.net-fixedcolumns/js/dataTables.fixedColumns.min.js', 'node_modules/datatables.net-fixedcolumns/js/dataTables.fixedColumns.min.js',
@@ -124,21 +142,18 @@ var jsDataTables = [
'node_modules/datatables.net-keytable-bs4/js/keyTable.bootstrap4.min.js', 'node_modules/datatables.net-keytable-bs4/js/keyTable.bootstrap4.min.js',
'node_modules/datatables.net-responsive/js/dataTables.responsive.min.js', 'node_modules/datatables.net-responsive/js/dataTables.responsive.min.js',
'node_modules/datatables.net-rowreorder/js/dataTables.rowReorder.min.js', 'node_modules/datatables.net-rowreorder/js/dataTables.rowReorder.min.js',
'node_modules/datatables.net-rowreorder-bs4/js/dataTables.rowReorder.botstrap4.min.js', 'node_modules/datatables.net-rowreorder-bs4/js/rowReorder.bootstrap4.min.js',
'node_modules/datatables.net-scroller/js/dataTables.scroller.min.js', 'node_modules/datatables.net-scroller/js/dataTables.scroller.min.js',
'node_modules/datatables.net-scroller-bs4/js/scroller.bootstrap4.min.js', 'node_modules/datatables.net-scroller-bs4/js/scroller.bootstrap4.min.js',
'node_modules/datatables.net-select/js/dataTables.select.min.js', 'node_modules/datatables.net-select/js/dataTables.select.min.js',
'node_modules/datatables.net-select-bs4/js/select.bootstrap4.min.js', 'node_modules/datatables.net-select-bs4/js/select.bootstrap4.min.js',
'node_modules/yadcf/jquery.dataTables.yadcf.js', /* 'node_modules/yadcf/jquery.dataTables.yadcf.js', */
'build/js/modal.js',
'build/js/datatables.js',
]; ];
var cssDataTables = [ var cssDataTables = [
// 'node_modules/datatables/media/css/jquery.dataTables.min.css',
'node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css', 'node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css',
'node_modules/datatables.net-autofill-bs4/css/autoFill.bootstrap4.min.css',
'node_modules/dataTables.net-buttons-bs4/css/buttons.bootstrap4.min.css', 'node_modules/dataTables.net-buttons-bs4/css/buttons.bootstrap4.min.css',
'node_modules/datatables.net-autofill/css/autoFill.bootstrap.min.css',
'node_modules/datatables.net-colreorder-bs4/css/colReorder.bootstrap4.min.css', 'node_modules/datatables.net-colreorder-bs4/css/colReorder.bootstrap4.min.css',
'node_modules/datatables.net-fixedheader-bs4/css/fixedHeader.bootstrap4.min.css', 'node_modules/datatables.net-fixedheader-bs4/css/fixedHeader.bootstrap4.min.css',
'node_modules/datatables.net-fixedcolumns-bs4/css/fixedColumns.bootstrap4.min.css', 'node_modules/datatables.net-fixedcolumns-bs4/css/fixedColumns.bootstrap4.min.css',
@@ -146,18 +161,9 @@ var cssDataTables = [
'node_modules/datatables.net-rowreorder-bs4/css/rowReorder.bootstrap4.min.css', 'node_modules/datatables.net-rowreorder-bs4/css/rowReorder.bootstrap4.min.css',
'node_modules/datatables.net-scroller-bs4/css/scroller.bootstrap4.min.css', 'node_modules/datatables.net-scroller-bs4/css/scroller.bootstrap4.min.css',
'node_modules/datatables.net-select-bs4/css/select.bootstrap4.min.css', 'node_modules/datatables.net-select-bs4/css/select.bootstrap4.min.css',
'node_modules/yadcf/jquery.dataTables.yadcf.css', /* 'node_modules/yadcf/jquery.dataTables.yadcf.css', */
'build/dataTables.bootstrap.min.css',
]; ];
var jsCalendar = [
'node_modules/fullcalendar/dist/fullcalendar.min.js',
'node_modules/fullcalendar/dist/locale/fr.js'
]
var cssCalendar = [
'node_modules/fullcalendar/dist/fullcalendar.min.css',
]
module.exports = function(grunt) { module.exports = function(grunt) {
@@ -171,28 +177,19 @@ module.exports = function(grunt) {
build: { build: {
files: [ files: [
{ {
'public/js/main.min.js': jsMain, 'public/assets/js/main.min.js': jsMain,
'public/js/site.js': jsSite, 'public/assets/css/main.min.css': cssMain,
'public/js/datatables.min.js': jsDataTables, 'public/assets/plugins/datatables.min.js': jsDataTables,
'public/js/calendar.min.js': jsCalendar 'public/assets/plugins/adminlte/adminlte.min.js': jsAdminLTE
},
{
expand: true,
cwd: 'build/js/modules',
src: '**/*.js',
dest: 'public/js',
rename: function (dest, src) {
return dest + '/' + src.replace('.js', '.min.js');
}
}, },
] ]
}, },
}, },
eslint: { eslint: {
target: ['build/js/*'] target: ['public/assets/js/*']
}, },
webstandards: { webstandards: {
'src': ['build/js/*'] 'src': ['public/assets/js/*']
}, },
concat: { concat: {
options: { options: {
@@ -200,36 +197,28 @@ module.exports = function(grunt) {
}, },
mainjs: { mainjs: {
src: jsMain, src: jsMain,
dest: 'public/js/main.min.js' dest: 'public/assets/js/main.min.js'
}, },
maincss: { maincss: {
src: cssMain, src: cssMain,
dest: 'public/css/main.min.css' dest: 'public/assets/css/main.min.css'
}, },
sitejs: { printcss: {
src: jsSite, src: cssPrint,
dest: 'public/js/site.min.js' dest: 'public/assets/css/print.min.css'
}, },
sitecss: { adminltejs: {
src: cssSite, src: jsAdminLTE,
dest: 'public/css/site.min.css' dest: 'public/assets/plugins/adminlte/adminlte.min.js'
}, },
datatablesjs: { datatablesjs: {
src: jsDataTables, src: jsDataTables,
dest: 'public/js/datatables.min.js' dest: 'public/assets/plugins/datatables.min.js'
}, },
datatablescss: { datatablescss: {
src: cssDataTables, src: cssDataTables,
dest: 'public/css/datatables.min.css' dest: 'public/assets/plugins/datatables.min.css'
}, },
calendarjs: {
src: jsCalendar,
dest: 'public/js/calendar.min.js'
},
calendarcss: {
src: cssCalendar,
dest: 'public/css/calendar.min.css'
}
}, },
cssmin: { cssmin: {
options: { options: {
@@ -239,7 +228,10 @@ module.exports = function(grunt) {
target: { target: {
files: [ files: [
{ {
'public/css/main.min.css': cssMain 'public/assets/css/main.min.css': cssMain
},
{
'public/assets/css/print.min.css': cssPrint
}, },
] ]
} }
@@ -249,33 +241,81 @@ module.exports = function(grunt) {
files: [ files: [
{ {
expand: true, expand: true,
cwd: 'node_modules/bootstrap/dist/fonts/', cwd: 'node_modules/@fortawesome/fontawesome-free/webfonts/',
src: ['**'], src: ['**'],
dest: 'public/fonts/' dest: 'public/assets/fonts/'
}, },
{ {
expand: true, expand: true,
cwd: 'node_modules/font-awesome/fonts/', cwd: 'build/fonts',
src: ['**'], src: ['**'],
dest: 'public/fonts/' dest: 'public/assets/fonts/'
}, },
{ {
expand: true, expand: true,
cwd: 'node_modules/summernote/dist/font/', cwd: 'build/img',
src: ['**'], src: ['**'],
dest: 'public/css/font/' dest: 'public/assets/img/'
}, },
{ {
expand: true, expand: true,
cwd: 'node_modules/datatables/media/images/', cwd: 'build/lang',
src: ['**'], src: ['**'],
dest: 'public/images/' dest: 'public/assets/lang/'
}, },
{ {
expand: true, expand: true,
cwd: 'node_modules/bootstrap4-toggle/', cwd: 'build/plugins',
src: ['**'], src: ['**'],
dest: 'public/assets/plugins/bootstrap4-toggle', dest: 'public/assets/plugins/'
},
{
expand: true,
cwd: 'build/assets/tpl',
src: ['**'],
dest: 'public/assets/tpl/'
},
{
expand: true,
cwd: 'node_modules/owp.glyphicons/',
src: ['**'],
dest: 'public/assets/fonts/glyphicons'
},
{
expand: true,
cwd: 'node_modules/summernote/dist/',
src: ['**'],
dest: 'public/assets/plugins/summernote'
},
{
expand: true,
cwd: 'node_modules/jquery.filer/assets/fonts/jquery.filer-icons/',
src: ['**'],
dest: 'public/assets/assets/fonts/jquery.filer-icons/'
},
{
expand: true,
cwd: 'node_modules/icheck/skins/square/',
src: ['blue.png'],
dest: 'public/assets/apps/Admin/css/'
},
{
expand: true,
cwd: 'node_modules/icheck/skins/square/',
src: ['blue@2x.png'],
dest: 'public/assets/apps/Admin/css/'
},
{
expand: true,
cwd: 'node_modules/@claviska/jquery-minicolors/',
src: ['jquery.minicolors.png'],
dest: 'public/assets/css/'
},
{
expand: true,
cwd: 'node_modules/@claviska/jquery-minicolors/',
src: ['jquery.minicolors.*'],
dest: 'public/assets/plugins/jquery-minicolors',
}, },
{ {
expand: true, expand: true,
@@ -285,9 +325,219 @@ module.exports = function(grunt) {
}, },
{ {
expand: true, expand: true,
cwd: 'build/img/', cwd: 'node_modules/jquery.quicksearch/dist/',
src: ['jquery.quicksearch.min.js.map'],
dest: 'public/assets/js/'
},
{
expand: true,
cwd: 'node_modules/jquery.quicksearch/dist/',
src: ['**/*.map'],
dest: 'public/js'
},
{
expand: true,
cwd: 'node_modules/pdfmake/build/',
src: ['pdfmake.min.js.map'],
dest: 'public/assets/plugins/'
},
{
expand: true,
cwd: 'build/Suite/js/widgets/daterangepicker/Lang',
src: ['**'], src: ['**'],
dest: 'public/img/' dest: 'public/assets/plugins/daterangepicker',
},
{
expand: true,
cwd: 'node_modules/chart.js/dist/',
src: ['**'],
dest: 'public/assets/plugins/chartjs'
},
{
expand: true,
cwd: 'node_modules/highcharts/',
src: ['**'],
dest: 'public/assets/plugins/highcharts'
},
{
expand: true,
cwd: 'node_modules/@highcharts/map-collection/',
src: ['**'],
dest: 'public/assets/plugins/highcharts/map',
},
{
expand: true,
cwd: 'node_modules/nestable2/dist/',
src: ['**'],
dest: 'public/assets/plugins/nestable2'
},
{
expand: true,
cwd: 'node_modules/jquery.fancytree/dist/',
src: ['**'],
dest: 'public/assets/plugins/fancytree'
},
{
expand: true,
cwd: 'node_modules/bootstrap-autocomplete/dist/latest/',
src: ['bootstrap-autocomplete.min.js'],
dest: 'public/assets/plugins/autocomplete'
},
{
expand: true,
cwd: 'node_modules/slick-carousel/slick/',
src: ['**'],
dest: 'public/assets/plugins/slick',
},
{
expand: true,
cwd: 'node_modules/jquery-slimscroll/',
src: ['jquery.slimscroll.min.js'],
dest: 'public/assets/plugins',
},
{
expand: true,
cwd: 'node_modules/jquery.nicescroll/dist/',
src: ['jquery.nicescroll.min.js'],
dest: 'public/assets/plugins',
},
{
expand: true,
cwd: 'node_modules/bootstrap4-toggle/',
src: ['**'],
dest: 'public/assets/plugins/bootstrap4-toggle',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/css/',
src: ['**/*.min.css'],
dest: 'public/assets/plugins/bootstrap-fileinput/css',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/js/',
src: ['**'],
dest: 'public/assets/plugins/bootstrap-fileinput/js',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/img/',
src: ['**'],
dest: 'public/assets/plugins/bootstrap-fileinput/img',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/themes/fa/',
src: ['**'],
dest: 'public/assets/plugins/bootstrap-fileinput/themes/fa',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/themes/fas/',
src: ['**'],
dest: 'public/assets/plugins/bootstrap-fileinput/themes/fas',
},
{
expand: true,
cwd: 'node_modules/pdfobject/',
src: ['**'],
dest: 'public/assets/plugins/pdfobject',
},
{
expand: true,
cwd: 'build/plugins/pdfjs/',
src: ['**'],
dest: 'public/assets/plugins/pdfjs',
},
{
expand: true,
cwd: 'node_modules/bootstrap4-duallistbox/dist/',
src: ['*.min.*'],
dest: 'public/assets/plugins/bootstrap4-duallistbox',
},
{
expand: true,
cwd: 'node_modules/select2/dist/',
src: ['**'],
dest: 'public/assets/plugins/select2',
},
{
expand: true,
cwd: 'node_modules/tempusdominus-bootstrap-4/build/',
src: ['**'],
dest: 'public/assets/plugins/datepicker',
},
{
expand: true,
cwd: 'node_modules/moment/min/',
src: ['**'],
dest: 'public/assets/plugins/moment',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/js/',
src: ['**'],
dest: 'public/assets/plugins/fileinput',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/css/',
src: ['**'],
dest: 'public/assets/plugins/fileinput',
},
{
expand: true,
cwd: 'node_modules/bootstrap-fileinput/themes/',
src: ['**'],
dest: 'public/assets/plugins/fileinput',
},
{
expand: true,
cwd: 'node_modules/tinymce/',
src: ['**'],
dest: 'public/assets/plugins/tinymce',
},
{
expand: true,
cwd: 'build/js/include/plugins/datatables_lang/',
src: ['*.json'],
dest: 'public/assets/plugins/datatables_lang',
},
{
expand: true,
cwd: 'vendor/sebastienheyd/boilerplate/src/public/plugins/tinymce/plugins/',
src: ['**'],
dest: 'public/assets/plugins/tinymce/plugins',
},
{
expand: true,
cwd: 'vendor/sebastienheyd/boilerplate/src/resources/assets/js/vendor/tinymce/plugins/stickytoolbar/',
src: ['**'],
dest: 'public/assets/plugins/tinymce/plugins/stickytoolbar',
},
{
expand: true,
cwd: 'vendor/sebastienheyd/boilerplate/src/resources/assets/js/vendor/tinymce/langs/',
src: ['**'],
dest: 'public/assets/plugins/tinymce/langs',
},
{
expand: true,
cwd: 'vendor/sebastienheyd/boilerplate/src/resources/assets/js/vendor/tinymce/skins/',
src: ['**'],
dest: 'public/assets/plugins/tinymce/skins/ui',
},
{
expand: true,
cwd: 'vendor/sebastienheyd/boilerplate/src/public/plugins/tinymce/skins/ui/boilerplate/',
src: ['**'],
dest: 'public/assets/plugins/tinymce/skins/ui/boilerplate',
},
{
expand: true,
cwd: 'build/js/include/',
src: ['boilerplate.js'],
dest: 'public/assets/plugins',
}, },
], ],
} }
@@ -295,11 +545,21 @@ module.exports = function(grunt) {
watch: { watch: {
dist: { dist: {
files: [ files: [
'build/*', 'Admin/*',
], ],
tasks: ['concat', 'copy'] tasks: ['concat', 'copy']
} }
}, },
handlebars: {
compile: {
options: {
namespace: "JST"
},
files: {
"assets/tpl/content.hbs": "public/assets/tpl/content.hbs"
}
}
}
}); });
// Load the plugin that provides the "uglify" task. // Load the plugin that provides the "uglify" task.

View File

@@ -37,6 +37,6 @@ class Kernel extends ConsoleKernel
{ {
$this->load(__DIR__.'/Commands'); $this->load(__DIR__.'/Commands');
require base_path('routes/console.php'); include base_path('routes/console.php');
} }
} }

View File

@@ -28,5 +28,4 @@ class FamiliesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -19,11 +19,12 @@ class GenresDataTable extends DataTable
public function modifier($datatables) public function modifier($datatables)
{ {
$datatables $datatables
->editColumn('family_name', function(Genre $genre) { ->editColumn(
'family_name', function (Genre $genre) {
return $genre->family ? $genre->family->name : ''; return $genre->family ? $genre->family->name : '';
}) }
->rawColumns(['genre_name', 'action']) )
; ->rawColumns(['genre_name', 'action']);
return Parent::modifier($datatables); return Parent::modifier($datatables);
} }
@@ -39,5 +40,4 @@ class GenresDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -19,11 +19,12 @@ class SpeciesDataTable extends DataTable
public function modifier($datatables) public function modifier($datatables)
{ {
$datatables $datatables
->editColumn('genre_name', function(Specie $specie) { ->editColumn(
'genre_name', function (Specie $specie) {
return $specie->genre ? $specie->genre->name : ''; return $specie->genre ? $specie->genre->name : '';
}) }
->rawColumns(['genre_name', 'action']) )
; ->rawColumns(['genre_name', 'action']);
return Parent::modifier($datatables); return Parent::modifier($datatables);
} }
@@ -39,5 +40,4 @@ class SpeciesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -13,7 +13,7 @@ class VarietiesDataTable extends DataTable
public function query(Variety $model) public function query(Variety $model)
{ {
// $model = $model::with('specie')->withCount('Articles')->select('botanic_varieties.*'); // $model = $model::with('specie')->withCount('Articles')->select('botanic_varieties.*');
$model = $model::joinRelations('Specie')->select('botanic_varieties.*','botanic_species.name as specie_name')->with('Specie')->withCount('Articles'); $model = $model::joinRelations('Specie')->select('botanic_varieties.*', 'botanic_species.name as specie_name')->with('Specie')->withCount('Articles');
return self::buildQuery($model); return self::buildQuery($model);
} }
@@ -21,13 +21,15 @@ class VarietiesDataTable extends DataTable
public function modifier($datatables) public function modifier($datatables)
{ {
$datatables $datatables
->editColumn('photo', function(Variety $variety) { ->editColumn(
'photo', function (Variety $variety) {
$media = $variety->getFirstMedia(); $media = $variety->getFirstMedia();
dump($variety); // dump($media);
return "{{ $media('thumb') }}"; // return $media('thumb');
}) return '';
->rawColumns(['photo', 'action']) }
; )
->rawColumns(['photo', 'action']);
return Parent::modifier($datatables); return Parent::modifier($datatables);
} }
@@ -42,5 +44,4 @@ class VarietiesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -109,16 +109,19 @@ class ParentDataTable extends DataTable
->setTableId($table_id) ->setTableId($table_id)
->parameters($this->getParameters()) ->parameters($this->getParameters())
->columns($this->getColumns()) ->columns($this->getColumns())
->ajax([ ->ajax(
[
'data' => 'function(d) { d.filters = $("' . $selector . '").serializeJSON(); }', 'data' => 'function(d) { d.filters = $("' . $selector . '").serializeJSON(); }',
'url' => isset($this->url) ? $this->url : '' 'url' => isset($this->url) ? $this->url : ''
]) ]
)
->dom($this->getDom()) ->dom($this->getDom())
->orderBy($this->sortedColumn,$this->sortedOrder) ->orderBy($this->sortedColumn, $this->sortedOrder)
->buttons($this->getButtons()); ->buttons($this->getButtons());
} }
public function getButtons() { public function getButtons()
{
return [ return [
Button::make('export'), Button::make('export'),
Button::make('print'), Button::make('print'),
@@ -154,11 +157,13 @@ class ParentDataTable extends DataTable
return $dom; return $dom;
} }
public function getDatatablesHeader() { public function getDatatablesHeader()
{
return view('components.datatables.header'); return view('components.datatables.header');
} }
public function getDatatablesHeaderDefault() { public function getDatatablesHeaderDefault()
{
// return "<div class'row'><div class='col'></div></div>"; // return "<div class'row'><div class='col'></div></div>";
/* /*
@@ -175,10 +180,10 @@ class ParentDataTable extends DataTable
$dom = "<'row dt-toolbar-header'<'col-lg-4'l><'col-lg-4'B><'col-lg-4 text-right add'f>>"; $dom = "<'row dt-toolbar-header'<'col-lg-4'l><'col-lg-4'B><'col-lg-4 text-right add'f>>";
return $dom; return $dom;
// return 't<"row datatable-pager light"<"col-md-12"<"datatable-more-export-buttons filter-buttons pull-left"><"datatable-more-export-favorites-buttons filter-buttons pull-left"><"datatable-more-export-basket-buttons filter-buttons pull-left"><"datatable-download-buttons filter-buttons pull-left">>><"dt-toolbar-footer"<"col-md-6"i><"col-md-6 pull-right datatable-pager light nopadding-right"p>>'; // return 't<"row datatable-pager light"<"col-md-12"<"datatable-more-export-buttons filter-buttons pull-left"><"datatable-more-export-favorites-buttons filter-buttons pull-left"><"datatable-more-export-basket-buttons filter-buttons pull-left"><"datatable-download-buttons filter-buttons pull-left">>><"dt-toolbar-footer"<"col-md-6"i><"col-md-6 pull-right datatable-pager light nopadding-right"p>>';
} }
public function getDatatablesFooterDefault() { public function getDatatablesFooterDefault()
{
return "<'row pt-3 dt-toolbar-footer'<'col-md-6'i><'col-md-6'p>>"; return "<'row pt-3 dt-toolbar-footer'<'col-md-6'i><'col-md-6'p>>";
} }

View File

@@ -1,28 +0,0 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\ArticleFamily;
class ArticleFamiliesDataTable extends DataTable
{
public $model_name = 'article_families';
public function query(ArticleFamily $model)
{
$model = $model::withCount('Articles');
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('name')->title('Nom'),
Column::make('articles_count')->title('Nb articles')->addClass('text-right'),
self::makeColumnButtons(),
];
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\ArticleNature;
class ArticleNaturesDataTable extends DataTable
{
public $model_name = 'article_natures';
public function query(ArticleNature $model)
{
$model = $model::withCount('Articles');
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('name')->title('Nom'),
Column::make('articles_count')->title('Nb articles')->addClass('text-right'),
self::makeColumnButtons(),
];
}
}

View File

@@ -13,7 +13,7 @@ class ArticlesDataTable extends DataTable
public function query(Article $model) public function query(Article $model)
{ {
// $model = $model::with('Family')->select('shop_articles.*','family.name as family_name')->join('shop_article_families as family', 'family.id', '=', 'shop_articles.article_family_id')->groupBy('shop_articles.id'); // $model = $model::with('Family')->select('shop_articles.*','family.name as family_name')->join('shop_article_families as family', 'family.id', '=', 'shop_articles.article_family_id')->groupBy('shop_articles.id');
$model = $model::with('article_family')->select('shop_articles.*'); $model = $model::with('article_nature')->select('shop_articles.*');
// $model = $model::joinRelations('Family')->select('shop_articles.*','shop_article_families.name as family_name'); // $model = $model::joinRelations('Family')->select('shop_articles.*','shop_article_families.name as family_name');
return self::buildQuery($model); return self::buildQuery($model);
} }
@@ -21,11 +21,9 @@ class ArticlesDataTable extends DataTable
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('article_family.name')->title('Famille')->orderable(false), Column::make('article_nature.name')->title('Nature')->orderable(false),
Column::make('name')->title('Nom'), Column::make('name')->title('Nom'),
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -24,5 +24,4 @@ class CategoriesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -25,5 +25,4 @@ class CustomersDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -24,5 +24,4 @@ class InvoicesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\Offer;
class OffersDataTable extends DataTable
{
public $model_name = 'tariffs';
public function query(Offer $model)
{
$model = $model->with(['article','variation','tariff'])->select(['shop_offers.*']);
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('article.name')->title('Article'),
Column::make('variation.name')->title('Déclinaison'),
Column::make('tariff.name')->title('Tarif'),
self::makeColumnButtons(),
];
}
}

View File

@@ -22,5 +22,4 @@ class OrdersDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -12,24 +12,14 @@ class PackagesDataTable extends DataTable
public function query(Package $model) public function query(Package $model)
{ {
$model = $model::with(['article_family'])->select('shop_packages.*');
$model = self::filterByFamily($model);
return self::buildQuery($model); return self::buildQuery($model);
} }
public static function filterByFamily($model, $family_id = false)
{
$family_id = $family_id ? $family_id : self::isFilteredByField('family_id');
return $family_id ? $model->byArticleFamily($family_id) : $model;
}
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('article_family.name')->title('Famille d\'articles'),
Column::make('value')->title('Valeur'), Column::make('value')->title('Valeur'),
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -24,5 +24,4 @@ class PriceGenericCategoriesDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -1,31 +0,0 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\PriceGeneric;
class PriceGenericsDataTable extends DataTable
{
public $model_name = 'price_generics';
public function query(PriceGeneric $model)
{
$model = $model::with(['category','priceByUnit'])->withCount('prices');
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('category.name')->title('Catégorie'),
Column::make('name')->title('Nom'),
Column::make('price_by_unit.price')->title('Prix HT')->class('text-right'),
Column::make('price_by_unit.price_taxed')->title('Prix TTC')->class('text-right'),
Column::make('prices_count')->title('Nb tarifs')->class('text-right'),
self::makeColumnButtons(),
];
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\PriceList;
class PriceListsDataTable extends DataTable
{
public $model_name = 'price_lists';
public function __construct()
{
$this->url = route('Admin.Shop.PriceLists.index');
}
public function query(PriceList $model)
{
$model = self::filterByTariff($model);
return self::buildQuery($model);
}
public static function filterByTariff($model, $tariff_id = false)
{
$tariff_id = $tariff_id ? $tariff_id : self::isFilteredByField('tariff_id');
return $tariff_id ? $model->byTariff($tariff_id) : $model;
}
protected function getColumns()
{
return [
Column::make('name')->title('Nom'),
self::makeColumnButtons(),
];
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\SaleChannel;
class SaleChannelsDataTable extends DataTable
{
public $model_name = 'sale_channels';
public function query(SaleChannel $model)
{
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('name')->title('Nom'),
self::makeColumnButtons(),
];
}
}

View File

@@ -24,5 +24,4 @@ class TagGroupsDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -26,5 +26,4 @@ class TagsDataTable extends DataTable
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -0,0 +1,29 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\Tariff;
class TariffsDataTable extends DataTable
{
public $model_name = 'tariffs';
public function query(Tariff $model)
{
$model = $model->with(['sale_channel'])->select(['shop_tariffs.*']);
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('sale_channel.name')->title('Canal de vente'),
Column::make('code')->title('Code'),
Column::make('ref')->title('Référence'),
Column::make('name')->title('Nom'),
self::makeColumnButtons(),
];
}
}

View File

@@ -12,25 +12,14 @@ class UnitiesDataTable extends DataTable
public function query(Unity $model) public function query(Unity $model)
{ {
$model = $model::with(['package.article_family'])->select('shop_unities.*');
$model = self::filterByFamily($model);
return self::buildQuery($model); return self::buildQuery($model);
} }
public static function filterByFamily($model, $family_id = false)
{
$family_id = $family_id ? $family_id : self::isFilteredByField('family_id');
return $family_id ? $model->byArticleFamily($family_id) : $model;
}
protected function getColumns() protected function getColumns()
{ {
return [ return [
Column::make('package.article_family.name')->title('Famille'),
Column::make('package.value')->title('Package'),
Column::make('value')->title('Valeur'), Column::make('value')->title('Valeur'),
self::makeColumnButtons(), self::makeColumnButtons(),
]; ];
} }
} }

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\Variation;
class VariationsDataTable extends DataTable
{
public $model_name = 'variations';
public function query(Variation $model)
{
$model = $model->with(['package','unity']);
return self::buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('package.value')->title('Package'),
Column::make('quantity')->title('Quantité')->class('text-right'),
Column::make('unity.value')->title('Unité'),
self::makeColumnButtons(),
];
}
}

View File

@@ -16,5 +16,4 @@ class FamiliesExport implements FromQuery
{ {
return Family::query(); return Family::query();
} }
} }

View File

@@ -16,5 +16,4 @@ class GenresExport implements FromQuery
{ {
return Genre::query(); return Genre::query();
} }
} }

View File

@@ -16,5 +16,4 @@ class SpeciesExport implements FromQuery
{ {
return Specie::query(); return Specie::query();
} }
} }

View File

@@ -16,5 +16,4 @@ class VarietiesExport implements FromQuery
{ {
return Variety::query(); return Variety::query();
} }
} }

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Http\Controllers\Admin\Botanic;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

View File

@@ -0,0 +1,55 @@
<?php
namespace App\Http\Controllers\Admin\Botanic;
use Illuminate\Http\Request;
use App\Repositories\Botanic\Families;
use App\Datatables\Botanic\FamiliesDataTable;
class FamilyController extends Controller
{
public function index(FamiliesDataTable $dataTable)
{
return $dataTable->render('Admin.Botanic.Families.list');
}
public function getDatatable(Request $request)
{
return Families::getTables($request->all());
}
public function create()
{
return view('Admin.Botanic.Families.create', $data ?? []);
}
public function store(Request $request)
{
$data = $request->all();
$ret = Families::store($data);
return redirect()->route('Admin.Botanic.Families.index');
}
public function show($id)
{
$data = Families::get($id);
return view('Admin.Botanic.Families.view', $data);
}
public function edit($id)
{
$data['family'] = Families::get($id)->toArray();
return view('Admin.Botanic.Families.edit', $data);
}
public function destroy($id)
{
return Families::destroy($id);
}
public function exportExcel()
{
return Families::exportExcel();
}
}

View File

@@ -1,9 +1,8 @@
<?php <?php
namespace App\Http\Controllers\Botanic\Admin; namespace App\Http\Controllers\Admin\Botanic;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Botanic\Genres; use App\Repositories\Botanic\Genres;
use App\Repositories\Botanic\Families; use App\Repositories\Botanic\Families;
@@ -13,7 +12,7 @@ class GenreController extends Controller
{ {
public function index(GenresDataTable $dataTable) public function index(GenresDataTable $dataTable)
{ {
return $dataTable->render('Botanic.Admin.Genres.list'); return $dataTable->render('Admin.Botanic.Genres.list');
} }
public function getDatatable(Request $request) public function getDatatable(Request $request)
@@ -23,26 +22,27 @@ class GenreController extends Controller
public function create() public function create()
{ {
return view('Botanic.Admin.Genres.create'); $data['families'] = Families::getOptions();
return view('Admin.Botanic.Genres.create', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
$ret = Genres::store($request); $ret = Genres::store($request);
return redirect()->route('Botanic.Admin.Genres.index'); return redirect()->route('Admin.Botanic.Genres.index');
} }
public function show($id) public function show($id)
{ {
$data = Genres::get($id); $data['genre'] = Genres::get($id);
return view('Botanic.Admin.Genres.view', $data); return view('Admin.Botanic.Genres.view', $data);
} }
public function edit($id) public function edit($id)
{ {
$data = Genres::get($id); $data['genre'] = Genres::get($id);
$data['families'] = Families::getOptions(); $data['families'] = Families::getOptions();
return view('Botanic.Admin.Genres.edit', $data); return view('Admin.Botanic.Genres.edit', $data);
} }
public function destroy($id) public function destroy($id)
@@ -54,5 +54,4 @@ class GenreController extends Controller
{ {
return Genres::exportExcel(); return Genres::exportExcel();
} }
} }

View File

@@ -0,0 +1,63 @@
<?php
namespace App\Http\Controllers\Admin\Botanic;
use Illuminate\Http\Request;
use App\Repositories\Botanic\Species;
use App\Repositories\Botanic\Genres;
use App\Datatables\Botanic\SpeciesDataTable;
class SpecieController extends Controller
{
public function index(SpeciesDataTable $dataTable)
{
return $dataTable->render('Admin.Botanic.Species.list');
}
public function getDatatable(Request $request)
{
return Species::getDatatable($request->all());
}
public function getOptions()
{
return response()->json(Species::getOptions());
}
public function create()
{
$data['genres'] = Genres::getOptions();
return view('Admin.Botanic.Species.create', $data);
}
public function store(Request $request)
{
$data = $request->all();
$ret = Species::store($data);
return redirect()->route('Admin.Botanic.Species.index');
}
public function show($id)
{
$data = Species::get($id);
return view('Admin.Botanic.Species.view', $data);
}
public function edit($id)
{
$data['specie'] = Species::get($id);
$data['genres'] = Genres::getOptions();
return view('Admin.Botanic.Species.edit', $data);
}
public function destroy($id)
{
return Species::destroy($id);
}
public function exportExcel()
{
return Species::exportExcel();
}
}

View File

@@ -0,0 +1,77 @@
<?php
namespace App\Http\Controllers\Admin\Botanic;
use Illuminate\Http\Request;
use App\Repositories\Botanic\Varieties;
use App\Repositories\Botanic\Species;
use App\Repositories\Shop\TagGroups;
use App\Datatables\Botanic\VarietiesDataTable;
use App\Models\Shop\Variety;
class VarietyController extends Controller
{
public function index(VarietiesDataTable $dataTable)
{
return $dataTable->render('Admin.Botanic.Varieties.list');
}
public function getOptionsWithSpecie()
{
return response()->json(Varieties::getOptionsWithSpecie());
}
public function create()
{
$data['species'] = Species::getOptions();
$data['tags_list'] = TagGroups::getTreeTags();
return view('Admin.Botanic.Varieties.create', $data);
}
public function store(Request $request)
{
$data = $request->all();
Varieties::storeFull($data);
return redirect()->route('Admin.Botanic.Varieties.index');
}
public function show($id)
{
return view('Admin.Botanic.Varieties.view', Varieties::get($id));
}
public function edit($id)
{
$data = Varieties::getFull($id);
$data['species'] = Species::getOptions();
$data['tags_list'] = TagGroups::getTreeTags();
return view('Admin.Botanic.Varieties.edit', $data);
}
public function destroy($id)
{
return Varieties::destroy($id);
}
public function getImages(Request $request, $id = false, $can_edit = true)
{
$id = $id ? $id : $request->input('id');
$data['images'] = Varieties::getImages($id);
$data['can_edit'] = $can_edit;
return view('components.uploader.mini-gallery-items', $data);
}
public function deleteImage(Request $request)
{
$id = $request->input('id');
$index = $request->input('index');
return Varieties::deleteImage($id, $index);
}
public function exportExcel()
{
return Varieties::exportExcel();
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller as ParentController;
class Controller extends ParentController
{
}

View File

@@ -0,0 +1,53 @@
<?php
namespace App\Http\Controllers\Admin\Core\App;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use Yajra\DataTables\DataTables;
use App\Repositories\Core\App\Applications;
use App\Datatables\Admin\Core\App\ApplicationsDataTable;
class ApplicationController extends Controller
{
public function index(ApplicationsDataTable $dataTable)
{
$data = \App\Repositories\Config::init();
return $dataTable->render('admin.Core.App.Application.index', $data);
}
public function getDatatable()
{
return Applications::getDatatable();
}
public function edit(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data = \App\Repositories\Config::init();
$data = Applications::select_by_id($id);
return view('admin.Core.App.Application.edit', $data);
}
public function store(Request $request)
{
Applications::store($request->all());
return response()->json(['error' => 0]);
}
public function destroy(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
Applications::destroy($id);
return response()->json(['error' => 0]);
}
public function toggleActive(Request $request)
{
$data = Applications::toggle_active($request->input('id'), ($request->input('active') == 'true') ? 1 : 0);
return response()->json(['error' => 0]);
}
}

View File

@@ -0,0 +1,61 @@
<?php
namespace App\Http\Controllers\Admin\Core\App;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
use App\Repositories\Core\App\Applications;
use App\Repositories\Core\App\ApplicationModules;
use App\Datatables\Admin\Core\App\ApplicationModulesDataTable;
class ApplicationModuleController extends Controller
{
public function index(ApplicationModulesDataTable $dataTable)
{
$data = \App\Repositories\Config::init();
return $dataTable->render('admin.Core.App.ApplicationModule.index', $data);
}
public function getDatatable()
{
return ApplicationModules::getDatatable();
}
public function create()
{
$data = \App\Repositories\Config::init();
$data['applications'] = Applications::getOptions();
return view('admin.Core.App.ApplicationModule.create', $data);
}
public function edit(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data = \App\Repositories\Config::init();
$data = ApplicationModules::get($id)->toArray();
$data['applications'] = Applications::getOptions();
return view('admin.Core.App.ApplicationModule.edit', $data);
}
public function store(Request $request)
{
ApplicationModules::store($request->all());
return redirect()->route('admin.Core.App.ApplicationModule.index')
->with('growl', [__('admin.successadd'), 'success']);
}
public function destroy(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
ApplicationModules::destroy($id);
return response()->json(['error' => 0]);
}
public function toggleActive(Request $request)
{
$data = ApplicationModules::toggle_active($request->input('id'), ($request->input('active') == 'true') ? 1 : 0);
return response()->json(['error' => 0]);
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Http\Controllers\Admin\Core\App;
use App\Http\Controllers\Controller as ParentController;
class Controller extends ParentController
{
}

View File

@@ -0,0 +1,9 @@
<?php
namespace App\Http\Controllers\Admin\Core\Auth;
use App\Http\Controllers\Controller as ParentController;
class Controller extends ParentController
{
}

View File

@@ -0,0 +1,71 @@
<?php
namespace App\Http\Controllers\Admin\Core\Auth;
use Illuminate\Http\Request;
use App\Repositories\Core\App\Applications;
use App\Repositories\Core\App\ApplicationModules;
use App\Repositories\Core\Auth\Permissions;
use App\Repositories\Core\Auth\Users;
use App\Datatables\Admin\Core\Auth\PermissionsDataTable;
class PermissionController extends Controller
{
public function __construct()
{
$this->middleware('ability:admin,permissions_crud');
}
public function index(PermissionsDataTable $dataTable)
{
$data = \App\Repositories\Config::init();
return $dataTable->render('admin.Core.Auth.Permission.index', $data);
}
public function create()
{
$data = \App\Repositories\Config::init();
$data['roles'] = Users::getRolesToEdit();
$data['applications'] = Applications::getOptions();
$data['application_modules'] = ApplicationModules::getOptions();
return view('admin.Core.Auth.Permission.create', $data);
}
public function edit(Request $request, $id = false)
{
$id = (int) $id ? $id : $request->input('id');
$data = \App\Repositories\Config::init();
$data['permission'] = Permissions::get($id);
$data['roles'] = Users::getRolesToEdit();
$data['applications'] = Applications::getOptions();
$data['application_modules'] = ApplicationModules::getOptions();
return view('admin.Core.Auth.Permission.edit', $data);
}
public function store(Request $request)
{
$data = $request->all();
unset($data['roles']);
unset($data['_token']);
/*
$this->validate($request, [
'name' => 'required|unique:permissions,name',
'display_name' => 'required',
'description' => 'required',
]);
$data['name'] = Str::slug($data['display_name']);
*/
Permissions::store($data);
return redirect()->route('Admin.Core.Auth.Permission.index')->with('growl', [__('permissions.successadd'), 'success']);
}
public function destroy($id)
{
Permissions::destroy($id);
return response()->json(['error' => 0]);
}
}

View File

@@ -0,0 +1,96 @@
<?php
namespace App\Http\Controllers\Admin\Core\Auth;
use Illuminate\Http\Request;
use Yajra\DataTables\DataTables;
use App\Models\Core\Auth\Role;
use App\Models\Core\Auth\Permission;
use App\Models\Core\App\ApplicationModule;
use App\Repositories\Core\Auth\Permissions;
use App\Repositories\Core\Auth\Roles;
use App\Datatables\Admin\Core\Auth\RolesDataTable;
class RoleController extends Controller
{
public function index(RolesDataTable $dataTable)
{
$data = \App\Repositories\Config::init();
$data['modules'] = ApplicationModule::with('permissions')->get()->toArray();
return $dataTable->render('admin.Core.Auth.Role.index', $data);
}
public function getTable(Request $request)
{
$model = Role::orderBy('name')->get();
return Datatables::of($model)->make(true);
}
public function create()
{
$data = \App\Repositories\Config::init();
return view('admin.Core.Auth.Role.create', $data);
}
public function edit(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data = \App\Repositories\Config::init();
$data['role'] = Roles::getWithPermissions($id);
$data['modules'] = ApplicationModule::with('permissions')->get()->toArray();
return view('admin.Core.Auth.Role.edit', $data);
}
public function store(Request $request)
{
Roles::store($request->all());
return response()->json(['error' => 0]);
}
public function destroy(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
Roles::destroy($id);
return response()->json(['error' => 0]);
}
public function manage(Request $request, $id = false)
{
$data = [];
$id = (int) $id ? $id : $request->input('id');
$data['role'] = Role::with('permissions')->find($id)->toArray();
$permissions = Permission::orderBy('app')->orderBy('module')->orderBy('action')->get();
foreach ($permissions as $permission) {
$data[$permission->app][$permission->module][] = [
'action' => $permission->action,
'description' => $permission->description,
'id' => $permission->id,
];
}
// Debug::fdump($data);
// Debug::fdump($permissions);
// exit;
$data['permissions'] = $data;
return view('admin.Core.Auth.Role.manage', $data);
}
public function manage_store(Request $request)
{
$data = $request->all();
$role = Role::find($data['role_id']);
foreach ($data['permissions'] as $key) {
$permission = Permission::find($key);
$role->attachPermission($permission);
}
return response()->json(['error' => 0]);
}
public function toggleActive(Request $request)
{
$data = Roles::toggle_active($request->input('id'), ($request->input('active') == 'true') ? 1 : 0);
return response()->json(['error' => 0]);
}
}

View File

@@ -0,0 +1,75 @@
<?php
namespace App\Http\Controllers\Admin\Core\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use App\Models\Core\Auth\Team;
use App\Models\Core\Auth\Role;
class TeamController extends Controller
{
public function __construct()
{
$this->middleware('ability:admin,teams_crud');
}
public function index()
{
return view('admin.Core.Auth.Team.list', ['teams' => Team::all()]);
}
public function create()
{
return view('admin.Core.Auth.Team.create');
}
public function store(Request $request)
{
$input = $request->all();
$input['name'] = Str::slug($input['display_name']);
$request->replace($input);
$this->validate(
$request, [
'name' => 'required|unique:teams,name',
'display_name' => 'required',
'description' => 'required',
]
);
$team = Team::create($input);
$team->teams()->sync(array_keys($request->input('team', [])));
return redirect()->route('admin.Teams.edit', $team)
->with('growl', [__('teams.successadd'), 'success']);
}
public function edit($id)
{
$team = Team::find($id);
return view('admin.Core.Auth.Team.edit', compact('team', 'teams'));
}
public function update(Request $request, $id)
{
$this->validate(
$request, [
'display_name' => 'required',
'description' => 'required',
]
);
$team = Team::find($id);
return redirect()->route('admin.Teams.edit', $team)
->with('growl', [__('teams.successmod'), 'success']);
}
public function destroy($id)
{
Team::destroy($id);
}
}

View File

@@ -0,0 +1,183 @@
<?php
namespace App\Http\Controllers\Admin\Core\Auth;
use Auth;
use Image;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use App\Models\Core\Auth\Role;
use App\Models\Core\Auth\User;
use App\Repositories\Core\Auth\Users;
use App\Datatables\Admin\Core\Auth\UsersDataTable;
class UserController extends Controller
{
public function index(UsersDataTable $dataTable)
{
$data = \App\Repositories\Config::init();
return $dataTable->render('admin.Core.Auth.User.index', $data);
}
public function modalCreate()
{
$data['roles'] = Users::getRolesToEdit();
return view('admin.Core.Auth.User.modal', $data);
}
public function modalEdit($id = false)
{
$user = $id ? Users::get($id) : false;
$data['roles'] = Users::getRolesToEdit();
$data['user'] = $user ? $user->toArray() : [];
$data['user']['roles'] = $user->roles->pluck('id')->toArray();
return view('admin.Core.Auth.User.modal', $data);
}
public function storeAjax(Request $request)
{
$data = $request->all();
$ret = Users::store($data);
return response()->json(['code' => '200']);
}
public function create()
{
$data = \App\Repositories\Config::init();
$data['roles'] = Users::getRolesToEdit();
return view('admin.Core.Auth.User.create', $data);
}
public function store(Request $request)
{
/*
$this->validate($request, [
'last_name' => 'required',
'first_name' => 'required',
'email' => 'required|email|unique:users,email,NULL,id,deleted_at,NULL',
]);
*/
$input = $request->all();
if (empty($input['password'])) {
unset($input['password']);
}
$user = Users::store($input);
return redirect()->route('admin.Core.Auth.User.index')
->with('growl', [__('boilerplate::users.successadd'), 'success']);
}
public function edit($id)
{
$data = \App\Repositories\Config::init();
$data['roles'] = Users::getRolesToEdit();
$data['user'] = Users::get($id);
return view('admin.Core.Auth.User.edit', $data);
}
public function destroy($id)
{
Users::delete($id);
}
public function firstLogin($token, Request $request)
{
$user = User::where(['remember_token' => $token])->firstOrFail();
return view('boilerplate::auth.firstlogin', compact('user', 'token'));
}
public function firstLoginPost(Request $request)
{
$this->validate(
$request, [
'token' => 'required',
'password' => 'required|min:8',
'password_confirmation' => 'required|same:password',
]
);
$user = User::where(['remember_token' => $request->input('token')])->first();
$user->password = bcrypt($request->input('password'));
$user->remember_token = Str::random(32);
$user->last_login = Carbon::now()->toDateTimeString();
$user->save();
Auth::attempt(['email' => $user->email, 'password' => $request->input('password'), 'active' => 1]);
return redirect()->route('boilerplate.dashboard')
->with('growl', [__('boilerplate::users.newpassword'), 'success']);
}
public function profile()
{
$user = Users::get();
$data['user'] = $user ? $user->toArray() : [];
$data['user']['name'] = $user->name;
$data['user']['avatar'] = Users::getAvatar($user->id);
return view('admin.Core.Auth.User.modalProfile', $data);
}
public function profilePost(Request $request)
{
$this->validate(
$request, [
'avatar' => 'mimes:jpeg,png|max:10000',
'last_name' => 'required',
'first_name' => 'required',
'password_confirmation' => 'same:password',
]
);
$avatar = $request->file('avatar');
$user = Auth::user();
if ($avatar && $file = $avatar->isValid()) {
$destinationPath = dirname($user->avatar_path);
if (!is_dir($destinationPath)) {
mkdir($destinationPath, 0766, true);
}
$extension = $avatar->getClientOriginalExtension();
$fileName = md5($user->id.$user->email).'_tmp.'.$extension;
$avatar->move($destinationPath, $fileName);
Image::make($destinationPath.DIRECTORY_SEPARATOR.$fileName)
->fit(100, 100)
->save($user->avatar_path);
unlink($destinationPath.DIRECTORY_SEPARATOR.$fileName);
}
$input = $request->all();
if ($input['password'] !== null) {
$input['password'] = bcrypt($input['password']);
$input['remember_token'] = Str::random(32);
} else {
unset($input['password']);
}
$user->update($input);
return redirect()->route('boilerplate.user.profile')
->with('growl', [__('boilerplate::users.profile.successupdate'), 'success']);
}
public function avatarDelete()
{
$user = Auth::user();
if (is_file($user->avatar_path)) {
unlink($user->avatar_path);
}
}
public function toggleActive(Request $request)
{
$data = Users::toggle_active($request->input('id'), ($request->input('active') == 'true') ? 1 : 0);
return response()->json(['error' => 0]);
}
}

View File

@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers\Admin\Core;
use App\Http\Controllers\Controller as ParentController;
class Controller extends ParentController
{
}

View File

@@ -14,6 +14,6 @@ class HomeController extends Controller
public function index() public function index()
{ {
return view('home'); return view('admin.Shop.Dashboard.index');
} }
} }

View File

@@ -0,0 +1,68 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Repositories\Shop\Articles;
use App\Repositories\Shop\ArticleNatures;
use App\Datatables\Shop\ArticlesDataTable;
class ArticleController extends Controller
{
public function autocomplete(Request $request, $str = false)
{
$str = $str ? $str : $request->input('q');
return response()->json(Articles::autocomplete($str));
}
public function index(ArticlesDataTable $dataTable)
{
$data['families'] = ArticleNatures::getOptions();
return $dataTable->render('Admin.Shop.Articles.list', $data);
}
public function create()
{
$data = Articles::getMeta();
return view('Admin.Shop.Articles.create', $data);
}
public function store(Request $request)
{
$data = $request->all();
Articles::storeFull($data);
return redirect()->route('Admin.Shop.Articles.index');
}
public function show($id)
{
$data = Articles::get($id);
return view('Admin.Shop.Articles.view', $data);
}
public function edit($id)
{
$data = Articles::getFull($id);
return view('Admin.Shop.Articles.edit', $data);
}
public function destroy($id)
{
return Articles::destroy($id);
}
public function getImages(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data['images'] = Articles::getImages($id);
return view('components.uploader.mini-gallery-items', $data);
}
public function deleteImage(Request $request)
{
$id = $request->input('id');
$index = $request->input('index');
return Articles::deleteImage($id, $index);
}
}

View File

@@ -0,0 +1,49 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Repositories\Shop\ArticleNatures;
use App\Datatables\Shop\ArticleNaturesDataTable;
class ArticleNatureController extends Controller
{
public function index(ArticleNaturesDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.ArticleNatures.list');
}
public function getDatatable(Request $request)
{
return ArticleNatures::getTables($request->all());
}
public function create()
{
return view('Admin.Shop.ArticleNatures.create');
}
public function store(Request $request)
{
$ret = ArticleNatures::store($request->all());
return redirect()->route('Admin.Shop.ArticleNatures.index');
}
public function show($id)
{
$data['article_nature'] = ArticleNatures::get($id);
return view('Admin.Shop.ArticleNatures.view', $data);
}
public function edit($id)
{
$data['article_nature'] = ArticleNatures::get($id);
return view('Admin.Shop.ArticleNatures.edit', $data);
}
public function destroy($id)
{
return ArticleNatures::destroy($id);
}
}

View File

@@ -1,19 +1,17 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Categories; use App\Repositories\Shop\Categories;
use App\Datatables\Shop\CategoriesDataTable; use App\Datatables\Shop\CategoriesDataTable;
class CategoryController extends Controller class CategoryController extends Controller
{ {
public function index(CategoriesDataTable $dataTable) public function index(CategoriesDataTable $dataTable)
{ {
return $dataTable->render('Shop.Admin.Categories.list'); return $dataTable->render('Admin.Shop.Categories.list');
} }
public function getDatatable(Request $request) public function getDatatable(Request $request)
@@ -26,26 +24,26 @@ class CategoryController extends Controller
$data = []; $data = [];
$data['category_id'] = 0; $data['category_id'] = 0;
$data['categories'] = Categories::getOptions(); $data['categories'] = Categories::getOptions();
return view('Shop.Admin.Categories.create', $data); return view('Admin.Shop.Categories.create', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
$ret = Categories::store($request->all()); $ret = Categories::store($request->all());
return redirect()->route('Shop.Admin.Categories.index'); return redirect()->route('Admin.Shop.Categories.index');
} }
public function show($id) public function show($id)
{ {
$data = Categories::get($id); $data = Categories::get($id);
return view('Shop.Admin.Categories.view', $data); return view('Admin.Shop.Categories.view', $data);
} }
public function edit($id) public function edit($id)
{ {
$data = Categories::get($id)->toArray(); $data = Categories::get($id)->toArray();
$data['categories'] = Categories::getOptions(); $data['categories'] = Categories::getOptions();
return view('Shop.Admin.Categories.edit', $data); return view('Admin.Shop.Categories.edit', $data);
} }
public function update(Request $request) public function update(Request $request)
@@ -79,5 +77,4 @@ class CategoryController extends Controller
$type = $request->input('type'); $type = $request->input('type');
return Categories::moveTree($node_id, $target_id, $type); return Categories::moveTree($node_id, $target_id, $type);
} }
} }

View File

@@ -0,0 +1,13 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Repositories\Shop\Customers;
use App\Datatables\Shop\CustomersDataTable;
class CustomerController extends Controller
{
public function index(CustomersDataTable $dataTable)
{
$data = [];
return $dataTable->render('Admin.Shop.Customers.list', $data);
}
public function create()
{
return view('Admin.Shop.Customers.create');
}
public function store(Request $request)
{
$ret = Customers::store($request->all());
return redirect()->route('Admin.Shop.Customers.index');
}
public function show($id)
{
$data['customer'] = Customers::get($id);
return view('Admin.Shop.Customers.view', $data);
}
public function edit($id)
{
$data['customer'] = Customers::get($id)->toArray();
return view('Admin.Shop.Customers.edit', $data);
}
public function destroy($id)
{
return Customers::destroy($id);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@@ -33,6 +33,6 @@ class DashboardController extends Controller
$data = []; $data = [];
} }
return view('Shop.Admin.Dashboard.index', $data); return view('Admin.Shop.Dashboard.index', $data);
} }
} }

View File

@@ -0,0 +1,29 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return redirect('dashboard');
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Invoices;
use App\Datatables\Shop\InvoicesDataTable;
class InvoiceController extends Controller
{
public function index(InvoicesDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.Invoices.list', $data);
}
public function create()
{
return view('Admin.Shop.Invoices.create');
}
public function store(Request $request)
{
$ret = Invoices::store($request->all());
return redirect()->route('Admin.Shop.Invoices.index');
}
public function show($id)
{
$data = Invoices::get($id);
return view('Admin.Shop.Invoices.view', $data);
}
public function edit($id)
{
$data['customer'] = Invoices::get($id)->toArray();
return view('Admin.Shop.Invoices.edit', $data);
}
public function destroy($id)
{
return Invoices::destroy($id);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use App\InvoiceItem; use App\InvoiceItem;
use Illuminate\Http\Request; use Illuminate\Http\Request;

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Offers;
use App\Datatables\Shop\OffersDataTable;
class OfferController extends Controller
{
public function index(OffersDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.Offers.list', $data ?? []);
}
public function create()
{
return view('Admin.Shop.Offers.create');
}
public function store(Request $request)
{
$ret = Offers::store($request->all());
return redirect()->route('Admin.Shop.Offers.index');
}
public function show($id)
{
$data = Offers::get($id);
return view('Admin.Shop.Offers.view', $data);
}
public function edit($id)
{
$data['customer'] = Offers::get($id)->toArray();
return view('Admin.Shop.Offers.edit', $data);
}
public function destroy($id)
{
return Offers::destroy($id);
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Orders;
use App\Datatables\Shop\OrdersDataTable;
class OrderController extends Controller
{
public function index(OrdersDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.Orders.list', $data);
}
public function create()
{
return view('Admin.Shop.Orders.create');
}
public function store(Request $request)
{
$ret = Orders::store($request->all());
return redirect()->route('Admin.Shop.Orders.index');
}
public function show($id)
{
$data = Orders::get($id);
return view('Admin.Shop.Orders.view', $data);
}
public function edit($id)
{
$data['customer'] = Orders::get($id)->toArray();
return view('Admin.Shop.Orders.edit', $data);
}
public function destroy($id)
{
return Orders::destroy($id);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use App\OrderPayment; use App\OrderPayment;
use Illuminate\Http\Request; use Illuminate\Http\Request;

View File

@@ -0,0 +1,65 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleNatures;
use App\Repositories\Shop\Packages;
use App\Datatables\Shop\PackagesDataTable;
class PackageController extends Controller
{
public function index(PackagesDataTable $dataTable)
{
$data['families'] = ArticleNatures::getOptions();
return $dataTable->render('Admin.Shop.Packages.list', $data);
}
public function getDatatable(Request $request)
{
return Packages::getTables($request->all());
}
public function getOptionsByFamily(Request $request)
{
$id = $request->input('family_id');
return response()->json(Packages::getSelectByFamily($id));
}
public function create()
{
$data['families'] = ArticleNatures::getOptions();
return view('Admin.Shop.Packages.create', $data);
}
public function store(Request $request)
{
$ret = Packages::store($request->all());
return redirect()->route('Admin.Shop.Packages.index');
}
public function show($id)
{
$data = Packages::get($id);
return view('Admin.Shop.Packages.view', $data);
}
public function edit($id)
{
$data['package'] = Packages::get($id);
$data['families'] = ArticleNatures::getOptions();
return view('Admin.Shop.Packages.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return Packages::destroy($id);
}
}

View File

@@ -0,0 +1,48 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleNatures;
use App\Repositories\Shop\PriceGenericCategories;
use App\Datatables\Shop\PriceGenericCategoriesDataTable;
class PriceGenericCategoryController extends Controller
{
public function index(PriceGenericCategoriesDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.PriceGenericCategories.list');
}
public function create()
{
$data['families'] = ArticleNatures::getOptions();
return view('Admin.Shop.PriceGenericCategories.create', $data);
}
public function edit($id)
{
$data['families'] = ArticleNatures::getOptions();
$data['generic_category'] = PriceGenericCategories::get($id)->toArray();
return view('Admin.Shop.PriceGenericCategories.edit', $data);
}
public function store(Request $request)
{
$ret = PriceGenericCategories::store($request->all());
return redirect()->route('Admin.Shop.PriceGenericCategories.index');
}
public function show($id)
{
$data = PriceGenericCategories::get($id);
return view('Admin.Shop.PriceGenericCategories.view', $data);
}
public function destroy($id)
{
return PriceGenericCategories::destroy($id);
}
}

View File

@@ -0,0 +1,85 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Shop\PriceList;
use App\Repositories\Shop\PriceLists;
use App\Repositories\Shop\Taxes;
use App\Repositories\Shop\Tariffs;
use App\Repositories\Shop\SaleChannels;
use App\Repositories\Shop\Unities;
use App\Datatables\Shop\PriceListsDataTable;
class PriceListController extends Controller
{
public function index(PriceListsDataTable $dataTable)
{
$data = [];
return $dataTable->render('Admin.Shop.PriceLists.list', $data);
}
public function create()
{
$data = [];
$data['sale_channels'] = SaleChannels::getOptions();
return view('Admin.Shop.PriceLists.create', $data);
}
public function edit($id)
{
$data['price_list'] = PriceLists::get($id);
$data['sale_channels'] = SaleChannels::getOptions();
return view('Admin.Shop.PriceLists.edit', $data);
}
public function modalCreate($tariff_id)
{
$data = [];
$data['price_list']['tariff_id'] = $tariff_id;
$data['price_list']['price_list_values'] = array_fill(0, 3, '');
$data['sale_channels'] = SaleChannels::getOptions();
$data['statuses'] = Tariffs::getStatuses();
return view('Admin.Shop.PriceLists.modal', $data);
}
public function modalEdit($id)
{
$data['price_list'] = PriceLists::getFull($id);
$data['sale_channels'] = SaleChannels::getOptions();
$data['statuses'] = Tariffs::getStatuses();
return view('Admin.Shop.PriceLists.modal', $data);
}
public function store(Request $request)
{
$ret = PriceLists::store($request->all());
return redirect()->route('Admin.Shop.PriceLists.index');
}
public function storeAjax(Request $request)
{
$data = $request->all();
$ret = PriceLists::store($data);
return response()->json(['code' => '200']);
}
public function show($id)
{
$data = PriceLists::get($id);
return view('Admin.Shop.PriceLists.view', $data);
}
public function destroy($id)
{
return PriceLists::destroy($id);
}
public function getPrice($id)
{
$data['generic'] = PriceLists::getFull($id);
return view('Admin.Shop.PriceLists.partials.table-prices', $data);
}
}

View File

@@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Shop\PriceListValue;
use App\Repositories\Shop\PriceListValues;
use App\Repositories\Shop\PriceListValueCategories;
use App\Repositories\Shop\Taxes;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\Unities;
use App\Datatables\Shop\PriceListValuesDataTable;
class PriceListValueController extends Controller
{
public function index(PriceListValuesDataTable $dataTable)
{
$data['categories'] = PriceListValueCategories::getOptions();
return $dataTable->render('Admin.Shop.PriceListValues.list', $data);
}
public function getDatatable(Request $request)
{
return PriceListValues::getTables($request->all());
}
public function create()
{
$data['unities'] = Unities::getOptions();
$data['taxes_options'] = Taxes::getOptions();
$data['categories'] = PriceListValueCategories::getOptions();
return view('Admin.Shop.PriceListValues.create', $data);
}
public function edit($id)
{
$data['generic'] = PriceListValues::getFull($id)->toArray();
$data['packages'] = Packages::getSelectByFamily($data['generic']['category']['article_family_id']);
$data['unities'] = ($data['packages']['id'] ?? false) ? Unities::getSelectByPackage($data['packages']['id']) : [];
$data['taxes_options'] = Taxes::getOptions();
$data['categories'] = PriceListValueCategories::getOptions();
return view('Admin.Shop.PriceListValues.edit', $data);
}
public function store(Request $request)
{
$ret = PriceListValues::store($request->all());
return redirect()->route('Admin.Shop.PriceListValues.index');
}
public function show($id)
{
$data = PriceListValues::get($id);
return view('Admin.Shop.PriceListValues.view', $data);
}
public function destroy($id)
{
return PriceListValues::destroy($id);
}
public function getPrice($id)
{
$data['generic'] = PriceListValues::getFull($id);
return view('Admin.Shop.PriceListValues.partials.table-prices', $data);
}
}

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleNatures;
use App\Repositories\Shop\SaleChannels;
use App\Datatables\Shop\SaleChannelsDataTable;
class SaleChannelController extends Controller
{
public function index(SaleChannelsDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.SaleChannels.list', $data ?? []);
}
public function create()
{
return view('Admin.Shop.SaleChannels.create', $data ?? []);
}
public function store(Request $request)
{
$ret = SaleChannels::store($request->all());
return redirect()->route('Admin.Shop.SaleChannels.index');
}
public function show($id)
{
$data['sale_channel'] = SaleChannels::get($id);
return view('Admin.Shop.SaleChannels.view', $data);
}
public function edit($id)
{
$data['sale_channel'] = SaleChannels::get($id);
return view('Admin.Shop.SaleChannels.edit', $data);
}
public function destroy($id)
{
return SaleChannels::destroy($id);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@@ -13,7 +13,7 @@ class TagController extends Controller
{ {
public function index(TagsDataTable $dataTable) public function index(TagsDataTable $dataTable)
{ {
return $dataTable->render('Shop.Admin.Tags.list'); return $dataTable->render('Admin.Shop.Tags.list');
} }
public function getDatatable(Request $request) public function getDatatable(Request $request)
@@ -25,26 +25,26 @@ class TagController extends Controller
{ {
$data = []; $data = [];
$data['tag_groups'] = TagGroups::getOptions(); $data['tag_groups'] = TagGroups::getOptions();
return view('Shop.Admin.Tags.create', $data); return view('Admin.Shop.Tags.create', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
$ret = Tags::store($request->all()); $ret = Tags::store($request->all());
return redirect()->route('Shop.Admin.Tags.index'); return redirect()->route('Admin.Shop.Tags.index');
} }
public function show($id) public function show($id)
{ {
$data = Tags::get($id); $data = Tags::get($id);
return view('Shop.Admin.Tags.view', $data); return view('Admin.Shop.Tags.view', $data);
} }
public function edit($id) public function edit($id)
{ {
$data = Tags::get($id); $data = Tags::get($id);
$data['tag_groups'] = TagGroups::getOptions(); $data['tag_groups'] = TagGroups::getOptions();
return view('Shop.Admin.Tags.edit', $data); return view('Admin.Shop.Tags.edit', $data);
} }
public function update(Request $request) public function update(Request $request)
@@ -56,5 +56,4 @@ class TagController extends Controller
{ {
return Tags::destroy($id); return Tags::destroy($id);
} }
} }

View File

@@ -0,0 +1,58 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\TagGroups;
use App\Repositories\Shop\ArticleNatures;
use App\Datatables\Shop\TagGroupsDataTable;
class TagGroupController extends Controller
{
public function index(TagGroupsDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.TagGroups.list');
}
public function getDatatable(Request $request)
{
return TagGroups::getTables($request->all());
}
public function create()
{
$data['article_families'] = ArticleNatures::getOptions();
return view('Admin.Shop.TagGroups.create', $data);
}
public function store(Request $request)
{
$ret = TagGroups::store($request->all());
return redirect()->route('Admin.Shop.TagGroups.index');
}
public function show($id)
{
$data = TagGroups::get($id);
return view('Admin.Shop.TagGroups.view', $data);
}
public function edit($id)
{
$data = TagGroups::get($id);
$data['article_families'] = ArticleNatures::getOptions();
return view('Admin.Shop.TagGroups.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return TagGroups::destroy($id);
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Repositories\Shop\SaleChannels;
use App\Repositories\Shop\Tariffs;
use App\Repositories\Shop\TariffUnities;
use App\Datatables\Shop\TariffsDataTable;
use App\Datatables\Shop\PriceListsDataTable;
class TariffController extends Controller
{
public function autocomplete(Request $request, $str = false)
{
$str = $str ? $str : $request->input('q');
return response()->json(Tariffs::autocomplete($str));
}
public function index(TariffsDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.Tariffs.list');
}
public function create()
{
$data['sale_channels'] = SaleChannels::getOptions();
$data['statuses'] = Tariffs::getStatuses();
$data['tariff_unities'] = TariffUnities::getOptions();
$model = new PriceListsDataTable();
$data['datatables']['price_lists'] = $model->html();
return view('Admin.Shop.Tariffs.create', $data);
}
public function show($id)
{
$data['tariff'] = Tariffs::getFull($id);
return view('Admin.Shop.Tariffs.view', $data);
}
public function edit($id)
{
$data['tariff'] = Tariffs::get($id);
$data['sale_channels'] = SaleChannels::getOptions();
$data['statuses'] = Tariffs::getStatuses();
$data['tariff_unities'] = TariffUnities::getOptions();
$model = new PriceListsDataTable();
$data['datatables']['price_lists'] = $model->html();
return view('Admin.Shop.Tariffs.edit', $data);
}
public function store(Request $request)
{
$ret = Tariffs::store($request->all());
return redirect()->route('Admin.Shop.Tariffs.index');
}
public function destroy($id)
{
return Tariffs::destroy($id);
}
}

View File

@@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Controllers\Shop\Admin; namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
@@ -11,7 +11,7 @@ class TaxController extends Controller
{ {
public function index(TaxesDataTable $dataTable) public function index(TaxesDataTable $dataTable)
{ {
return $dataTable->render('Shop.Admin.Taxes.list'); return $dataTable->render('Admin.Shop.Taxes.list');
} }
public function getDatatable(Request $request) public function getDatatable(Request $request)
@@ -23,26 +23,26 @@ class TaxController extends Controller
{ {
$data = []; $data = [];
$data['groups'] = TagGroups::getOptions(); $data['groups'] = TagGroups::getOptions();
return view('Shop.Admin.Taxes.create', $data); return view('Admin.Shop.Taxes.create', $data);
} }
public function store(Request $request) public function store(Request $request)
{ {
$ret = Taxes::store($request->all()); $ret = Taxes::store($request->all());
return redirect()->route('Shop.Admin.Taxes.index'); return redirect()->route('Admin.Shop.Taxes.index');
} }
public function show($id) public function show($id)
{ {
$data = Taxes::get($id); $data = Taxes::get($id);
return view('Shop.Admin.Taxes.view', $data); return view('Admin.Shop.Taxes.view', $data);
} }
public function edit($id) public function edit($id)
{ {
$data = Taxes::get($id); $data = Taxes::get($id);
$data['groups'] = TagGroups::getOptions(); $data['groups'] = TagGroups::getOptions();
return view('Shop.Admin.Taxes.edit', $data); return view('Admin.Shop.Taxes.edit', $data);
} }
public function update(Request $request) public function update(Request $request)
@@ -54,5 +54,4 @@ class TaxController extends Controller
{ {
return Taxes::destroy($id); return Taxes::destroy($id);
} }
} }

View File

@@ -0,0 +1,66 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleNatures;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\Unities;
use App\Datatables\Shop\UnitiesDataTable;
class UnityController extends Controller
{
public function index(UnitiesDataTable $dataTable)
{
$data['families'] = ArticleNatures::getOptions();
$data['packages'] = Packages::getOptions();
return $dataTable->render('Admin.Shop.Unities.list', $data);
}
public function getDatatable(Request $request)
{
return Unities::getTables($request->all());
}
public function getOptionsByPackage(Request $request)
{
$id = $request->input('package_id');
return response()->json(Unities::getOptionsByPackage($id));
}
public function create()
{
$data['packages'] = Packages::getOptions();
return view('Admin.Shop.Unities.create');
}
public function store(Request $request)
{
$ret = Unities::store($request->all());
return redirect()->route('Admin.Shop.Unities.index');
}
public function show($id)
{
$data = Unities::get($id);
return view('Admin.Shop.Unities.view', $data);
}
public function edit($id)
{
$data['packages'] = Packages::getOptions();
$data['unity'] = Unities::get($id)->toArray();
return view('Admin.Shop.Unities.edit', $data);
}
public function destroy($id)
{
return Unities::destroy($id);
}
public function update($id)
{
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\Unities;
use App\Repositories\Shop\Variations;
use App\Datatables\Shop\VariationsDataTable;
class VariationController extends Controller
{
public function autocomplete(Request $request, $str = false)
{
$str = $str ? $str : $request->input('q');
return response()->json(Variations::autocomplete($str));
}
public function index(VariationsDataTable $dataTable)
{
return $dataTable->render('Admin.Shop.Variations.list');
}
public function create()
{
$data['packages'] = Packages::getOptions();
$data['unities'] = Unities::getOptions();
return view('Admin.Shop.Variations.create', $data);
}
public function edit($id)
{
$data['variation'] = Variations::get($id);
$data['packages'] = Packages::getOptions();
$data['unities'] = Unities::getOptions();
return view('Admin.Shop.Variations.edit', $data);
}
public function store(Request $request)
{
$ret = Variations::store($request->all());
return redirect()->route('Admin.Shop.Variations.index');
}
public function show($id)
{
$data = Variations::get($id);
return view('Admin.Shop.Variations.view', $data);
}
public function destroy($id)
{
return Variations::destroy($id);
}
}

View File

@@ -26,7 +26,7 @@ class ConfirmPasswordController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '';
/** /**
* Create a new controller instance. * Create a new controller instance.

View File

@@ -19,4 +19,20 @@ class ForgotPasswordController extends Controller
*/ */
use SendsPasswordResetEmails; use SendsPasswordResetEmails;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
public function showLinkRequestForm()
{
$data = \App\Repositories\Config::init();
return view('auth.passwords.email', $data);
}
} }

View File

@@ -3,38 +3,49 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Repositories\Layout;
use Carbon\Carbon;
class LoginController extends Controller class LoginController extends Controller
{ {
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers; use AuthenticatesUsers;
protected $redirectTo = '/';
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct() public function __construct()
{ {
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
$this->middleware('guest:web')->except('logout');
}
public function showLoginForm()
{
$data = \App\Repositories\Config::init();
return view('auth.login', $data);
}
public function authenticated(Request $request, $user)
{
$request->session()->forget('password_expired_id');
if ($user->passwordSecurity->password_expiry_days > 0) {
$password_updated_at = $user->passwordSecurity->password_updated_at;
$password_expiry_days = $user->passwordSecurity->password_expiry_days;
$password_expiry_at = Carbon::parse($password_updated_at)->addDays($password_expiry_days);
if ($password_expiry_at->lessThan(Carbon::now())) {
$request->session()->put('password_expired_id', $user->id);
auth()->logout();
return redirect('/reset-password')->with('message', "Your password is expired. You need to change your password.");
}
}
return redirect()->intended($this->redirectPath());
}
public function username()
{
return 'username';
} }
} }

View File

@@ -0,0 +1,71 @@
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class PasswordSecurityController extends Controller
{
// reset password form
public function resetPasswordForm(Request $request)
{
$password_expired_id = $request->session()->get('password_expired_id');
if (!isset($password_expired_id)) {
return redirect('/login');
}
return view('auth.reset_password');
}
// reset password
public function resetPassword(Request $request)
{
// check expire id
$password_expired_id = $request->session()->get('password_expired_id');
if (!isset($password_expired_id)) {
return redirect('/login');
}
// validate
$validatedData = $request->validate(
[
'current_password' => 'required',
'new_password' => 'required|string|min:6|confirmed',
]
);
// the requests
$request_current_password = $request->current_password;
$request_new_password = $request->new_password;
$request_new_password_confirm = $request->new_password_confirm;
// the passwords matches
$user = User::find($password_expired_id);
if (!(Hash::check($request_current_password, $user->password))) {
return redirect()->back()->with("error", "Your current password does not matches with the password you provided. Please try again.");
}
// current password and new password are same
if (strcmp($request_current_password, $request->new_password) == 0) {
return redirect()->back()->with("error", "New password cannot be same as your current password. Please choose a different password.");
}
// new password and new password confirm doesn't match
if (strcmp($request_new_password, $request_new_password_confirm) == 1) {
return redirect()->back()->with("error", "New password doesn't match with confirm password.");
}
// change Password
$user->password = bcrypt($request->new_password);
$user->save();
// update password update time
$user->passwordSecurity->password_updated_at = Carbon::now();
$user->passwordSecurity->save();
return redirect('/login')->with("status", "Password changed successfully. Now you can login!");
}
}

View File

@@ -2,12 +2,11 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\User;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\Models\Core\Auth\User;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;
class RegisterController extends Controller class RegisterController extends Controller
{ {
@@ -29,7 +28,7 @@ class RegisterController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/** /**
* Create a new controller instance. * Create a new controller instance.
@@ -38,7 +37,7 @@ class RegisterController extends Controller
*/ */
public function __construct() public function __construct()
{ {
$this->middleware('guest'); $this->middleware('auth');
} }
/** /**
@@ -49,11 +48,13 @@ class RegisterController extends Controller
*/ */
protected function validator(array $data) protected function validator(array $data)
{ {
return Validator::make($data, [ return Validator::make(
'name' => ['required', 'string', 'max:255'], $data, [
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], 'name' => 'required|string|max:255',
'password' => ['required', 'string', 'min:8', 'confirmed'], 'email' => 'required|string|email|max:255|unique:users',
]); 'password' => 'required|string|min:6|confirmed',
]
);
} }
/** /**
@@ -64,10 +65,12 @@ class RegisterController extends Controller
*/ */
protected function create(array $data) protected function create(array $data)
{ {
return User::create([ return User::create(
[
'name' => $data['name'], 'name' => $data['name'],
'email' => $data['email'], 'email' => $data['email'],
'password' => Hash::make($data['password']), 'password' => Hash::make($data['password']),
]); ]
);
} }
} }

View File

@@ -2,8 +2,8 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Foundation\Auth\ResetsPasswords;
class ResetPasswordController extends Controller class ResetPasswordController extends Controller
@@ -26,5 +26,23 @@ class ResetPasswordController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
public function showResetForm(Request $request, $token = null)
{
$data = \App\Repositories\Config::init();
$data['token'] = $token;
$data['email'] = $request->email;
return view('auth.passwords.reset', $data);
}
} }

View File

@@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\VerifiesEmails; use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller class VerificationController extends Controller
@@ -26,7 +25,7 @@ class VerificationController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = RouteServiceProvider::HOME; protected $redirectTo = '/home';
/** /**
* Create a new controller instance. * Create a new controller instance.

View File

@@ -1,58 +0,0 @@
<?php
namespace App\Http\Controllers\Botanic\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Botanic\Families;
use App\Datatables\Botanic\FamiliesDataTable;
class FamilyController extends Controller
{
public function index(FamiliesDataTable $dataTable)
{
return $dataTable->render('Botanic.Admin.Families.list');
}
public function getDatatable(Request $request)
{
return Families::getTables($request->all());
}
public function create()
{
$data = [];
return view('Botanic.Admin.Families.create', $data);
}
public function store(Request $request)
{
$ret = Families::store($request);
return redirect()->route('Botanic.Admin.Families.index');
}
public function show($id)
{
$data = Families::get($id);
return view('Botanic.Admin.Families.view', $data);
}
public function edit($id)
{
$data['family'] = Families::get($id)->toArray();
return view('Botanic.Admin.Families.edit', $data);
}
public function destroy($id)
{
return Families::destroy($id);
}
public function exportExcel()
{
return Families::exportExcel();
}
}

View File

@@ -1,63 +0,0 @@
<?php
namespace App\Http\Controllers\Botanic\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Botanic\Species;
use App\Repositories\Botanic\Genres;
use App\Datatables\Botanic\SpeciesDataTable;
class SpecieController extends Controller
{
public function index(SpeciesDataTable $dataTable)
{
return $dataTable->render('Botanic.Admin.Species.list');
}
public function getDatatable(Request $request)
{
return Species::getDatatable($request->all());
}
public function getOptions()
{
return response()->json(Species::getOptions());
}
public function create()
{
return view('Botanic.Admin.Species.create');
}
public function store(Request $request)
{
$data = $request->all();
$ret = Species::store($data);
return redirect()->route('Botanic.Admin.Species.index');
}
public function show($id)
{
$data = Species::get($id);
return view('Botanic.Admin.Species.view', $data);
}
public function edit($id)
{
$data = Species::get($id);
$data['genres'] = Genres::getOptions();
return view('Botanic.Admin.Species.edit', $data);
}
public function destroy($id)
{
return Species::destroy($id);
}
public function exportExcel()
{
return Species::exportExcel();
}
}

View File

@@ -1,79 +0,0 @@
<?php
namespace App\Http\Controllers\Botanic\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Botanic\Varieties;
use App\Repositories\Botanic\Species;
use App\Repositories\Shop\TagGroups;
use App\Datatables\Botanic\VarietiesDataTable;
use App\Models\Shop\Variety;
class VarietyController extends Controller
{
public function index(VarietiesDataTable $dataTable)
{
return $dataTable->render('Botanic.Admin.Varieties.list');
}
public function getOptionsWithSpecie()
{
return response()->json(Varieties::getOptionsWithSpecie());
}
public function create()
{
$data['tags_list'] = TagGroups::getTreeTags();
return view('Botanic.Admin.Varieties.create', $data);
}
public function store(Request $request)
{
$data = $request->all();
Varieties::storeFull($data);
return redirect()->route('Botanic.Admin.Varieties.index');
}
public function show($id)
{
return view('Botanic.Admin.Varieties.view', Varieties::get($id));
}
public function edit($id)
{
$data = Varieties::getFull($id);
$data['species'] = Species::getOptions();
$data['tags_list'] = TagGroups::getTreeTags();
return view('Botanic.Admin.Varieties.edit', $data);
}
public function destroy($id)
{
return Varieties::destroy($id);
}
public function getImages(Request $request, $id = false, $can_edit = true)
{
$id = $id ? $id : $request->input('id');
$data['images'] = Varieties::getImages($id);
$data['can_edit'] = $can_edit;
return view('components.uploader.mini-gallery-items', $data);
}
public function deleteImage(Request $request)
{
$id = $request->input('id');
$index = $request->input('index');
return Varieties::deleteImage($id, $index);
}
public function exportExcel()
{
return Varieties::exportExcel();
}
}

View File

@@ -1,22 +0,0 @@
<?php
namespace App\Http\Controllers\JS;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Config;
class CacheController extends Controller
{
public function getCacheVersions()
{
$data['versions'] = Config::getCacheVersions();
$d = (string) view('js.cache', $data);
$d = html_entity_decode($d);
return self::render($d);
}
}

View File

@@ -1,80 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Articles;
use App\Repositories\Shop\ArticleFamilies;
use App\Datatables\Shop\ArticlesDataTable;
class ArticleController extends Controller
{
public function index(ArticlesDataTable $dataTable)
{
$data['families'] = ArticleFamilies::getOptions();
return $dataTable->render('Shop.Admin.Articles.list', $data);
}
public function getDatatable(Request $request)
{
return Articles::getTables($request->all());
}
public function create()
{
$data = $this->getMeta();
return view('Shop.Admin.Articles.create', $data);
}
public function store(Request $request)
{
$data = $request->all();
// dump($data);
// exit;
Articles::storeFull($data);
return redirect()->route('Shop.Admin.Articles.index');
}
public function show($id)
{
$data = Articles::get($id);
return view('Shop.Admin.Articles.view', $data);
}
public function edit($id)
{
$data = Articles::getFull($id);
return view('Shop.Admin.Articles.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return Articles::destroy($id);
}
public function getMeta($data = [])
{
return Articles::getMeta($data);
}
public function getImages(Request $request, $id = false)
{
$id = $id ? $id : $request->input('id');
$data['images'] = Articles::getImages($id);
return view('components.uploader.mini-gallery-items', $data);
}
public function deleteImage(Request $request)
{
$id = $request->input('id');
$index = $request->input('index');
return Articles::deleteImage($id, $index);
}
}

View File

@@ -1,56 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleFamilies;
use App\Datatables\Shop\ArticleFamiliesDataTable;
class ArticleFamilyController extends Controller
{
public function index(ArticleFamiliesDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.ArticleFamilies.list');
}
public function getDatatable(Request $request)
{
return ArticleFamilies::getTables($request->all());
}
public function create()
{
return view('Shop.Admin.ArticleFamilies.create');
}
public function store(Request $request)
{
$ret = ArticleFamilies::store($request->all());
return redirect()->route('Shop.Admin.ArticleFamilies.index');
}
public function show($id)
{
$data = ArticleFamilies::get($id);
return view('Shop.Admin.ArticleFamilies.view', $data);
}
public function edit($id)
{
$data = ArticleFamilies::get($id);
return view('Shop.Admin.ArticleFamilies.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return ArticleFamilies::destroy($id);
}
}

View File

@@ -1,88 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Shop\ArticlePrice;
use App\Repositories\Shop\ArticlePrices;
class ArticlePriceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\ArticlePrice $ArticlePrice
* @return \Illuminate\Http\Response
*/
public function show(ArticlePrice $ArticlePrice)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\ArticlePrice $ArticlePrice
* @return \Illuminate\Http\Response
*/
public function edit(ArticlePrice $ArticlePrice)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\ArticlePrice $ArticlePrice
* @return \Illuminate\Http\Response
*/
public function update(Request $request, ArticlePrice $ArticlePrice)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\ArticlePrice $ArticlePrice
* @return \Illuminate\Http\Response
*/
public function destroy(ArticlePrice $ArticlePrice)
{
//
}
}

View File

@@ -1,47 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Customers;
use App\Datatables\Shop\CustomersDataTable;
class CustomerController extends Controller
{
public function index(CustomersDataTable $dataTable)
{
$data = [];
return $dataTable->render('Shop.Admin.Customers.list', $data);
}
public function create()
{
return view('Shop.Admin.Customers.create');
}
public function store(Request $request)
{
$ret = Customers::store($request->all());
return redirect()->route('Shop.Admin.Customers.index');
}
public function show($id)
{
$data['customer'] = Customers::get($id);
return view('Shop.Admin.Customers.view', $data);
}
public function edit($id)
{
$data['customer'] = Customers::get($id)->toArray();
return view('Shop.Admin.Customers.edit', $data);
}
public function destroy($id)
{
return Customers::destroy($id);
}
}

View File

@@ -1,29 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return redirect('dashboard');
}
}

View File

@@ -1,86 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use App\Inventory;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class InventoryController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Inventory $inventory
* @return \Illuminate\Http\Response
*/
public function show(Inventory $inventory)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Inventory $inventory
* @return \Illuminate\Http\Response
*/
public function edit(Inventory $inventory)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Inventory $inventory
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Inventory $inventory)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Inventory $inventory
* @return \Illuminate\Http\Response
*/
public function destroy(Inventory $inventory)
{
//
}
}

View File

@@ -1,86 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use App\InventoryPlace;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class InventoryPlaceController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\InventoryPlace $inventoryPlace
* @return \Illuminate\Http\Response
*/
public function show(InventoryPlace $inventoryPlace)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\InventoryPlace $inventoryPlace
* @return \Illuminate\Http\Response
*/
public function edit(InventoryPlace $inventoryPlace)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\InventoryPlace $inventoryPlace
* @return \Illuminate\Http\Response
*/
public function update(Request $request, InventoryPlace $inventoryPlace)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\InventoryPlace $inventoryPlace
* @return \Illuminate\Http\Response
*/
public function destroy(InventoryPlace $inventoryPlace)
{
//
}
}

View File

@@ -1,46 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Invoices;
use App\Datatables\Shop\InvoicesDataTable;
class InvoiceController extends Controller
{
public function index(InvoicesDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.Invoices.list', $data);
}
public function create()
{
return view('Shop.Admin.Invoices.create');
}
public function store(Request $request)
{
$ret = Invoices::store($request->all());
return redirect()->route('Shop.Admin.Invoices.index');
}
public function show($id)
{
$data = Invoices::get($id);
return view('Shop.Admin.Invoices.view', $data);
}
public function edit($id)
{
$data['customer'] = Invoices::get($id)->toArray();
return view('Shop.Admin.Invoices.edit', $data);
}
public function destroy($id)
{
return Invoices::destroy($id);
}
}

View File

@@ -1,46 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\Orders;
use App\Datatables\Shop\OrdersDataTable;
class OrderController extends Controller
{
public function index(OrdersDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.Orders.list', $data);
}
public function create()
{
return view('Shop.Admin.Orders.create');
}
public function store(Request $request)
{
$ret = Orders::store($request->all());
return redirect()->route('Shop.Admin.Orders.index');
}
public function show($id)
{
$data = Orders::get($id);
return view('Shop.Admin.Orders.view', $data);
}
public function edit($id)
{
$data['customer'] = Orders::get($id)->toArray();
return view('Shop.Admin.Orders.edit', $data);
}
public function destroy($id)
{
return Orders::destroy($id);
}
}

View File

@@ -1,66 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleFamilies;
use App\Repositories\Shop\Packages;
use App\Datatables\Shop\PackagesDataTable;
class PackageController extends Controller
{
public function index(PackagesDataTable $dataTable)
{
$data['families'] = ArticleFamilies::getOptions();
return $dataTable->render('Shop.Admin.Packages.list', $data);
}
public function getDatatable(Request $request)
{
return Packages::getTables($request->all());
}
public function getOptionsByFamily(Request $request)
{
$id = $request->input('family_id');
return response()->json(Packages::getSelectByFamily($id));
}
public function create()
{
$data['families'] = ArticleFamilies::getOptions();
return view('Shop.Admin.Packages.create', $data);
}
public function store(Request $request)
{
$ret = Packages::store($request->all());
return redirect()->route('Shop.Admin.Packages.index');
}
public function show($id)
{
$data = Packages::get($id);
return view('Shop.Admin.Packages.view', $data);
}
public function edit($id)
{
$data['package'] = Packages::get($id);
$data['families'] = ArticleFamilies::getOptions();
return view('Shop.Admin.Packages.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return Packages::destroy($id);
}
}

View File

@@ -1,48 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleFamilies;
use App\Repositories\Shop\PriceGenericCategories;
use App\Datatables\Shop\PriceGenericCategoriesDataTable;
class PriceGenericCategoryController extends Controller
{
public function index(PriceGenericCategoriesDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.PriceGenericCategories.list');
}
public function create()
{
$data['families'] = ArticleFamilies::getOptions();
return view('Shop.Admin.PriceGenericCategories.create', $data);
}
public function edit($id)
{
$data['families'] = ArticleFamilies::getOptions();
$data['generic_category'] = PriceGenericCategories::get($id)->toArray();
return view('Shop.Admin.PriceGenericCategories.edit', $data);
}
public function store(Request $request)
{
$ret = PriceGenericCategories::store($request->all());
return redirect()->route('Shop.Admin.PriceGenericCategories.index');
}
public function show($id)
{
$data = PriceGenericCategories::get($id);
return view('Shop.Admin.PriceGenericCategories.view', $data);
}
public function destroy($id)
{
return PriceGenericCategories::destroy($id);
}
}

View File

@@ -1,68 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Shop\PriceGeneric;
use App\Repositories\Shop\PriceGenerics;
use App\Repositories\Shop\PriceGenericCategories;
use App\Repositories\Shop\Taxes;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\Unities;
use App\Datatables\Shop\PriceGenericsDataTable;
class PriceGenericController extends Controller
{
public function index(PriceGenericsDataTable $dataTable)
{
$data['categories'] = PriceGenericCategories::getOptions();
return $dataTable->render('Shop.Admin.PriceGenerics.list', $data);
}
public function getDatatable(Request $request)
{
return PriceGenerics::getTables($request->all());
}
public function create()
{
$data['unities'] = Unities::getOptions();
$data['taxes_options'] = Taxes::getOptions();
$data['categories'] = PriceGenericCategories::getOptions();
return view('Shop.Admin.PriceGenerics.create',$data);
}
public function edit($id)
{
$data['generic'] = PriceGenerics::getFull($id)->toArray();
$data['packages'] = Packages::getSelectByFamily($data['generic']['category']['article_family_id']);
$data['unities'] = ($data['packages']['id'] ?? false) ? Unities::getSelectByPackage($data['packages']['id']) : [];
$data['taxes_options'] = Taxes::getOptions();
$data['categories'] = PriceGenericCategories::getOptions();
return view('Shop.Admin.PriceGenerics.edit', $data);
}
public function store(Request $request)
{
$ret = PriceGenerics::store($request->all());
return redirect()->route('Shop.Admin.PriceGenerics.index');
}
public function show($id)
{
$data = PriceGenerics::get($id);
return view('Shop.Admin.PriceGenerics.view', $data);
}
public function destroy($id)
{
return PriceGenerics::destroy($id);
}
public function getPrice($id) {
$data['generic'] = PriceGenerics::getFull($id);
return view('Shop.Admin.PriceGenerics.partials.table-prices', $data);
}
}

View File

@@ -1,59 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\TagGroups;
use App\Repositories\Shop\ArticleFamilies;
use App\Datatables\Shop\TagGroupsDataTable;
class TagGroupController extends Controller
{
public function index(TagGroupsDataTable $dataTable)
{
return $dataTable->render('Shop.Admin.TagGroups.list');
}
public function getDatatable(Request $request)
{
return TagGroups::getTables($request->all());
}
public function create()
{
$data['article_families'] = ArticleFamilies::getOptions();
return view('Shop.Admin.TagGroups.create', $data);
}
public function store(Request $request)
{
$ret = TagGroups::store($request->all());
return redirect()->route('Shop.Admin.TagGroups.index');
}
public function show($id)
{
$data = TagGroups::get($id);
return view('Shop.Admin.TagGroups.view', $data);
}
public function edit($id)
{
$data = TagGroups::get($id);
$data['article_families'] = ArticleFamilies::getOptions();
return view('Shop.Admin.TagGroups.edit', $data);
}
public function update(Request $request)
{
//
}
public function destroy($id)
{
return TagGroups::destroy($id);
}
}

View File

@@ -1,67 +0,0 @@
<?php
namespace App\Http\Controllers\Shop\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleFamilies;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\Unities;
use App\Datatables\Shop\UnitiesDataTable;
class UnityController extends Controller
{
public function index(UnitiesDataTable $dataTable)
{
$data['families'] = ArticleFamilies::getOptions();
$data['packages'] = Packages::getOptions();
return $dataTable->render('Shop.Admin.Unities.list', $data);
}
public function getDatatable(Request $request)
{
return Unities::getTables($request->all());
}
public function getOptionsByPackage(Request $request)
{
$id = $request->input('package_id');
return response()->json(Unities::getOptionsByPackage($id));
}
public function create()
{
$data['packages'] = Packages::getOptions();
return view('Shop.Admin.Unities.create');
}
public function store(Request $request)
{
$ret = Unities::store($request->all());
return redirect()->route('Shop.Admin.Unities.index');
}
public function show($id)
{
$data = Unities::get($id);
return view('Shop.Admin.Unities.view', $data);
}
public function edit($id)
{
$data['packages'] = Packages::getOptions();
$data['unity'] = Unities::get($id)->toArray();
return view('Shop.Admin.Unities.edit', $data);
}
public function destroy($id)
{
return Unities::destroy($id);
}
public function update($id) {
}
}

View File

@@ -10,7 +10,6 @@ use App\Datatables\Shop\CategoriesDataTable;
class CategoryController extends Controller class CategoryController extends Controller
{ {
public function index(CategoriesDataTable $dataTable) public function index(CategoriesDataTable $dataTable)
{ {
return $dataTable->render('Shop.Categories.list'); return $dataTable->render('Shop.Categories.list');
@@ -31,5 +30,4 @@ class CategoryController extends Controller
{ {
return response()->json(Categories::getTree()); return response()->json(Categories::getTree());
} }
} }

View File

@@ -14,7 +14,8 @@ class CustomersImport implements ToModel, WithHeadingRow
$row['cp'] = (string) $row['cp']; $row['cp'] = (string) $row['cp'];
$row['mobile'] = '0' . (string) $row['mobile']; $row['mobile'] = '0' . (string) $row['mobile'];
dump($row); dump($row);
return new Client([ return new Client(
[
'civilite' => $row['civilite'], 'civilite' => $row['civilite'],
'name' => $row['nom'], 'name' => $row['nom'],
'firstname' => $row['prenom'], 'firstname' => $row['prenom'],
@@ -24,6 +25,7 @@ class CustomersImport implements ToModel, WithHeadingRow
'mobile' => $row['mobile'], 'mobile' => $row['mobile'],
'email' => $row['email'], 'email' => $row['email'],
'phone' => $row['telephone'], 'phone' => $row['telephone'],
]); ]
);
} }
} }

View File

@@ -14,14 +14,13 @@ class Botanic
->activeIfRoute('botanic') ->activeIfRoute('botanic')
->order(4); ->order(4);
$menu->addTo('botanic', 'Familles', [ 'route' => 'Botanic.Admin.Families.index', 'permission' => 'backend_access' ]) $menu->addTo('botanic', 'Familles', [ 'route' => 'Admin.Botanic.Families.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Botanic.Admin.Families.*'])->order(1); ->activeIfRoute(['Admin.Botanic.Families.*'])->order(1);
$menu->addTo('botanic', 'Genres', [ 'route' => 'Botanic.Admin.Genres.index', 'permission' => 'backend_access' ]) $menu->addTo('botanic', 'Genres', [ 'route' => 'Admin.Botanic.Genres.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Botanic.Admin.Genres.*'])->order(2); ->activeIfRoute(['Admin.Botanic.Genres.*'])->order(2);
$menu->addTo('botanic', 'Espèces', [ 'route' => 'Botanic.Admin.Species.index', 'permission' => 'backend_access' ]) $menu->addTo('botanic', 'Espèces', [ 'route' => 'Admin.Botanic.Species.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Botanic.Admin.Species.*'])->order(3); ->activeIfRoute(['Admin.Botanic.Species.*'])->order(3);
$menu->addTo('botanic', 'Variétés', [ 'route' => 'Botanic.Admin.Varieties.index', 'permission' => 'backend_access' ]) $menu->addTo('botanic', 'Variétés', [ 'route' => 'Admin.Botanic.Varieties.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Botanic.Admin.Varieties.*'])->order(4); ->activeIfRoute(['Admin.Botanic.Varieties.*'])->order(4);
} }
} }

View File

@@ -13,9 +13,10 @@ class Customers
->activeIfRoute('customers') ->activeIfRoute('customers')
->order(3); ->order(3);
$menu->addTo('customers', 'Clients', [ 'route' => 'Shop.Admin.Customers.index', 'permission' => 'backend_access' ]) $menu->addTo('customers', 'Clients', [ 'route' => 'Admin.Shop.Customers.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Customers.*'])->order(1); ->activeIfRoute(['Admin.Shop.Customers.*'])->order(1);
$menu->addTo('customers', 'Canaux de vente', [ 'route' => 'Admin.Shop.SaleChannels.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.SaleChannels.*'])->order(1);
} }
} }

View File

@@ -13,14 +13,13 @@ class Orders
->activeIfRoute('orders') ->activeIfRoute('orders')
->order(1); ->order(1);
$menu->addTo('orders', 'Commandes', [ 'route' => 'Shop.Admin.Orders.index', 'permission' => 'backend_access' ]) $menu->addTo('orders', 'Commandes', [ 'route' => 'Admin.Shop.Orders.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Orders.*'])->order(1); ->activeIfRoute(['Admin.Shop.Orders.*'])->order(1);
$menu->addTo('orders', 'Factures', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend_access' ]) $menu->addTo('orders', 'Factures', [ 'route' => 'Admin.Shop.Invoices.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Invoices.*'])->order(2); ->activeIfRoute(['Admin.Shop.Invoices.*'])->order(2);
$menu->addTo('orders', 'Avoirs', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend_access' ]) $menu->addTo('orders', 'Avoirs', [ 'route' => 'Admin.Shop.Invoices.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Invoices.*'])->order(3); ->activeIfRoute(['Admin.Shop.Invoices.*'])->order(3);
$menu->addTo('orders', 'Bons de livraison', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend_access' ]) $menu->addTo('orders', 'Bons de livraison', [ 'route' => 'Admin.Shop.Invoices.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Invoices.*'])->order(4); ->activeIfRoute(['Admin.Shop.Invoices.*'])->order(4);
} }
} }

View File

@@ -13,39 +13,28 @@ class Shop
->activeIfRoute('shop') ->activeIfRoute('shop')
->order(2); ->order(2);
$menu->addTo('shop', 'Articles', [ 'route' => 'Shop.Admin.Articles.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Articles', [ 'route' => 'Admin.Shop.Articles.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Articles.*'])->order(1); ->activeIfRoute(['Admin.Shop.Articles.*'])->order(1);
$menu->addTo('shop', 'Rayons', [ 'route' => 'Shop.Admin.Categories.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Déclinaisons', [ 'route' => 'Admin.Shop.Variations.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Categories.*'])->order(2); ->activeIfRoute(['Admin.Shop.Variations.*'])->order(2);
$menu->addTo('shop', 'Familles d\'articles', [ 'route' => 'Shop.Admin.ArticleFamilies.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Tarifs', [ 'route' => 'Admin.Shop.Tariffs.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.ArticleFamilies.*'])->order(3); ->activeIfRoute(['Admin.Shop.Tariffs.*'])->order(3);
/* $menu->addTo('shop', 'Offres', [ 'route' => 'Admin.Shop.Offers.index', 'permission' => 'backend_access' ])
$menu->addTo('shop', 'Attributs', [ 'route' => 'Shop.Admin.ArticleAttributeValues.index', 'permission' => 'backend_access' ]) ->activeIfRoute(['Admin.Shop.Offers.*'])->order(4);
->activeIfRoute(['Shop.Admin.ArticleAttributeValues.*'])->order(4);
*/
$menu->addTo('shop', 'Familles de tags', [ 'route' => 'Shop.Admin.TagGroups.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.TagGroups.*'])->order(5);
$menu->addTo('shop', 'Tags', [ 'route' => 'Shop.Admin.Tags.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Tags.*'])->order(6);
/* $menu->addTo('shop', 'Rayons', [ 'route' => 'Admin.Shop.Categories.index', 'permission' => 'backend_access' ])
$menu->addTo('shop', 'Réductions', [ 'route' => 'Shop.Admin.ArticleAttributeValues.index', 'permission' => 'backend_access' ]) ->activeIfRoute(['Admin.Shop.Categories.*'])->order(6);
->activeIfRoute(['Shop.Admin.ArticleAttributeValues.*'])->order(8);
$menu->addTo('shop', 'Stock', [ 'route' => 'Shop.Admin.ArticleAttributeValues.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.ArticleAttributeValues.*'])->order(9);
*/
$menu->addTo('shop', 'Prix génériques', [ 'route' => 'Shop.Admin.PriceGenerics.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.PriceGenerics.*'])->order(10);
$menu->addTo('shop', 'Catégories Prix génériques', [ 'route' => 'Shop.Admin.PriceGenericCategories.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Tags', [ 'route' => 'Admin.Shop.Tags.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.PriceGenericCategories.*'])->order(11); ->activeIfRoute(['Admin.Shop.Tags.*'])->order(8);
$menu->addTo('shop', 'Packages', [ 'route' => 'Shop.Admin.Packages.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Natures d\'articles', [ 'route' => 'Admin.Shop.ArticleNatures.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Packages.*'])->order(12); ->activeIfRoute(['Admin.Shop.ArticleNatures.*'])->order(9);
$menu->addTo('shop', 'Unités', [ 'route' => 'Shop.Admin.Unities.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.Unities.*'])->order(14);
$menu->addTo('shop', 'Packages', [ 'route' => 'Admin.Shop.Packages.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.Packages.*'])->order(12);
$menu->addTo('shop', 'Unités', [ 'route' => 'Admin.Shop.Unities.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.Unities.*'])->order(14);
} }
} }

View File

@@ -3,11 +3,14 @@
namespace App\Models\Botanic; namespace App\Models\Botanic;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use \Staudenmeir\EloquentHasManyDeep\HasRelationships; use Illuminate\Database\Eloquent\SoftDeletes;
use Wildside\Userstamps\Userstamps;
use Staudenmeir\EloquentHasManyDeep\HasRelationships;
class Family extends Model class Family extends Model
{ {
use HasRelationships; use HasRelationships, SoftDeletes, Userstamps;
protected $guarded = ['id']; protected $guarded = ['id'];
protected $table = 'botanic_families'; protected $table = 'botanic_families';
@@ -27,9 +30,8 @@ class Family extends Model
return $this->hasManyDeep('App\Models\Botanic\Variety', ['App\Models\Botanic\Genre', 'App\Models\Botanic\Specie']); return $this->hasManyDeep('App\Models\Botanic\Variety', ['App\Models\Botanic\Genre', 'App\Models\Botanic\Specie']);
} }
public function scopeByName($query,$name) public function scopeByName($query, $name)
{ {
return $query->where('name', $name); return $query->where('name', $name);
} }
} }

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