├── src ├── lang │ ├── .gitkeep │ ├── fr │ │ ├── pagination.php │ │ ├── mail.php │ │ ├── login.php │ │ ├── success.php │ │ ├── label.php │ │ ├── errors.php │ │ ├── reminders.php │ │ ├── datatable.php │ │ └── menu.php │ └── en │ │ ├── mail.php │ │ ├── login.php │ │ ├── success.php │ │ ├── label.php │ │ ├── errors.php │ │ ├── pagination.php │ │ ├── datatable.php │ │ ├── reminders.php │ │ └── menu.php ├── views │ ├── .gitkeep │ └── admin │ │ ├── form │ │ ├── state │ │ │ ├── datatable.blade.php │ │ │ └── form.blade.php │ │ ├── components │ │ │ └── datatable │ │ │ │ └── translations.blade.php │ │ └── partial │ │ │ └── errors.blade.php │ │ ├── part │ │ ├── footer.blade.php │ │ └── header.blade.php │ │ ├── errors │ │ └── default.blade.php │ │ ├── layout │ │ ├── error.blade.php │ │ ├── login.blade.php │ │ └── default.blade.php │ │ ├── login │ │ ├── forgot.blade.php │ │ └── signin.blade.php │ │ └── menu │ │ ├── left.blade.php │ │ └── left │ │ ├── main.blade.php │ │ └── sub.blade.php ├── config │ └── .gitkeep ├── database │ ├── migrations │ │ ├── .gitkeep │ │ ├── 2015_01_23_043138_create_session_table.php │ │ ├── 2014_10_12_100000_create_password_resets_table.php │ │ ├── 2015_01_15_054023_create_services_table.php │ │ ├── 2016_01_14_161812_add_nb_of_try_from_users_table.php │ │ ├── 2015_05_05_063515_create_translations_table.php │ │ ├── 2015_02_03_033718_create_languages_table.php │ │ ├── 2015_01_15_051650_create_roles_table.php │ │ ├── 2015_01_15_054124_create_permissions_table.php │ │ └── 2015_01_15_052133_create_users_table.php │ └── seeds │ │ ├── RolesTableSeeder.php │ │ ├── UsersTableSeeder.php │ │ └── LanguagesTableSeeder.php ├── resources │ └── assets │ │ ├── backend │ │ ├── fonts │ │ │ └── .gitkeep │ │ ├── images │ │ │ ├── logo.jpg │ │ │ ├── avatar.png │ │ │ ├── flags.png │ │ │ ├── loading.gif │ │ │ ├── select2.png │ │ │ ├── bg-white.png │ │ │ ├── social │ │ │ │ ├── vk.png │ │ │ │ ├── klout.png │ │ │ │ ├── quora.png │ │ │ │ ├── rss.png │ │ │ │ ├── skype.png │ │ │ │ ├── vimeo.png │ │ │ │ ├── xing.png │ │ │ │ ├── yahoo.png │ │ │ │ ├── aboutme.png │ │ │ │ ├── amazon.png │ │ │ │ ├── behance.png │ │ │ │ ├── blogger.png │ │ │ │ ├── dropbox.png │ │ │ │ ├── flickr.png │ │ │ │ ├── forrst.png │ │ │ │ ├── github.png │ │ │ │ ├── last-fm.png │ │ │ │ ├── myspace.png │ │ │ │ ├── picasa.png │ │ │ │ ├── reddit.png │ │ │ │ ├── spotify.png │ │ │ │ ├── tumblr.png │ │ │ │ ├── twitter.png │ │ │ │ ├── youtube.png │ │ │ │ ├── deviantart.png │ │ │ │ ├── dribbble.png │ │ │ │ ├── evernote.png │ │ │ │ ├── facebook.png │ │ │ │ ├── foursquare.png │ │ │ │ ├── googleplus.png │ │ │ │ ├── gravatar.png │ │ │ │ ├── instagram.png │ │ │ │ ├── jolicloud.png │ │ │ │ ├── linkedin.png │ │ │ │ ├── pintrest.png │ │ │ │ ├── wordpress.png │ │ │ │ └── stumbleupon.png │ │ │ ├── sort_asc.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ ├── ajax-loading.gif │ │ │ ├── arrow-down.png │ │ │ ├── back_enabled.png │ │ │ ├── bg-opacity.png │ │ │ ├── icon-color.png │ │ │ ├── icon-img-up.png │ │ │ ├── menu-toggler.png │ │ │ ├── order_icon.png │ │ │ ├── overlay-icon.png │ │ │ ├── back_disabled.png │ │ │ ├── bg-white-lock.png │ │ │ ├── icon-img-down.png │ │ │ ├── input-spinner.gif │ │ │ ├── uniform │ │ │ │ ├── sprite.png │ │ │ │ ├── bg-input.png │ │ │ │ └── bg-input-focus.png │ │ │ ├── forward_disabled.png │ │ │ ├── forward_enabled.png │ │ │ ├── icheck │ │ │ │ ├── flat │ │ │ │ │ ├── aero.png │ │ │ │ │ ├── blue.png │ │ │ │ │ ├── flat.png │ │ │ │ │ ├── green.png │ │ │ │ │ ├── grey.png │ │ │ │ │ ├── pink.png │ │ │ │ │ ├── red.png │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ ├── flat@2x.png │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ ├── orange.png │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ ├── purple.png │ │ │ │ │ ├── red@2x.png │ │ │ │ │ ├── yellow.png │ │ │ │ │ ├── green@2x.png │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ └── yellow@2x.png │ │ │ │ ├── line │ │ │ │ │ ├── line.png │ │ │ │ │ └── line@2x.png │ │ │ │ ├── square │ │ │ │ │ ├── red.png │ │ │ │ │ ├── aero.png │ │ │ │ │ ├── blue.png │ │ │ │ │ ├── green.png │ │ │ │ │ ├── grey.png │ │ │ │ │ ├── pink.png │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ ├── green@2x.png │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ ├── orange.png │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ ├── purple.png │ │ │ │ │ ├── red@2x.png │ │ │ │ │ ├── square.png │ │ │ │ │ ├── yellow.png │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ ├── square@2x.png │ │ │ │ │ └── yellow@2x.png │ │ │ │ ├── minimal │ │ │ │ │ ├── aero.png │ │ │ │ │ ├── blue.png │ │ │ │ │ ├── grey.png │ │ │ │ │ ├── pink.png │ │ │ │ │ ├── red.png │ │ │ │ │ ├── aero@2x.png │ │ │ │ │ ├── blue@2x.png │ │ │ │ │ ├── green.png │ │ │ │ │ ├── grey@2x.png │ │ │ │ │ ├── minimal.png │ │ │ │ │ ├── orange.png │ │ │ │ │ ├── pink@2x.png │ │ │ │ │ ├── purple.png │ │ │ │ │ ├── red@2x.png │ │ │ │ │ ├── yellow.png │ │ │ │ │ ├── green@2x.png │ │ │ │ │ ├── orange@2x.png │ │ │ │ │ ├── purple@2x.png │ │ │ │ │ ├── yellow@2x.png │ │ │ │ │ └── minimal@2x.png │ │ │ │ ├── polaris │ │ │ │ │ ├── polaris.png │ │ │ │ │ └── polaris@2x.png │ │ │ │ └── futurico │ │ │ │ │ ├── futurico.png │ │ │ │ │ └── futurico@2x.png │ │ │ ├── icon-color-close.png │ │ │ ├── remove-icon-small.png │ │ │ ├── search_icon_light.png │ │ │ ├── select2-spinner.gif │ │ │ ├── select2 │ │ │ │ ├── select2.png │ │ │ │ ├── select2x2.png │ │ │ │ └── select2-spinner.gif │ │ │ ├── sort_asc_disabled.png │ │ │ ├── syncfusion-icons.png │ │ │ ├── accordion-plusminus.png │ │ │ ├── ajax-modal-loading.gif │ │ │ ├── back_enabled_hover.png │ │ │ ├── hor-menu-red-arrow.png │ │ │ ├── portlet-config-icon.png │ │ │ ├── portlet-expand-icon.png │ │ │ ├── portlet-reload-icon.png │ │ │ ├── portlet-remove-icon.png │ │ │ ├── sidebar-menu-arrow.png │ │ │ ├── sort_desc_disabled.png │ │ │ ├── forward_enabled_hover.png │ │ │ ├── inbox-nav-arrow-blue.png │ │ │ ├── loading-spinner-blue.gif │ │ │ ├── loading-spinner-grey.gif │ │ │ ├── portlet-collapse-icon.png │ │ │ ├── syncfusion-icons-white.png │ │ │ ├── datatable-row-openclose.png │ │ │ ├── loading-spinner-default.gif │ │ │ ├── sidebar-menu-arrow-right.png │ │ │ ├── sidebar_arrow_icon_light.png │ │ │ ├── portlet-collapse-icon-white.png │ │ │ ├── portlet-config-icon-white.png │ │ │ ├── portlet-expand-icon-white.png │ │ │ ├── portlet-reload-icon-white.png │ │ │ ├── portlet-remove-icon-white.png │ │ │ ├── sidebar-menu-arrow-reverse.png │ │ │ ├── sidebar_toggler_icon_blue.png │ │ │ ├── sidebar_toggler_icon_grey.png │ │ │ ├── sidebar_toggler_icon_light.png │ │ │ ├── sidebar_toggler_icon_light2.png │ │ │ ├── sidebar_arrow_icon_light_rtl.png │ │ │ ├── sidebar_toggler_icon_darkblue.png │ │ │ ├── sidebar_toggler_icon_default.png │ │ │ ├── sidebar_inline_toggler_icon_blue.jpg │ │ │ ├── sidebar_inline_toggler_icon_grey.jpg │ │ │ ├── sidebar_inline_toggler_icon_light.jpg │ │ │ ├── sidebar_inline_toggler_icon_light2.jpg │ │ │ ├── sidebar_inline_toggler_icon_darkblue.jpg │ │ │ └── sidebar_inline_toggler_icon_default.jpg │ │ └── sass │ │ │ ├── global │ │ │ ├── plugins │ │ │ │ ├── _bootbox.scss │ │ │ │ ├── _ui-select.scss │ │ │ │ ├── _fancybox.scss │ │ │ │ ├── _dropzone.scss │ │ │ │ ├── icheck │ │ │ │ │ └── all.scss │ │ │ │ ├── _recaptcha.scss │ │ │ │ ├── _bootstrap-fileinput.scss │ │ │ │ ├── _bootstrap-editable.scss │ │ │ │ ├── _clockface.scss │ │ │ │ ├── _jquery-file-upload.scss │ │ │ │ ├── _gritter.scss │ │ │ │ ├── _jquery-slimscroll.scss │ │ │ │ ├── _jqvmap.scss │ │ │ │ ├── _jquery-pwstrength-bootstrap.scss │ │ │ │ ├── _bootstrap-colorpicker.scss │ │ │ │ ├── _bootstrap-datepaginator.scss │ │ │ │ ├── _gmaps.scss │ │ │ │ ├── _jquery-ui.scss │ │ │ │ ├── _bootstrap-timepicker.scss │ │ │ │ ├── _bootstrap-modal.scss │ │ │ │ ├── _fuelux.scss │ │ │ │ ├── _jquery-notific8.scss │ │ │ │ ├── _uniform.scss │ │ │ │ ├── _bootstrap-wysihtml5.scss │ │ │ │ ├── _morris.scss │ │ │ │ ├── _jquery-tags-input.scss │ │ │ │ ├── _nouislider.scss │ │ │ │ ├── _jquery-multi-select.scss │ │ │ │ ├── _bootstrap-datetimepicker.scss │ │ │ │ ├── _jquery-sparkline.scss │ │ │ │ ├── _bootstrap-datepicker.scss │ │ │ │ ├── _jquery-easy-pie-chart.scss │ │ │ │ ├── _bootstrap-toastr.scss │ │ │ │ ├── _bootstrap-summercode.scss │ │ │ │ ├── _bootstrap-markdown.scss │ │ │ │ ├── _bootstrap-daterangepicker.scss │ │ │ │ ├── _bootstrap-switch.scss │ │ │ │ └── _icheck.scss │ │ │ └── components │ │ │ │ ├── _translation.scss │ │ │ │ ├── _wells.scss │ │ │ │ ├── _close.scss │ │ │ │ ├── _list-groups.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _alerts.scss │ │ │ │ ├── _reset-rounds.scss │ │ │ │ ├── _progress-bars.scss │ │ │ │ ├── _charts.scss │ │ │ │ ├── _popovers.scss │ │ │ │ ├── _animate.scss │ │ │ │ └── _modals.scss │ │ │ ├── admin │ │ │ ├── components │ │ │ │ └── _form.scss │ │ │ ├── pages │ │ │ │ ├── about-us.scss │ │ │ │ ├── invoice.scss │ │ │ │ └── image-crop.scss │ │ │ ├── layout │ │ │ │ └── layout │ │ │ │ │ ├── _print.scss │ │ │ │ │ └── _page-container.scss │ │ │ ├── layout2 │ │ │ │ ├── layout │ │ │ │ │ ├── _print.scss │ │ │ │ │ └── _page-container.scss │ │ │ │ └── layout.scss │ │ │ ├── layout4 │ │ │ │ ├── layout │ │ │ │ │ └── _print.scss │ │ │ │ └── layout.scss │ │ │ └── layout3 │ │ │ │ ├── layout.scss │ │ │ │ └── layout │ │ │ │ ├── _print.scss │ │ │ │ └── _content.scss │ │ │ └── application.admin.scss │ │ └── frontend │ │ └── sass │ │ └── application.scss └── Distilleries │ ├── Expendable │ ├── Contracts │ │ ├── ListenerContract.php │ │ ├── StateContract.php │ │ ├── ExportContract.php │ │ ├── ImportContract.php │ │ ├── EventContract.php │ │ ├── ExportStateContract.php │ │ ├── ImportStateContract.php │ │ ├── StateDisplayerContract.php │ │ ├── LockableContract.php │ │ ├── TranslatableObserverContract.php │ │ ├── OrderContract.php │ │ ├── OrderStateContract.php │ │ └── LayoutManagerContract.php │ ├── Formatter │ │ └── Message.php │ ├── Models │ │ ├── Traits │ │ │ └── ReservedKeyWord.php │ │ ├── Service.php │ │ ├── Role.php │ │ ├── Language.php │ │ ├── Translation.php │ │ └── LockableTrait.php │ ├── Http │ │ ├── Requests │ │ │ └── Request.php │ │ ├── Controllers │ │ │ ├── Frontend │ │ │ │ ├── Base │ │ │ │ │ └── BaseController.php │ │ │ │ └── AssetController.php │ │ │ ├── Controller.php │ │ │ └── Backend │ │ │ │ ├── RoleController.php │ │ │ │ ├── LanguageController.php │ │ │ │ └── Base │ │ │ │ ├── ErrorController.php │ │ │ │ └── BaseComponent.php │ │ ├── Datatables │ │ │ ├── Service │ │ │ │ └── ServiceDatatable.php │ │ │ ├── Role │ │ │ │ └── RoleDatatable.php │ │ │ ├── Email │ │ │ │ └── EmailDatatable.php │ │ │ ├── Language │ │ │ │ └── LanguageDatatable.php │ │ │ ├── User │ │ │ │ └── UserDatatable.php │ │ │ └── BaseDatatable.php │ │ ├── Forms │ │ │ ├── Service │ │ │ │ └── ServiceForm.php │ │ │ ├── Permission │ │ │ │ └── PermissionForm.php │ │ │ ├── Login │ │ │ │ ├── Forgotten.php │ │ │ │ └── SignIn.php │ │ │ ├── Import │ │ │ │ └── ImportForm.php │ │ │ └── Export │ │ │ │ └── ExportForm.php │ │ └── Middleware │ │ │ ├── VerifyCsrfToken.php │ │ │ ├── ResponseXFrameHeaderMiddleware.php │ │ │ ├── SetterLanguage.php │ │ │ ├── OpCache.php │ │ │ ├── Cache.php │ │ │ ├── Secure.php │ │ │ ├── SetDisplayStatus.php │ │ │ ├── AuthenticateOnceWithBasicAuth.php │ │ │ ├── LanguageDetector.php │ │ │ └── Authenticate.php │ ├── Events │ │ ├── UserEvent.php │ │ └── EventDispatcher.php │ ├── Helpers │ │ └── TranslationUtils.php │ ├── Console │ │ └── Lib │ │ │ ├── stubs │ │ │ ├── controller-base-class-template.stub │ │ │ ├── controller-base-model-class-template.stub │ │ │ └── controller-base-component-class-template.stub │ │ │ └── Generators │ │ │ └── ComponentGenerator.php │ ├── ExpendableRoutingServiceProvider.php │ ├── Listeners │ │ └── BaseListener.php │ ├── Fondation │ │ └── Application.php │ ├── Mails │ │ └── ResetPasswordNotification.php │ ├── Observers │ │ └── PasswordObserver.php │ ├── Exceptions │ │ └── Handler.php │ ├── States │ │ ├── OrderStateTrait.php │ │ └── DatatableStateTrait.php │ └── Imports │ │ └── BaseImport.php │ └── routes │ ├── api.php │ └── console.php ├── tests ├── .gitkeep ├── data │ ├── 5601729.gif │ ├── exports │ │ ├── 2015-03-17 2015-03-19.xls │ │ └── 2015-03-17 2015-03-19.csv │ └── migrations │ │ └── 2016_10_30_011423_create_ordered_table.php ├── States │ └── StateDisplayerTest.php ├── ServiceProvider │ └── ServiceProviderTest.php └── Models │ └── LanguageTest.php ├── .gitignore ├── .scrutinizer.yml ├── Makefile ├── LICENSE.md ├── .travis.yml ├── Dockerfile └── phpunit.xml /src/lang/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/views/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/config/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/assets/backend/fonts/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/assets/frontend/sass/application.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/5601729.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/tests/data/5601729.gif -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | composer.phar 3 | composer.lock 4 | .DS_Store 5 | .idea 6 | tests/report 7 | coverage.clover -------------------------------------------------------------------------------- /src/resources/assets/backend/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/logo.jpg -------------------------------------------------------------------------------- /tests/data/exports/2015-03-17 2015-03-19.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/tests/data/exports/2015-03-17 2015-03-19.xls -------------------------------------------------------------------------------- /src/resources/assets/backend/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/avatar.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/flags.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/loading.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/select2.png -------------------------------------------------------------------------------- /src/lang/fr/pagination.php: -------------------------------------------------------------------------------- 1 | '« Précédent', 6 | 'next' => 'Suivant »', 7 | 8 | ]; 9 | -------------------------------------------------------------------------------- /src/resources/assets/backend/images/bg-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/bg-white.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/vk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/vk.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sort_asc.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sort_both.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sort_desc.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/ajax-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/ajax-loading.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/arrow-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/arrow-down.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/back_enabled.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/bg-opacity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/bg-opacity.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icon-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icon-color.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icon-img-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icon-img-up.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/menu-toggler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/menu-toggler.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/order_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/order_icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/overlay-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/overlay-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/klout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/klout.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/quora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/quora.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/rss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/rss.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/skype.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/skype.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/vimeo.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/xing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/xing.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/yahoo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/yahoo.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/back_disabled.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/bg-white-lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/bg-white-lock.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icon-img-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icon-img-down.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/input-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/input-spinner.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/aboutme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/aboutme.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/amazon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/amazon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/behance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/behance.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/blogger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/blogger.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/dropbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/dropbox.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/flickr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/flickr.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/forrst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/forrst.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/github.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/last-fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/last-fm.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/myspace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/myspace.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/picasa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/picasa.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/reddit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/reddit.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/spotify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/spotify.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/tumblr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/tumblr.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/twitter.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/youtube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/youtube.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/uniform/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/uniform/sprite.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/forward_disabled.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/forward_enabled.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/aero.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/blue.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/flat.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/green.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/grey.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/pink.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/red.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/line/line.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/red.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icon-color-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icon-color-close.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/remove-icon-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/remove-icon-small.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/search_icon_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/search_icon_light.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/select2-spinner.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/select2/select2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/select2/select2.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/select2/select2x2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/select2/select2x2.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/deviantart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/deviantart.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/dribbble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/dribbble.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/evernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/evernote.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/facebook.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/foursquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/foursquare.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/googleplus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/googleplus.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/gravatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/gravatar.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/instagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/instagram.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/jolicloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/jolicloud.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/linkedin.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/pintrest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/pintrest.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/wordpress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/wordpress.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/syncfusion-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/syncfusion-icons.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/uniform/bg-input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/uniform/bg-input.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/accordion-plusminus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/accordion-plusminus.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/ajax-modal-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/ajax-modal-loading.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/back_enabled_hover.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/hor-menu-red-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/hor-menu-red-arrow.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/aero@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/blue@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/flat@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/grey@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/orange.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/pink@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/purple.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/red@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/yellow.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/line/line@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/aero.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/blue.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/grey.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/pink.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/red.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/aero.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/blue.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/green.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/grey.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/pink.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/portlet-config-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/portlet-config-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/portlet-expand-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/portlet-expand-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/portlet-reload-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/portlet-reload-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/portlet-remove-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/portlet-remove-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar-menu-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar-menu-arrow.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/social/stumbleupon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/social/stumbleupon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /src/lang/en/mail.php: -------------------------------------------------------------------------------- 1 | 'User - Email Reminder', 6 | 'emails.password' => 'User - Email Reminder', 7 | 8 | ]; -------------------------------------------------------------------------------- /src/resources/assets/backend/images/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/forward_enabled_hover.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/green@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/orange@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/purple@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/flat/yellow@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/aero@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/blue@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/green.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/grey@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/minimal.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/orange.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/pink@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/purple.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/red@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/yellow.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/polaris/polaris.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/aero@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/blue@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/green@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/grey@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/orange.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/pink@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/purple.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/red@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/square.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/yellow.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/inbox-nav-arrow-blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/inbox-nav-arrow-blue.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/loading-spinner-blue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/loading-spinner-blue.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/loading-spinner-grey.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/loading-spinner-grey.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/portlet-collapse-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/portlet-collapse-icon.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/syncfusion-icons-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/syncfusion-icons-white.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/uniform/bg-input-focus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/uniform/bg-input-focus.png -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootbox.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootbox 3 | ***/ 4 | 5 | .bootbox { 6 | .bootbox-close-button { 7 | margin-top: 0px !important; 8 | } 9 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/images/datatable-row-openclose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/datatable-row-openclose.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/futurico/futurico.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/green@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/orange@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/purple@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/minimal/yellow@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/orange@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/purple@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/square@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/icheck/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/icheck/square/yellow@2x.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/loading-spinner-default.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/loading-spinner-default.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/select2/select2-spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/select2/select2-spinner.gif -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar-menu-arrow-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar-menu-arrow-right.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_arrow_icon_light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_arrow_icon_light.png -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/ListenerContract.php: -------------------------------------------------------------------------------- 1 | 'Utilisateur - Email reminder', 6 | 'emails.auth.reminder' => 'Utilisateur - Email reminder', 7 | 8 | ]; 9 | -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_arrow_icon_light_rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_arrow_icon_light_rtl.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_toggler_icon_darkblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_toggler_icon_darkblue.png -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_toggler_icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_toggler_icon_default.png -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/ExportContract.php: -------------------------------------------------------------------------------- 1 | 'Invalid login credentials, please try again.', 6 | 'locked' => 'Your account is locked. Contact the administrator.', 7 | 8 | ]; -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_inline_toggler_icon_darkblue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_inline_toggler_icon_darkblue.jpg -------------------------------------------------------------------------------- /src/resources/assets/backend/images/sidebar_inline_toggler_icon_default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Distilleries/Expendable/HEAD/src/resources/assets/backend/images/sidebar_inline_toggler_icon_default.jpg -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_ui-select.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | AngularJS UI-select 3 | ***/ 4 | 5 | .ui-select-match-close { 6 | margin-top: 5px !important; 7 | margin-left: 5px !important; 8 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_translation.scss: -------------------------------------------------------------------------------- 1 | a.edit-flag-link:hover, 2 | a.edit-flag-link:visited, 3 | a.edit-flag-link{ 4 | text-decoration: none; 5 | margin-right: 5px; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_fancybox.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Fancy box fix overlay fix 3 | ***/ 4 | .fancybox-overlay { 5 | z-index: 100000 ; 6 | } 7 | 8 | .fancybox-opened { 9 | z-index: 100001; 10 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Requests/Request.php: -------------------------------------------------------------------------------- 1 | 'Vos données de connexion ne sont pas correctes, veuillez réessayer à nouveau.', 6 | 'locked' => 'Votre compte est verrouillé. Veuillez contacter l\'administrateur.', 7 | 8 | ]; 9 | -------------------------------------------------------------------------------- /src/lang/fr/success.php: -------------------------------------------------------------------------------- 1 | 'Elément mis à jour', 6 | 'created' => 'L\'élement a été crée', 7 | 'generated' => 'Votre composant a été généré', 8 | 'imported' => 'Fichier importé', 9 | 10 | ]; 11 | -------------------------------------------------------------------------------- /src/lang/en/success.php: -------------------------------------------------------------------------------- 1 | 'Your item has been updated', 6 | 'created' => 'Your item has been created', 7 | 'generated' => 'Your component has been generated', 8 | 'imported' => 'File imported', 9 | 10 | ]; -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/EventContract.php: -------------------------------------------------------------------------------- 1 | 4 |
5 | @include('expendable::admin.form.partial.errors') 6 | @yield('datatable') 7 |
8 | 9 | @stop -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/ExportStateContract.php: -------------------------------------------------------------------------------- 1 | 'Offline', 6 | 'online' => 'Online', 7 | 'excel' => 'Excel', 8 | 'csv' => 'Csv', 9 | 'no' => 'No', 10 | 'yes' => 'Yes', 11 | 'html' => 'HTML', 12 | 'text' => 'Text', 13 | 'na' => 'n/a', 14 | 15 | ]; -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Frontend/Base/BaseController.php: -------------------------------------------------------------------------------- 1 | 'Hors ligne', 6 | 'online' => 'En ligne', 7 | 'excel' => 'Excel', 8 | 'csv' => 'CSV', 9 | 'no' => 'Non', 10 | 'yes' => 'Oui', 11 | 'html' => 'HTML', 12 | 'text' => 'Texte', 13 | 'na' => 'n/a', 14 | 15 | ]; 16 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-editable.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Editable 3 | ***/ 4 | 5 | .editable-input table, 6 | .editable-input table th, 7 | .editable-input table td, 8 | .editable-input table tr { 9 | border: 0 !important; 10 | } 11 | 12 | .editable-input .combodate select { 13 | margin-bottom: 5px; 14 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_clockface.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Clockface 3 | ***/ 4 | 5 | .modal-open .clockface { 6 | z-index: 10055 !important; 7 | } 8 | 9 | .clockface .cell .inner.active, 10 | .clockface .cell .outer.active { 11 | background-color:#4b8df8 !important; 12 | background-image: none ; 13 | filter:none ; 14 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-file-upload.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | jQuery File Upload 3 | ***/ 4 | 5 | .blueimp-gallery .close { 6 | background-image: url("../../../images/portlet-remove-icon-white.png") !important; 7 | margin-top: -2px; 8 | } 9 | 10 | .blueimp-gallery .prev, 11 | .blueimp-gallery .next { 12 | border-radius: 23px !important; 13 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_gritter.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Gritter notification modify 3 | ***/ 4 | 5 | #gritter-notice-wrapper { 6 | right:1px !important; 7 | } 8 | 9 | .gritter-close { 10 | left:auto !important; 11 | right: 3px !important; 12 | } 13 | 14 | .gritter-title { 15 | font-family: 'Open Sans' ; 16 | font-size: 18px ; 17 | font-weight: 300 ; 18 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-slimscroll.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | jQuery Slimscroll 3 | ***/ 4 | 5 | .scroller { 6 | padding: 0px ; 7 | margin: 0px ; 8 | padding-right: 12px ; 9 | overflow: hidden; 10 | } 11 | 12 | .scroller-footer { 13 | margin-top: 10px; 14 | 15 | @include clearfix(); 16 | } 17 | 18 | .portlet-body .slimScrollBar { 19 | margin-right: 0px ; 20 | } -------------------------------------------------------------------------------- /src/views/admin/form/state/form.blade.php: -------------------------------------------------------------------------------- 1 | @section('content') 2 | @yield('state.menu') 3 |
4 |
5 | @include('expendable::admin.form.partial.errors') 6 |
7 | @yield('form') 8 |
9 |
10 |
11 | @stop -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jqvmap.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | JQVMAP Plugin 3 | ***/ 4 | 5 | .jqvmap-zoomin { 6 | height: 16px; 7 | width: 16px; 8 | background-color: #666 ; 9 | } 10 | 11 | .jqvmap-zoomout { 12 | height: 16px; 13 | width: 16px; 14 | background-color: #666 ; 15 | } 16 | 17 | .vmaps { 18 | position: relative; 19 | overflow: hidden; 20 | height: 300px; 21 | } -------------------------------------------------------------------------------- /src/lang/en/errors.php: -------------------------------------------------------------------------------- 1 | 'Unauthorized action.', 6 | 'file_not_found' => 'File not found.', 7 | 'oops' => 'Oops! Something went wrong.', 8 | 'fixing_it' => 'We are fixing it!', 9 | 'come_back_later' => 'Please come back in a while.', 10 | 'be_right_back' => 'Be right back in a couple of minutes!', 11 | 12 | ]; -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-pwstrength-bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Password Strength(in v1.4) 3 | ***/ 4 | .password-strength .password-verdict { 5 | display: inline-block; 6 | margin-top: 6px; 7 | margin-left: 5px; 8 | } 9 | 10 | .password-strength .progress { 11 | margin-top: 5px; 12 | margin-bottom: 0; 13 | } 14 | 15 | .password-strength .progress-bar { 16 | padding: 2px; 17 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_close.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Bootstrap Close Icon 3 | ***/ 4 | 5 | .close { 6 | display: inline-block; 7 | margin-top: 0px; 8 | margin-right: 0px; 9 | width: 9px; 10 | height: 9px; 11 | background-repeat: no-repeat !important; 12 | text-indent: -10000px; 13 | outline: none; 14 | background-image: url("../../../images/remove-icon-small.png") !important; 15 | } 16 | -------------------------------------------------------------------------------- /src/lang/fr/errors.php: -------------------------------------------------------------------------------- 1 | 'Action non autorisée.', 6 | 'file_not_found' => 'Fichier non trouvé.', 7 | 'oops' => 'Oops! Quelque chose est allé de travers.', 8 | 'fixing_it' => 'Nous sommes en train de le fixer !', 9 | 'come_back_later' => 'Veuillez revenir dans quelques instants.', 10 | 'be_right_back' => 'De retour dans quelques minutes !', 11 | 12 | ]; 13 | -------------------------------------------------------------------------------- /tests/States/StateDisplayerTest.php: -------------------------------------------------------------------------------- 1 | initService(); 8 | $object = $this->app->make('Distilleries\Expendable\Contracts\StateDisplayerContract'); 9 | $this->assertInstanceOf('Distilleries\Expendable\Contracts\StateDisplayerContract', $object); 10 | } 11 | 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/TranslatableObserverContract.php: -------------------------------------------------------------------------------- 1 | hasMany('Distilleries\Expendable\Models\Permission'); 10 | } 11 | 12 | public function getByAction($action) { 13 | return $this->where('action', '=', $action)->get(); 14 | } 15 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/components/_form.scss: -------------------------------------------------------------------------------- 1 | .form-horizontal { 2 | 3 | .radio { 4 | min-height: 36px; 5 | } 6 | 7 | .icheck-list { 8 | .icheckbox_line-blue.disabled { 9 | background: #2489c5; 10 | &.checked { 11 | background: #2489C6; 12 | } 13 | } 14 | .icheckbox_line-grey.disabled { 15 | background: #73716e; 16 | &.checked { 17 | background: #73716e; 18 | } 19 | } 20 | } 21 | 22 | } -------------------------------------------------------------------------------- /src/views/admin/part/footer.blade.php: -------------------------------------------------------------------------------- 1 | @section('footer') 2 | 3 |
4 | 5 |
6 | @if (app()->environment() !== 'testing') 7 | 8 | 9 | @endif 10 | @include('expendable::admin.part.validation') 11 | @stop -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Helpers/TranslationUtils.php: -------------------------------------------------------------------------------- 1 | $iso]); 10 | 11 | } 12 | 13 | public static function resetOverrideLocal() 14 | { 15 | config([self::KEY_OVERRIDE_LOCAL => null]); 16 | } 17 | 18 | 19 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | 'Les mots de passe doivent avoir au moins six caractères et doivent être identiques.', 6 | 'reset' => 'Votre mot de passe a été réinitialisé !', 7 | 'sent' => 'Nous vous avons envoyé par courriel le lien de réinitialisation du mot de passe !', 8 | 'token' => "Ce jeton de réinitialisation du mot de passe n'est pas valide.", 9 | 'user' => "Aucun utilisateur n'a été trouvé avec cette adresse e-mail.", 10 | 11 | ]; 12 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/Service/ServiceDatatable.php: -------------------------------------------------------------------------------- 1 | add('id', null, trans('expendable::datatable.id')) 11 | ->add('action', null, trans('expendable::datatable.action')); 12 | 13 | $this->addDefaultAction(); 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Service/ServiceForm.php: -------------------------------------------------------------------------------- 1 | 'required|unique:services' 9 | ]; 10 | 11 | public function buildForm() 12 | { 13 | $this 14 | ->add('id', 'hidden') 15 | ->add('action', 'text'); 16 | 17 | $this->addDefaultActions(); 18 | } 19 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Models/Role.php: -------------------------------------------------------------------------------- 1 | hasOne('Distilleries\Expendable\Models\User'); 14 | } 15 | 16 | public function permissions() 17 | { 18 | return $this->hasMany('Distilleries\Expendable\Models\Permission'); 19 | } 20 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-datepaginator.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Datepaginator 3 | ***/ 4 | 5 | .datepaginator a { 6 | font-family: 'Open Sans'; 7 | font-size: 13px; 8 | font-weight: 300; 9 | } 10 | 11 | .datepicker .today { 12 | background-image: none !important; 13 | filter: none !important; 14 | } 15 | 16 | #dp-calendar { 17 | right: 4px !important; 18 | } 19 | 20 | .datepaginator .fa-angle-right:before { 21 | content: "\f105"; 22 | } 23 | 24 | .datepaginator .fa-angle-left:before { 25 | content: "\f104"; 26 | } 27 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/pages/about-us.scss: -------------------------------------------------------------------------------- 1 | @import '../../global/_variables'; // global variables. 2 | @import '../../global/components/_mixins'; // global mixings. 3 | 4 | /*** 5 | Anout Us Page 6 | ***/ 7 | 8 | .meet-our-team h3 { 9 | margin-bottom: 0; 10 | padding: 10px; 11 | background: #f9f9f9; 12 | } 13 | 14 | .meet-our-team small { 15 | display:block; 16 | font-size:12px; 17 | color: #999; 18 | margin-top: 5px; 19 | } 20 | 21 | .meet-our-team .team-info { 22 | padding: 10px; 23 | overflow: hidden; 24 | background: #f5f5f5; 25 | } -------------------------------------------------------------------------------- /src/views/admin/errors/default.blade.php: -------------------------------------------------------------------------------- 1 | @section('content') 2 |
3 |
4 |
5 | {{ $code }} 6 |
7 |
8 |

{{ trans('expendable::errors.oops') }}

9 | @if (config('app.debug')) 10 |

{{ $message }}

11 | @else 12 |

13 | {{ trans('expendable::errors.fixing_it') }}
14 | {{ trans('expendable::errors.come_back_later') }}

15 |

16 | @endif 17 |
18 |
19 |
20 | @stop -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/application.admin.scss: -------------------------------------------------------------------------------- 1 | @import "global/plugins"; 2 | @import "global/components"; 3 | @import "global/flags"; 4 | @import "admin/layout/layout"; 5 | @import "admin/pages/login3"; 6 | @import "admin/pages/error"; 7 | @import "admin/components/_form"; 8 | 9 | .form-inline { 10 | display: inline; 11 | } 12 | 13 | .login-form { 14 | .form-control { 15 | padding-left: 30px; 16 | } 17 | 18 | .col-md-3, 19 | .col-md-4 { 20 | width: auto; 21 | float: none; 22 | padding-left: 0; 23 | padding-right: 0; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_gmaps.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Google Maps 3 | ***/ 4 | 5 | .gmaps { 6 | height: 300px; 7 | width: 100%; 8 | 9 | /* important! bootstrap sets max-width on img to 100% which conflicts with google map canvas*/ 10 | img { 11 | max-width: none; 12 | } 13 | } 14 | 15 | 16 | #gmap_static div{ 17 | background-repeat: no-repeat ; 18 | background-position: 50% 50% ; 19 | height:100%; 20 | display:block; 21 | height: 300px; 22 | } 23 | 24 | #gmap_routes_instructions { 25 | margin-top: 10px; 26 | margin-bottom: 0px; 27 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-ui.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | jQuery UI Sliders(new in v1.1.1) 3 | ***/ 4 | .slider { 5 | border: 0; 6 | padding: 0; 7 | display: block; 8 | margin: 12px 5px; 9 | min-height: 11px; 10 | } 11 | 12 | .ui-slider-vertical { 13 | width: 11px; 14 | } 15 | 16 | .ui-slider-horizontal .ui-slider-handle { 17 | top: -3px; 18 | } 19 | 20 | .ui-slider-vertical .ui-slider-handle { 21 | left: -3px; 22 | } 23 | 24 | .ui-slider-vertical, 25 | .ui-slider-handle { 26 | filter: none !important; 27 | background-image: none !important; 28 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-timepicker.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Time Picker 3 | ***/ 4 | .bootstrap-timepicker-widget table td a { 5 | padding: 4px 0; 6 | } 7 | 8 | .bootstrap-timepicker-widget input, 9 | .bootstrap-timepicker-widget input:focus { 10 | outline: none !important; 11 | border: 0; 12 | } 13 | 14 | .modal-open .bootstrap-timepicker-widget { 15 | z-index: 10055 !important; 16 | } 17 | 18 | .bootstrap-timepicker-widget.timepicker-orient-bottom:before, 19 | .bootstrap-timepicker-widget.timepicker-orient-bottom:after { 20 | top: auto; 21 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Console/Lib/stubs/controller-base-class-template.stub: -------------------------------------------------------------------------------- 1 | initService(); 8 | $this->assertTrue(in_array('Distilleries\Expendable\Contracts\StateDisplayerContract', $this->facades)); 9 | } 10 | 11 | public function testLayoutManagerContractProvided() 12 | { 13 | $this->initService(); 14 | $this->assertTrue(in_array('Distilleries\Expendable\Contracts\LayoutManagerContract', $this->facades)); 15 | } 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/Role/RoleDatatable.php: -------------------------------------------------------------------------------- 1 | add('id', null, trans('expendable::datatable.id')) 11 | ->add('libelle', null, trans('expendable::datatable.libelle')) 12 | ->add('initials', null, trans('expendable::datatable.initials')); 13 | 14 | $this->addDefaultAction(); 15 | 16 | } 17 | } -------------------------------------------------------------------------------- /src/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; -------------------------------------------------------------------------------- /src/Distilleries/Expendable/ExpendableRoutingServiceProvider.php: -------------------------------------------------------------------------------- 1 | app->singleton('router', function($app) { 17 | return new Router($app['events'], $app); 18 | }); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-modal.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Modal 3 | ***/ 4 | /* fix: content shifting to the right on modal open */ 5 | 6 | .modal-open.page-overflow .page-container, 7 | .modal-open.page-overflow .page-container .navbar-fixed-top, 8 | .modal-open.page-overflow .page-container .navbar-fixed-bottom, 9 | .modal-open.page-overflow .modal-scrollable { 10 | overflow-y: auto !important; 11 | } 12 | 13 | .modal-scrollable { 14 | overflow: hidden !important; 15 | } 16 | 17 | /* BS 3.3.1 fix */ 18 | 19 | .modal-backdrop { 20 | position: fixed; 21 | bottom: 0; 22 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Permission/PermissionForm.php: -------------------------------------------------------------------------------- 1 | model->getArea(); 10 | $areas_selected = $this->model->getAreaSelected(); 11 | 12 | $this->add('permission', 'choice_area', [ 13 | 'choices' => $areas, 14 | 'selected' => $areas_selected 15 | ]); 16 | $this->addDefaultActions(); 17 | } 18 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 'superadmin', 12 | 'initials' => '@sa', 13 | 'overide_permission' => true, 14 | ]); 15 | 16 | Role::create([ 17 | 'libelle' => 'admin', 18 | 'initials' => '@a', 19 | 'overide_permission' => false, 20 | ]); 21 | } 22 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Contracts/LayoutManagerContract.php: -------------------------------------------------------------------------------- 1 | headers->set('X-Frame-Options', 'SAMEORIGIN', false); 20 | 21 | return $response; 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/database/seeds/UsersTableSeeder.php: -------------------------------------------------------------------------------- 1 | $faker->email, 17 | 'password' => \Hash::make('test'), 18 | 'status' => true, 19 | 'role_id' => 1, 20 | ]); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/database/migrations/2015_01_23_043138_create_session_table.php: -------------------------------------------------------------------------------- 1 | string('id')->unique(); 17 | $t->text('payload'); 18 | $t->integer('last_activity'); 19 | }); 20 | } 21 | 22 | /** 23 | * Reverse the migrations. 24 | * 25 | * @return void 26 | */ 27 | public function down() 28 | { 29 | Schema::drop('sessions'); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_pagination.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Bootstrap Pagination 3 | ***/ 4 | 5 | .pagination { 6 | margin: 10px 0; 7 | 8 | &.pagination-circle { 9 | > li { 10 | 11 | &:first-child { 12 | > a { 13 | border-radius: 25px 0 0 25px !important; 14 | } 15 | } 16 | 17 | &:last-child { 18 | > a { 19 | border-radius: 0 25px 25px 0 !important; 20 | } 21 | } 22 | } 23 | } 24 | 25 | .active > a, 26 | .active > a:hover { 27 | background: #eee; 28 | border-color: #dddddd; 29 | color: #333; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-wysihtml5.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | wysihtml5 3 | ***/ 4 | 5 | .wysihtml5-sandbox { 6 | width: 100% !important; 7 | } 8 | 9 | .wysihtml5-toolbar li { 10 | margin: 0px; 11 | height: 29px; 12 | } 13 | 14 | .wysihtml5-toolbar li .dropdown-menu { 15 | margin-top: 5px; 16 | } 17 | 18 | /*** 19 | Error state for WYSIWYG Editors 20 | ***/ 21 | .has-error .wysihtml5-sandbox { 22 | border: 1px solid $state-danger-border !important; 23 | } 24 | 25 | .has-success .wysihtml5-sandbox { 26 | border: 1px solid $state-success-border !important; 27 | } 28 | 29 | .has-warning .wysihtml5-sandbox { 30 | border: 1px solid $state-warning-border !important; 31 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/SetterLanguage.php: -------------------------------------------------------------------------------- 1 | session()->has('language')) { 22 | $local = $request->session()->get('language', config('app.locale')); 23 | app()->setLocale($local); 24 | } 25 | 26 | return $next($request); 27 | } 28 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Listeners/BaseListener.php: -------------------------------------------------------------------------------- 1 | [ 11 | * 'action'=>'handleLogin', 12 | * 'priority'=>0 13 | * ] 14 | * ] 15 | * 16 | */ 17 | protected $events = []; 18 | 19 | public function listen() 20 | { 21 | foreach ($this->events as $name => $event) 22 | { 23 | Event::listen($name, get_class($this).'@'.$event['action'], $event['priority']); 24 | } 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /src/lang/en/datatable.php: -------------------------------------------------------------------------------- 1 | 'Subject', 5 | 'type' => 'Type', 6 | 'id' => 'Id', 7 | 'libelle' => 'Libelle', 8 | 'email' => 'Email', 9 | 'iso' => 'Iso', 10 | 'initials' => 'Initials', 11 | 'action' => 'Action', 12 | 'status' => 'Status', 13 | 'view' => 'View', 14 | 'edit' => 'Edit', 15 | 'remove' => 'Remove', 16 | 'no' => 'No', 17 | 'yes' => 'Yes', 18 | 'are_you_sure' => 'Are you sure?', 19 | 'unlock' => 'Unlock', 20 | 'lock' => 'Lock', 21 | 'order' => 'Order', 22 | 'label' => 'Label', 23 | ]; -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_morris.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Morris Charts 3 | ***/ 4 | 5 | .portlet-body-morris-fit { 6 | margin-right: -20px; 7 | margin-left: -20px; 8 | margin-bottom: -15px; 9 | 10 | > svg { 11 | @include border-radius(0 0 $portlet-border-radius $portlet-border-radius); 12 | } 13 | } 14 | 15 | .morris-hover.morris-default-style { 16 | 17 | 18 | .morris-hover-row-label { 19 | text-align: left; 20 | font-weight: 400; 21 | font-size: 15px; 22 | color: #7D8C9D; 23 | font-family: $font-family-primary; 24 | } 25 | 26 | .morris-hover-point { 27 | text-align: left; 28 | font-size: 14px; 29 | font-weight: 400; 30 | font-family: $font-family-primary; 31 | } 32 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Models/Language.php: -------------------------------------------------------------------------------- 1 | where($this->getTable().'.iso', '<>', app()->getLocale()); 18 | } 19 | 20 | public function scopeWithTranslationElement($query) 21 | { 22 | return $query->where($this->getTable().'.iso', '<>', app()->getLocale()); 23 | } 24 | } -------------------------------------------------------------------------------- /src/views/admin/layout/error.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | @yield('header') 10 | 11 | 12 | 13 | 14 |
15 |
16 | @yield('content') 17 |
18 | 19 | @yield('footer') 20 | 21 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-tags-input.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Modify jquery-tags-input plugin css 3 | ***/ 4 | 5 | div.tagsinput { 6 | min-height: 35px; 7 | height: auto !important; 8 | margin: 0; 9 | padding: 5px 5px 0px 5px; 10 | overflow: auto; 11 | } 12 | 13 | div.tagsinput span.tag { 14 | background: #aaa ; 15 | color: #fff ; 16 | border: 0 ; 17 | padding: 3px 6px; 18 | margin-top: 0; 19 | margin-bottom: 5px; 20 | } 21 | 22 | div.tagsinput input { 23 | padding: 3px 6px ; 24 | width: 75px !important; 25 | } 26 | 27 | div.tagsinput span.tag a { 28 | color: #fff ; 29 | } 30 | 31 | div.tagsinput .not_valid { 32 | color: #fff ; 33 | padding: 3px 6px ; 34 | background-color: #e02222 ; 35 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_alerts.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Bootstrap Alerts 3 | ***/ 4 | 5 | .alert { 6 | border-width: 1px; 7 | 8 | &.alert-borderless { 9 | border: 0; 10 | } 11 | } 12 | 13 | /*** 14 | Bootstrap Alerts 15 | ***/ 16 | 17 | .alert-success { 18 | @include alert-variant($state-success-bg, $state-success-border, $state-success-text); 19 | } 20 | 21 | .alert-info { 22 | @include alert-variant($state-info-bg, $state-info-border, $state-info-text); 23 | } 24 | 25 | .alert-warning { 26 | @include alert-variant($state-warning-bg, $state-warning-border, $state-warning-text); 27 | } 28 | 29 | .alert-danger { 30 | @include alert-variant($state-danger-bg, $state-danger-border, $state-danger-text); 31 | } -------------------------------------------------------------------------------- /src/lang/fr/datatable.php: -------------------------------------------------------------------------------- 1 | 'Sujet', 6 | 'type' => 'Type', 7 | 'id' => 'ID', 8 | 'libelle' => 'Libellé', 9 | 'email' => 'Email', 10 | 'iso' => 'ISO', 11 | 'initials' => 'Initiales', 12 | 'action' => 'Action', 13 | 'status' => 'Statut', 14 | 'view' => 'Voir', 15 | 'edit' => 'Editer', 16 | 'remove' => 'Supprimer', 17 | 'no' => 'Non', 18 | 'yes' => 'Oui', 19 | 'are_you_sure' => 'Etes-vous sûr ?', 20 | 'unlock' => 'Vérrouiller', 21 | 'lock' => 'Déverrouiller', 22 | 'order' => 'Ordonner', 23 | 'label' => 'Intitulé', 24 | 25 | ]; -------------------------------------------------------------------------------- /src/database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token')->index(); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('password_resets'); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_nouislider.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | NoUIRangeSlider 3 | ***/ 4 | 5 | .noUi-control { 6 | margin: 9px 0; 7 | } 8 | 9 | /*** 10 | Color variants 11 | ***/ 12 | 13 | @mixin noui-rangeslider-variant($state, $background) { 14 | .noUi-#{$state}.noUi-connect, 15 | .noUi-#{$state} .noUi-connect { 16 | background: $background; 17 | } 18 | } 19 | 20 | @include noui-rangeslider-variant("primary", $btn-primary-bg); 21 | @include noui-rangeslider-variant("info", $btn-info-bg); 22 | @include noui-rangeslider-variant("success", $btn-success-bg); 23 | @include noui-rangeslider-variant("warning", $btn-warning-bg); 24 | @include noui-rangeslider-variant("danger", $btn-danger-bg); 25 | @include noui-rangeslider-variant("default", $brand-default); -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Backend/RoleController.php: -------------------------------------------------------------------------------- 1 | datatable = $datatable; 15 | $this->form = $form; 16 | } 17 | } -------------------------------------------------------------------------------- /src/views/admin/login/forgot.blade.php: -------------------------------------------------------------------------------- 1 | @section('content') 2 | {!! form_start($form) !!} 3 |

{{ trans('expendable::form.forgot_password') }}

4 | @include('expendable::admin.form.partial.errors') 5 |

{{trans('expendable::form.enter_your_email_below_to_reset_your_password')}}

6 |
7 | {!! form_label($form->email,['class'=>'control-label visible-ie8 visible-ie9']) !!} 8 |
9 | 10 | {!! form_widget($form->email) !!} 11 |
12 |
13 |
14 | {!! form_widget($form->send) !!} 15 |
16 | {!! form_end($form) !!} 17 | @stop 18 | -------------------------------------------------------------------------------- /src/database/migrations/2015_01_15_054023_create_services_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('action')->unique(); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::drop('services'); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/database/migrations/2016_01_14_161812_add_nb_of_try_from_users_table.php: -------------------------------------------------------------------------------- 1 | integer('nb_of_try')->default(0); 17 | }); 18 | } 19 | 20 | /** 21 | * Reverse the migrations. 22 | * 23 | * @return void 24 | */ 25 | public function down() 26 | { 27 | Schema::table('users', function (Blueprint $table) { 28 | $table->dropColumn('nb_of_try'); 29 | }); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/database/seeds/LanguagesTableSeeder.php: -------------------------------------------------------------------------------- 1 | 'English', 13 | 'iso' => 'en', 14 | 'status' => true, 15 | 'not_visible' => false, 16 | 'is_default' => true, 17 | ]); 18 | 19 | Language::create([ 20 | 'libelle' => 'French', 21 | 'iso' => 'fr', 22 | 'status' => true, 23 | 'not_visible' => true, 24 | 'is_default' => true, 25 | ]); 26 | 27 | 28 | } 29 | } -------------------------------------------------------------------------------- /src/database/migrations/2015_05_05_063515_create_translations_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->text('iso'); 19 | $table->text('model'); 20 | $table->integer('id_element'); 21 | $table->integer('id_source')->default(0); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::drop('translations'); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /tests/data/migrations/2016_10_30_011423_create_ordered_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 17 | $table->string('label'); 18 | $table->smallInteger('order')->unsigned(); 19 | $table->timestamps(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('ordered'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_reset-rounds.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Rounded corners reset 3 | ***/ 4 | 5 | /* Reset rounded corners for all elements */ 6 | 7 | div, 8 | input, 9 | select, 10 | textarea, 11 | span, 12 | img, 13 | table, 14 | label, 15 | td, 16 | th, 17 | p, 18 | a, 19 | button, 20 | ul, 21 | code, 22 | pre, 23 | li { 24 | -webkit-border-radius: 0 !important; 25 | -moz-border-radius: 0 !important; 26 | border-radius: 0 !important; 27 | } 28 | 29 | /* except below bootstrap elements */ 30 | 31 | .img-circle { 32 | border-radius: 50% !important; 33 | } 34 | 35 | .img-rounded { 36 | border-radius: 6px !important; 37 | } -------------------------------------------------------------------------------- /src/views/admin/menu/left.blade.php: -------------------------------------------------------------------------------- 1 | @section('menu_left') 2 | 3 |
4 | 17 |
18 | @stop -------------------------------------------------------------------------------- /src/views/admin/part/header.blade.php: -------------------------------------------------------------------------------- 1 | @section('header') 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {{ $title }} 10 | 11 | 12 | @if (app()->environment() !== 'testing') 13 | 14 | @endif 15 | 16 | @stop -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout/layout/_print.scss: -------------------------------------------------------------------------------- 1 | @media print { 2 | body { 3 | background-color: #fff !important; 4 | } 5 | 6 | .page-bar { 7 | display: none; 8 | } 9 | 10 | .page-sidebar-wrapper { 11 | display: none; 12 | } 13 | 14 | .page-quick-sidebar-wrapper { 15 | display: none; 16 | } 17 | 18 | .theme-panel { 19 | display: none; 20 | } 21 | 22 | .hidden-print { 23 | display: none; 24 | } 25 | 26 | .page-footer { 27 | display: none; 28 | } 29 | 30 | .no-page-break { 31 | page-break-after: avoid; 32 | } 33 | 34 | .page-container { 35 | margin: 0px !important; 36 | padding: 0px !important; 37 | } 38 | 39 | .page-content { 40 | padding: 0 !important; 41 | min-height: 300px !important; 42 | padding: 0px 20px 20px !important; 43 | margin: 0 !important; 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /src/database/migrations/2015_02_03_033718_create_languages_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->text('libelle'); 19 | $table->text('iso'); 20 | $table->integer('status'); 21 | $table->tinyInteger('not_visible'); 22 | $table->tinyInteger('is_default'); 23 | $table->timestamps(); 24 | }); 25 | } 26 | 27 | 28 | /** 29 | * Reverse the migrations. 30 | * 31 | * @return void 32 | */ 33 | public function down() 34 | { 35 | Schema::drop('languages'); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/OpCache.php: -------------------------------------------------------------------------------- 1 | app = $app; 15 | } 16 | 17 | /** 18 | * Handle an incoming request. 19 | * 20 | * @param \Illuminate\Http\Request $request 21 | * @param \Closure $next 22 | * @return mixed 23 | */ 24 | public function handle($request, Closure $next) 25 | { 26 | 27 | if (($this->app->environment() != 'production')) { 28 | if (function_exists('opcache_reset')) { 29 | opcache_reset(); 30 | } 31 | 32 | } 33 | 34 | return $next($request); 35 | } 36 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/pages/invoice.scss: -------------------------------------------------------------------------------- 1 | @import '../../global/_variables'; // global variables. 2 | @import '../../global/components/_mixins'; // global mixings. 3 | 4 | /*** 5 | Invoice page 6 | ***/ 7 | .invoice table { 8 | margin:30px 0 30px 0; 9 | } 10 | 11 | .invoice .invoice-logo { 12 | margin-bottom:20px; 13 | } 14 | 15 | .invoice .invoice-logo p { 16 | padding:5px 0; 17 | font-size:26px; 18 | line-height:28px; 19 | text-align:right; 20 | } 21 | 22 | .invoice .invoice-logo p span { 23 | display:block; 24 | font-size:14px; 25 | } 26 | 27 | .invoice .invoice-logo-space { 28 | margin-bottom:15px; 29 | } 30 | 31 | .invoice .invoice-payment strong { 32 | margin-right:5px; 33 | } 34 | 35 | .invoice .invoice-block { 36 | text-align:right; 37 | } 38 | 39 | .invoice .invoice-block .amounts { 40 | margin-top: 20px; 41 | font-size: 14px; 42 | } -------------------------------------------------------------------------------- /src/lang/en/reminders.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'user' => 'We can\'t find a user with that e-mail address.', 18 | 'token' => 'This password reset token is invalid.', 19 | 'sent' => 'Password reminder sent!', 20 | 'reset' => 'Password has been reset!', 21 | 22 | ]; -------------------------------------------------------------------------------- /src/database/migrations/2015_01_15_051650_create_roles_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('libelle'); 19 | $table->string('initials'); 20 | $table->tinyInteger('overide_permission'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::drop('roles'); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-multi-select.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | jQuery Multi Select 3 | ***/ 4 | 5 | .ms-container .ms-list { 6 | border: 1px solid #e5e5e5; 7 | -webkit-box-shadow: none; 8 | -moz-box-shadow: none; 9 | box-shadow: none; 10 | 11 | } 12 | 13 | .ms-container .ms-optgroup-label{ 14 | font-size: 14px; 15 | } 16 | 17 | .ms-container .ms-selectable li.ms-elem-selectable, 18 | .ms-container .ms-selection li.ms-elem-selection{ 19 | font-size: 13px; 20 | } 21 | 22 | .ms-container .ms-list.ms-focus { 23 | border-color: #999999; 24 | -webkit-box-shadow: none; 25 | -moz-box-shadow: none; 26 | box-shadow: none; 27 | } 28 | 29 | .ms-container .ms-selectable li.ms-hover, 30 | .ms-container .ms-selection li.ms-hover{ 31 | color: #333; 32 | background-color: #eee; 33 | } 34 | 35 | .ms-container .form-control { 36 | margin-bottom: 5px; 37 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/Cache.php: -------------------------------------------------------------------------------- 1 | url(); 20 | 21 | $key = md5($url.json_encode($request->query())); 22 | $value = \Cache::remember($key, now()->addMinutes(config('cache.minutes')), function() use ($next, $request) { 23 | return $next($request); 24 | }); 25 | 26 | return $value; 27 | } 28 | 29 | return $next($request); 30 | } 31 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_progress-bars.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Progress Bars 3 | ***/ 4 | 5 | .progress { 6 | border: 0; 7 | background-image: none; 8 | filter: none; 9 | box-shadow: none; 10 | -webkit-box-shadow: none; 11 | -moz-box-shadow: none; 12 | box-shadow: none; 13 | 14 | &.progress-sm { 15 | height: 12px; 16 | } 17 | } 18 | 19 | .progress > .progress-bar-default { 20 | @include progress-bar-variant($brand-default); 21 | } 22 | 23 | .progress > .progress-bar-success { 24 | @include progress-bar-variant($brand-success); 25 | } 26 | 27 | .progress > .progress-bar-info { 28 | @include progress-bar-variant($brand-info); 29 | } 30 | 31 | .progress > .progress-bar-danger { 32 | @include progress-bar-variant($brand-danger); 33 | } 34 | 35 | .progress > .progress-bar-warning { 36 | @include progress-bar-variant($brand-warning); 37 | } -------------------------------------------------------------------------------- /src/views/admin/layout/login.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | @yield('header') 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 |
23 | @yield('content') 24 |
25 | 26 | @yield('footer') 27 | 28 | 29 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout2/layout/_print.scss: -------------------------------------------------------------------------------- 1 | @media print { 2 | body { 3 | background-color: #fff !important; 4 | } 5 | 6 | .page-bar { 7 | display: none; 8 | } 9 | 10 | .page-sidebar-wrapper { 11 | display: none; 12 | } 13 | 14 | .theme-panel { 15 | display: none; 16 | } 17 | 18 | .hidden-print { 19 | display: none; 20 | } 21 | 22 | .page-footer { 23 | display: none; 24 | } 25 | 26 | .no-page-break { 27 | page-break-after: avoid; 28 | } 29 | 30 | .page-container { 31 | margin: 0px !important; 32 | padding: 0px !important; 33 | } 34 | 35 | .page-content { 36 | padding: 0 !important; 37 | min-height: 300px !important; 38 | padding: 0px 20px 20px !important; 39 | margin: 0 !important; 40 | 41 | > .portlet { 42 | padding: 0; 43 | margin: 0; 44 | 45 | > .portlet-body { 46 | padding: 0; 47 | margin: 0; 48 | } 49 | } 50 | } 51 | } 52 | 53 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout4/layout/_print.scss: -------------------------------------------------------------------------------- 1 | @media print { 2 | body { 3 | background-color: #fff !important; 4 | } 5 | 6 | .page-bar { 7 | display: none; 8 | } 9 | 10 | .page-sidebar-wrapper { 11 | display: none; 12 | } 13 | 14 | .theme-panel { 15 | display: none; 16 | } 17 | 18 | .hidden-print { 19 | display: none; 20 | } 21 | 22 | .page-footer { 23 | display: none; 24 | } 25 | 26 | .no-page-break { 27 | page-break-after: avoid; 28 | } 29 | 30 | .page-container { 31 | margin: 0px !important; 32 | padding: 0px !important; 33 | } 34 | 35 | .page-content { 36 | padding: 0 !important; 37 | min-height: 300px !important; 38 | padding: 0px 20px 20px !important; 39 | margin: 0 !important; 40 | 41 | > .portlet { 42 | padding: 0; 43 | margin: 0; 44 | 45 | > .portlet-body { 46 | padding: 0; 47 | margin: 0; 48 | } 49 | } 50 | } 51 | } 52 | 53 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/Email/EmailDatatable.php: -------------------------------------------------------------------------------- 1 | add('id'); 11 | $this->add('libelle', null, trans('expendable::datatable.subject')); 12 | $this->add('body_type', function($model) 13 | { 14 | return StaticLabel::bodyType($model->body_type); 15 | },trans('expendable::datatable.type')); 16 | $this->add('action', function($model) 17 | { 18 | return StaticLabel::mailActions($model->action); 19 | }); 20 | $this->add('cc'); 21 | $this->add('bcc'); 22 | $this->addTranslationAction(); 23 | $this->addDefaultAction(); 24 | } 25 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/Secure.php: -------------------------------------------------------------------------------- 1 | app = $app; 15 | } 16 | 17 | /** 18 | * Handle an incoming request. 19 | * 20 | * @param \Illuminate\Http\Request $request 21 | * @param \Closure $next 22 | * @return mixed 23 | */ 24 | public function handle($request, Closure $next) 25 | { 26 | 27 | if (!$request->isSecure() and env('SECURE_COOKIE', false)) { 28 | if (strpos($request->getRequestUri(), '/storage/') === false) { 29 | return redirect()->secure($request->getRequestUri()); 30 | } 31 | 32 | } 33 | 34 | return $next($request); 35 | } 36 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Login/Forgotten.php: -------------------------------------------------------------------------------- 1 | 'required|email' 9 | ]; 10 | 11 | public function buildForm() 12 | { 13 | $this->add('email', 'email', 14 | [ 15 | 'label' => trans('expendable::form.email'), 16 | 'validation' => 'required,custom[email]', 17 | 'attr' => [ 18 | 'class' => 'placeholder-no-fix', 19 | ], 20 | 21 | ]) 22 | ->add('send', 'submit', 23 | [ 24 | 'label' => trans('expendable::form.send'), 25 | 'attr' => [ 26 | 'class' =>'btn green-haze pull-right' 27 | ], 28 | ]); 29 | } 30 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Import/ImportForm.php: -------------------------------------------------------------------------------- 1 | 'required' 10 | ]; 11 | 12 | public static $rules_update = null; 13 | 14 | // ------------------------------------------------------------------------------------------------ 15 | 16 | public function buildForm() 17 | { 18 | 19 | $this 20 | ->add('file', 'upload', 21 | [ 22 | 'label' => trans('expendable::form.file_import'), 23 | 'validation' => 'required', 24 | 'extensions' => 'csv,xls,xlsx', 25 | 'view' => 'files', 26 | ]) 27 | ->addDefaultActions(); 28 | } 29 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Fondation/Application.php: -------------------------------------------------------------------------------- 1 | register(new ExpendableRoutingServiceProvider($this)); 22 | } 23 | 24 | 25 | /** 26 | * Override default application storage path. 27 | * 28 | * @return mixed 29 | */ 30 | public function storagePath() 31 | { 32 | $path = env('STORAGE_PATH', $this->basePath.DIRECTORY_SEPARATOR.'storage'); 33 | 34 | return $this->storagePath ?: $path; 35 | } 36 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Console/Lib/stubs/controller-base-model-class-template.stub: -------------------------------------------------------------------------------- 1 | $faker->realText(20), 12 | 'iso' => $faker->iso8601, 13 | 'not_visible' => false, 14 | 'is_default' => false, 15 | 'status' => true 16 | 17 | ]; 18 | 19 | 20 | $result = \Distilleries\Expendable\Models\Language::create($data); 21 | $result = \Distilleries\Expendable\Models\Language::find($result->id); 22 | 23 | return [$data, $result]; 24 | } 25 | 26 | public function testLanguage() 27 | { 28 | list($data, $model) = $this->addContent(); 29 | 30 | $language = \Distilleries\Expendable\Models\Language::find($model->id); 31 | 32 | $this->assertEquals($model, $language); 33 | 34 | } 35 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout2/layout.scss: -------------------------------------------------------------------------------- 1 | //## Main Layout CSS Builder 2 | 3 | @import '../../global/_variables'; // global metronic framework variables 4 | @import '../../global/components/_mixins'; // global metronic framework mixings 5 | 6 | @import 'variables'; // theme level variables 7 | 8 | @import 'layout/_print'; // print layout 9 | 10 | @import 'layout/_header'; // page header 11 | @import 'layout/_page-container'; // page main container 12 | @import 'layout/_sidebar'; // page sidebar 13 | @import 'layout/_content'; // page consnde 14 | @import 'layout/_footer'; // page footer 15 | 16 | @import 'layout/_theme-panel'; // theme customizer panel 17 | 18 | /*** 19 | Page Loading 20 | ***/ 21 | 22 | .page-on-load { 23 | background: #fefefe; 24 | 25 | .page-header, 26 | .page-container, 27 | .page-footer, 28 | > .clearfix { 29 | display: none; 30 | transition: all 2s; 31 | } 32 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Mails/ResetPasswordNotification.php: -------------------------------------------------------------------------------- 1 | line('You are receiving this email because we received a password reset request for your account.') 27 | ->action('Reset Password', url('login/reset', $this->token)) 28 | ->line('If you did not request a password reset, no further action is required.'); 29 | } 30 | 31 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/Language/LanguageDatatable.php: -------------------------------------------------------------------------------- 1 | add('id', null, trans('expendable::datatable.id')) 11 | ->add('libelle', null, trans('expendable::datatable.libelle')) 12 | ->add('iso', null, trans('expendable::datatable.iso')); 13 | 14 | $this->addDefaultAction(); 15 | 16 | } 17 | 18 | 19 | public function setClassRow($datatable) 20 | { 21 | $datatable->setRowClass(function($row) 22 | { 23 | $class = (isset($row->status) && empty($row->status)) ? 'danger' : ''; 24 | $class = (empty($class) && !empty($row->not_visible)) ? 'warning' : $class; 25 | 26 | return $class; 27 | }); 28 | 29 | return $datatable; 30 | } 31 | } -------------------------------------------------------------------------------- /src/lang/en/menu.php: -------------------------------------------------------------------------------- 1 | 'Administration', 6 | 'language' => 'Languages', 7 | 'export' => 'Export', 8 | 'import' => 'Import', 9 | 'datatable' => 'Datatable', 10 | 'permission' => 'Permissions', 11 | 'service' => 'Services', 12 | 'role' => 'Roles', 13 | 'email' => 'Emails', 14 | 'user' => 'Users', 15 | 'my_profile' => 'My profile', 16 | 'sync_service' => 'Synchronize all services', 17 | 'associate_permission' => 'Associate permissions', 18 | 'list_of' => 'List of :component', 19 | 'add' => 'Add :component', 20 | 'generate_component' => 'Generate a new component', 21 | 'log_out' => 'Log Out', 22 | 'add_state' => 'Add', 23 | 'list' => 'List', 24 | 'order_state' => 'Order', 25 | ]; 26 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Console/Lib/stubs/controller-base-component-class-template.stub: -------------------------------------------------------------------------------- 1 | datatable = $datatable; 19 | $this->form = $form; 20 | } 21 | } -------------------------------------------------------------------------------- /src/database/migrations/2015_01_15_054124_create_permissions_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->integer('role_id')->unsigned()->index(); 19 | $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade'); 20 | $table->integer('service_id')->unsigned()->index(); 21 | $table->foreign('service_id')->references('id')->on('services')->onDelete('cascade'); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::drop('permissions'); 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/SetDisplayStatus.php: -------------------------------------------------------------------------------- 1 | app = $app; 21 | } 22 | 23 | /** 24 | * Handle an incoming request. 25 | * 26 | * @param \Illuminate\Http\Request $request 27 | * @param \Closure $next 28 | * @return mixed 29 | */ 30 | public function handle($request, Closure $next) 31 | { 32 | 33 | if (UserUtils::isBackendRole()) 34 | { 35 | UserUtils::setDisplayAllStatus(); 36 | } else { 37 | UserUtils::forgotDisplayAllStatus(); 38 | } 39 | 40 | return $next($request); 41 | } 42 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Backend/LanguageController.php: -------------------------------------------------------------------------------- 1 | datatable = $datatable; 15 | $this->form = $form; 16 | } 17 | 18 | 19 | public function getChangeLang($locale = null) 20 | { 21 | session()->put('language', $locale); 22 | app()->setLocale($locale); 23 | return redirect()->back(); 24 | } 25 | } -------------------------------------------------------------------------------- /src/lang/fr/menu.php: -------------------------------------------------------------------------------- 1 | 'Administration', 6 | 'language' => 'Langues', 7 | 'export' => 'Exporter', 8 | 'import' => 'Importer', 9 | 'datatable' => 'Liste', 10 | 'permission' => 'Permissions', 11 | 'service' => 'Services', 12 | 'role' => 'Rôles', 13 | 'email' => 'Emails', 14 | 'user' => 'Utilisateurs', 15 | 'my_profile' => 'Mon profil', 16 | 'sync_service' => 'Synchroniser tous les services', 17 | 'associate_permission' => 'Associer les permissions', 18 | 'list_of' => 'Liste de :component', 19 | 'add' => 'Ajouter :component', 20 | 'generate_component' => 'Générer un nouveau composant', 21 | 'log_out' => 'Se déconnecter', 22 | 'add_state' => 'Ajouter', 23 | 'list' => 'Liste', 24 | 'order_state' => 'Ordonner', 25 | ]; 26 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Console/Lib/Generators/ComponentGenerator.php: -------------------------------------------------------------------------------- 1 | .clearfix { 29 | display: none; 30 | transition: all 2s; 31 | } 32 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_popovers.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Bootstrap Popover 3 | ***/ 4 | 5 | .popover { 6 | box-shadow: 5px 5px rgba(#666, 0.1); 7 | padding: 0; 8 | 9 | .popover-title { 10 | margin: 0 !important; 11 | } 12 | } 13 | 14 | @mixin popover-variant($name, $color) { 15 | .popover.#{name} .popover-title, 16 | #{name} .popover .popover-content, 17 | .popover.#{name} .popover-content { 18 | color: $color; 19 | } 20 | } 21 | 22 | @include popover-variant("info", $brand-info); 23 | @include popover-variant("primary", $brand-primary); 24 | @include popover-variant("success", $brand-success); 25 | @include popover-variant("warning", $brand-warning); 26 | @include popover-variant("danger", $brand-danger); 27 | 28 | /* popover colors*/ 29 | .popovers.yellow + .popover { 30 | background: yellow; 31 | } 32 | 33 | .popovers.yellow + .popover .popover-title { 34 | background: yellow; 35 | } 36 | 37 | .popovers.yellow + .popover .popover-content { 38 | background: yellow; 39 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-datetimepicker.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Datetimepicker 3 | ***/ 4 | 5 | .datetimepicker table td { 6 | color: #000; 7 | font-weight: 300 !important; 8 | font-family: 'Open Sans' !important; 9 | } 10 | 11 | .datetimepicker table th { 12 | font-family: 'Open Sans' !important; 13 | font-weight: 400 !important; 14 | } 15 | 16 | .datetimepicker.dropdown-menu { 17 | padding: 5px; 18 | } 19 | 20 | .datetimepicker .active { 21 | background-color:#4b8df8 !important; 22 | background-image: none !important; 23 | filter: none !important; 24 | } 25 | 26 | .datetimepicker .active:hover { 27 | background-color: #2678FC !important; 28 | background-image: none !important; 29 | filter: none !important; 30 | 31 | } 32 | 33 | .datetimepicker .fa-angle-left:before { 34 | content: "\f104"; 35 | } 36 | 37 | .datetimepicker .fa-angle-right:before { 38 | content: "\f105"; 39 | } 40 | 41 | /* change z-index when opened in modal */ 42 | .modal-open .datetimepicker { 43 | z-index: 10055 !important; 44 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/AuthenticateOnceWithBasicAuth.php: -------------------------------------------------------------------------------- 1 | ip(), $ipsAuth)) 26 | { 27 | return $this->auth->guard($guard)->basic() ?: $next($request); 28 | } 29 | 30 | } 31 | 32 | return $next($request); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /src/database/migrations/2015_01_15_052133_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 19 | $table->string('email')->unique(); 20 | $table->string('password'); 21 | $table->tinyInteger('status'); 22 | $table->integer('role_id')->unsigned(); 23 | $table->timestamps(); 24 | $table->softDeletes(); 25 | $table->rememberToken(); 26 | $table->foreign('role_id') 27 | ->references('id') 28 | ->on('roles') 29 | ->onDelete('cascade'); 30 | }); 31 | } 32 | 33 | 34 | /** 35 | * Reverse the migrations. 36 | * 37 | * @return void 38 | */ 39 | public function down() 40 | { 41 | Schema::drop('users'); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout3/layout.scss: -------------------------------------------------------------------------------- 1 | //## Main Layout CSS Builder 2 | 3 | @import '../../global/_variables'; // global metronic framework variables 4 | @import '../../global/components/_mixins'; // global metronic framework mixings 5 | 6 | @import 'variables'; // theme level variables 7 | 8 | @mixin reset-container() { 9 | > .container { 10 | width: 100%; 11 | max-width: none !important; 12 | margin: 0 !important; 13 | } 14 | } 15 | 16 | @import 'layout/_print'; // print layout 17 | 18 | @import 'themes/default'; 19 | @import 'layout/_header'; // page header 20 | @import 'layout/_content'; // page consnde 21 | @import 'layout/_footer'; // page footer 22 | 23 | @import 'layout/_theme-panel'; // theme customizer panel 24 | 25 | /*** 26 | Page Loading 27 | ***/ 28 | 29 | .page-on-load { 30 | background: #fefefe; 31 | 32 | .page-header, 33 | .page-container, 34 | .page-prefooter, 35 | .page-footer, 36 | > .clearfix { 37 | display: none; 38 | transition: all 2s; 39 | } 40 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout3/layout/_print.scss: -------------------------------------------------------------------------------- 1 | @media print { 2 | body { 3 | background-color: #fff !important; 4 | } 5 | 6 | .page-header { 7 | display: none; 8 | } 9 | 10 | .theme-panel { 11 | display: none; 12 | } 13 | 14 | .hidden-print { 15 | display: none; 16 | } 17 | 18 | .page-prefooter { 19 | display: none; 20 | } 21 | 22 | .page-footer { 23 | display: none; 24 | } 25 | 26 | .page-head { 27 | display: none; 28 | } 29 | 30 | .page-breadcrumb { 31 | display: none; 32 | } 33 | 34 | .no-page-break { 35 | page-break-after: avoid; 36 | } 37 | 38 | .page-container { 39 | margin: 0px !important; 40 | padding: 0px !important; 41 | 42 | .page-content { 43 | @include reset-container(); 44 | 45 | padding: 0 !important; 46 | margin: 0 !important; 47 | 48 | > .container, 49 | > .container-fluid { 50 | > .portlet { 51 | padding: 0; 52 | margin: 0; 53 | 54 | > .portlet-body { 55 | padding: 0; 56 | margin: 0; 57 | } 58 | } 59 | } 60 | } 61 | } 62 | } 63 | 64 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Observers/PasswordObserver.php: -------------------------------------------------------------------------------- 1 | hash($model, $model->password); 11 | } 12 | 13 | 14 | public function updating($model) 15 | { 16 | $newPassword = Request::get('password'); 17 | 18 | if (empty($newPassword)) 19 | { 20 | if (empty($model->password)) 21 | { 22 | $newPassword = $model->find($model->id)->password; 23 | } else 24 | { 25 | $newPassword = $model->password; 26 | } 27 | 28 | } 29 | 30 | $this->hash($model, $newPassword); 31 | } 32 | 33 | 34 | public function hash($model, $password) 35 | { 36 | 37 | 38 | if (Hash::needsRehash($password)) 39 | { 40 | $model->password = Hash::make($password); 41 | } else 42 | { 43 | $model->password = $password; 44 | } 45 | 46 | } 47 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-sparkline.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | jQuery Sparkline 3 | ***/ 4 | 5 | .jqstooltip { 6 | width: auto !important; 7 | height: auto !important; 8 | } 9 | 10 | 11 | .easy-pie-chart, 12 | .sparkline-chart { 13 | text-align: center; 14 | } 15 | 16 | .sparkline-chart { 17 | margin-top: 15px; 18 | position:relative ; 19 | } 20 | 21 | .easy-pie-chart .number { 22 | font-size: 16px; 23 | font-weight: 300; 24 | width: 85px; 25 | margin: 0 auto; 26 | } 27 | 28 | .sparkline-chart .number { 29 | width: 100px; 30 | margin: 0 auto; 31 | margin-bottom: 10px; 32 | } 33 | 34 | .sparkline-chart .title, 35 | .easy-pie-chart .title { 36 | display: block; 37 | text-align: center; 38 | color: #333; 39 | font-weight: 300; 40 | font-size: 16px; 41 | margin-top: 5px; 42 | margin-bottom: 10px; 43 | } 44 | 45 | .sparkline-chart .title:hover, 46 | .easy-pie-chart .title:hover { 47 | color: #666; 48 | text-decoration: none; 49 | } 50 | 51 | .sparkline-chart .title > i, 52 | .easy-pie-chart .title > i { 53 | margin-top: 5px; 54 | } -------------------------------------------------------------------------------- /src/views/admin/layout/default.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | @yield('header') 10 | 11 | 12 | 13 | 14 | 15 | @yield('menu_top') 16 |
17 |
18 | @yield('menu_left') 19 |
20 |
21 | @yield('content') 22 |
23 |
24 |
25 | 28 | @yield('javascript') 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/views/admin/form/components/datatable/translations.blade.php: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Taylor Otwell 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | 3 | php: 4 | - 7.1.3 5 | - 7.2 6 | env: 7 | global: 8 | - setup=basic 9 | 10 | matrix: 11 | fast_finish: true 12 | 13 | sudo: false 14 | 15 | services: 16 | - memcached 17 | - redis-server 18 | 19 | before_install: 20 | - echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini 21 | - travis_retry composer self-update 22 | 23 | install: 24 | - if [[ $setup = 'basic' ]]; then travis_retry composer install --no-interaction --prefer-dist --no-suggest; fi 25 | 26 | script: 27 | - > 28 | if [[ $TRAVIS_PHP_VERSION =~ ^7 ]]; then 29 | phpdbg -qrr vendor/phpunit/phpunit/phpunit --coverage-clover=coverage.clover --coverage-text; 30 | else 31 | vendor/phpunit/phpunit/phpunit --configuration phpunit.xml --coverage-clover=coverage.clover 32 | fi 33 | 34 | after_script: 35 | - wget https://scrutinizer-ci.com/ocular.phar 36 | - php ocular.phar code-coverage:upload --access-token="9857f9bb4b1c260b94eb773a541d6e42e05db0db45d5a25757590276d5e50445" --format=php-clover coverage.clover 37 | 38 | notifications: 39 | slack: big-boss-studio:vLrsJ3hpqgIYugU7IKLMUwj2 40 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | isHttpException($e)) 23 | { 24 | if ($request->segment(1) == config('expendable.admin_base_uri') && !config('app.debug')) 25 | { 26 | return app('Distilleries\Expendable\Http\Controllers\Backend\Base\ErrorController')->callAction("display", [$e, $e->getStatusCode()]); 27 | } 28 | } 29 | 30 | return parent::render($request, $e); 31 | } 32 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/LanguageDetector.php: -------------------------------------------------------------------------------- 1 | app = $app; 16 | } 17 | 18 | /** 19 | * Handle an incoming request. 20 | * 21 | * @param \Illuminate\Http\Request $request 22 | * @param \Closure $next 23 | * @return mixed 24 | */ 25 | public function handle($request, Closure $next) 26 | { 27 | 28 | preg_match_all('/(\W|^)([a-z]{2})([^a-z]|$)/six', $request->server->get('HTTP_ACCEPT_LANGUAGE'), $m, PREG_PATTERN_ORDER); 29 | 30 | $user_langs = $m[2]; 31 | if (!empty($user_langs[0])) { 32 | $total = Language::where('iso', '=', $user_langs[0])->count(); 33 | if ($total > 0) { 34 | return redirect()->to('/'.$user_langs[0]); 35 | } 36 | } 37 | 38 | return redirect()->to('/fr'); 39 | } 40 | } -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG TEST_PHP_VERSION=7.3 2 | FROM php:${TEST_PHP_VERSION} 3 | COPY . /app 4 | VOLUME ["/app"] 5 | WORKDIR /app 6 | 7 | RUN apt-get update \ 8 | && apt-get install -y --no-install-recommends zip \ 9 | autoconf \ 10 | automake \ 11 | libpng-dev \ 12 | bash \ 13 | libtool \ 14 | nasm \ 15 | netcat-openbsd \ 16 | git \ 17 | unzip \ 18 | libzip-dev \ 19 | libxml2-dev 20 | 21 | RUN CFLAGS="-I/usr/src/php" docker-php-ext-install opcache \ 22 | simplexml \ 23 | tokenizer \ 24 | xmlwriter \ 25 | xmlreader \ 26 | fileinfo \ 27 | pcntl \ 28 | gd \ 29 | zip \ 30 | posix \ 31 | bcmath 32 | 33 | RUN apt-get purge -y --auto-remove libxml2-dev \ 34 | && rm -r /var/lib/apt/lists/* 35 | 36 | RUN curl --show-error https://getcomposer.org/installer | php \ 37 | && rm -rf vendor \ 38 | && rm -rf composer.lock \ 39 | && php composer.phar install --no-interaction -o 40 | 41 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini 42 | 43 | 44 | CMD ["phpdbg","-qrr","vendor/bin/phpunit","--coverage-clover=coverage.clover","--coverage-text"] -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Export/ExportForm.php: -------------------------------------------------------------------------------- 1 | 'required', 10 | 'type' => 'required' 11 | ]; 12 | 13 | public static $rules_update = null; 14 | 15 | // ------------------------------------------------------------------------------------------------ 16 | 17 | public function buildForm() 18 | { 19 | 20 | $this 21 | ->add('range', 'datepicker', 22 | [ 23 | 'label' => trans('expendable::form.date'), 24 | 'validation' => 'required', 25 | 'range' => true 26 | ]) 27 | ->add('type', 'choice', [ 28 | 'choices' => StaticLabel::typeExport(), 29 | 'validation' => 'required', 30 | 'label' => trans('expendable::form.type') 31 | ]) 32 | ->addDefaultActions(); 33 | } 34 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout/layout/_page-container.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Page container 3 | ***/ 4 | 5 | .page-container { 6 | margin: 0px; 7 | padding: 0px; 8 | position: relative; 9 | 10 | @include clearfix(); 11 | 12 | /* Fixed header */ 13 | .page-header-fixed & { 14 | margin-top: $header-height; 15 | } 16 | 17 | /* Fixed footer for mobile */ 18 | .page-footer-fixed.page-footer-fixed-mobile & { 19 | margin-bottom: 20px !important; 20 | } 21 | } 22 | 23 | @media (min-width: $screen-md-min) { 24 | 25 | /* Page container in fixed footer */ 26 | .page-footer-fixed .page-container { 27 | margin-bottom: 20px !important; 28 | } 29 | } 30 | 31 | @media (max-width: $screen-sm-max) { 32 | 33 | /* Page container */ 34 | .page-container { 35 | margin: 0 !important; 36 | padding: 0 !important; 37 | 38 | .page-header-fixed.page-header-fixed-mobile & { 39 | margin-top: $header-height !important; 40 | } 41 | } 42 | } 43 | 44 | @media (max-width: $screen-xs-min) { 45 | 46 | /* Page container */ 47 | .page-container { 48 | .page-header-fixed.page-header-fixed-mobile & { 49 | margin-top: $header-height-xs !important; 50 | } 51 | } 52 | } -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/ 14 | 15 | 16 | 17 | 18 | ./src/Distilleries 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/States/OrderStateTrait.php: -------------------------------------------------------------------------------- 1 | model->orderBy($this->model->orderFieldName(), 'asc')->get(); 15 | 16 | $this->layoutManager->add([ 17 | 'content' => view('expendable::admin.form.state.order', [ 18 | 'rows' => $rows, 19 | ]), 20 | ]); 21 | 22 | return $this->layoutManager->render(); 23 | } 24 | 25 | /** 26 | * {@inheritdoc} 27 | */ 28 | public function postOrder(Request $request) 29 | { 30 | $ids = $request->input('ids'); 31 | 32 | $order = 1; 33 | foreach ($ids as $id) { 34 | $instance = $this->model->find($id); 35 | if (!empty($instance)) { 36 | $instance->{$this->model->orderFieldName()} = $order; 37 | $instance->save(); 38 | $order++; 39 | } 40 | } 41 | 42 | return response()->json(['error' => false]); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-datepicker.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Datepicker 3 | ***/ 4 | 5 | .datepicker.dropdown-menu { 6 | padding: 5px; 7 | } 8 | 9 | .datepicker .selected { 10 | background-color:#909090 !important; 11 | background-image: none !important; 12 | filter: none !important; 13 | } 14 | 15 | .datepicker .active { 16 | background-color:#4b8df8 !important; 17 | background-image: none !important; 18 | filter: none !important; 19 | } 20 | 21 | .datepicker .active:hover { 22 | background-color: #2678FC !important; 23 | background-image: none !important; 24 | filter: none !important; 25 | } 26 | 27 | .datepicker .input-daterange input { 28 | text-align: left; 29 | } 30 | 31 | /* change z-index when opened in modal */ 32 | .modal-open .datepicker { 33 | z-index: 10055 !important; 34 | } 35 | 36 | .datepicker table td { 37 | color: #000; 38 | font-weight: 300 !important; 39 | font-family: 'Open Sans' !important; 40 | } 41 | 42 | .datepicker table th { 43 | color: #333; 44 | font-family: 'Open Sans' !important; 45 | font-weight: 400 !important; 46 | } 47 | 48 | .datepicker.dropdown-menu { 49 | box-shadow: 5px 5px rgba(#666, 0.1); 50 | border: 1px solid #efefef; 51 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_jquery-easy-pie-chart.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Dashboard Charts(new in v1.2.1) 3 | ***/ 4 | .easy-pie-chart, 5 | .sparkline-chart { 6 | text-align: center; 7 | } 8 | 9 | .sparkline-chart { 10 | margin-top: 15px; 11 | position:relative ; 12 | } 13 | 14 | .easy-pie-chart .number { 15 | font-size: 14px !important; 16 | font-weight: 300; 17 | margin: 0 auto; 18 | position: relative; 19 | text-align: center; 20 | width: 75px; 21 | height: 75px; 22 | line-height: 75px; 23 | 24 | canvas { 25 | position: absolute; 26 | top: 0; 27 | left: 0; 28 | } 29 | } 30 | 31 | .sparkline-chart .number { 32 | width: 100px; 33 | margin: 0 auto; 34 | margin-bottom: 10px; 35 | } 36 | 37 | .sparkline-chart .title, 38 | .easy-pie-chart .title { 39 | display: block; 40 | text-align: center; 41 | color: #333; 42 | font-weight: 300; 43 | font-size: 16px; 44 | margin-top: 5px; 45 | margin-bottom: 10px; 46 | } 47 | 48 | .sparkline-chart .title:hover, 49 | .easy-pie-chart .title:hover { 50 | color: #666; 51 | text-decoration: none; 52 | } 53 | 54 | .sparkline-chart .title > i, 55 | .easy-pie-chart .title > i { 56 | margin-top: 5px; 57 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-toastr.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Toastr Notifications 3 | ***/ 4 | .toast { 5 | -webkit-box-shadow: none !important; 6 | -moz-box-shadow: none !important; 7 | box-shadow: none !important; 8 | } 9 | 10 | .toast { 11 | background-color: #030303; 12 | } 13 | .toast-success { 14 | background-color: #51a351; 15 | } 16 | .toast-error { 17 | background-color: #bd362f; 18 | } 19 | .toast-info { 20 | background-color: #2f96b4; 21 | } 22 | .toast-warning { 23 | background-color: #f89406; 24 | } 25 | 26 | .toast .toast-close-button { 27 | display: inline-block; 28 | margin-top: 0px; 29 | margin-right: 0px; 30 | text-indent: -100000px; 31 | width: 11px; 32 | height: 16px; 33 | background-repeat: no-repeat !important; 34 | background-image: url("../../../images/portlet-remove-icon-white.png") !important; 35 | } 36 | 37 | .toast-top-center { 38 | top: 12px; 39 | margin: 0 auto; 40 | left: 50%; 41 | margin-left: -150px; 42 | 43 | .toast { 44 | margin: 0 !important; 45 | } 46 | } 47 | 48 | .toast-bottom-center { 49 | bottom: 12px; 50 | margin: 0 auto; 51 | left: 50%; 52 | margin-left: -150px; 53 | 54 | .toast { 55 | margin: 0 !important; 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Imports/BaseImport.php: -------------------------------------------------------------------------------- 1 | setModel($model); 21 | } 22 | 23 | public function importFromFile($filepath) 24 | { 25 | return $this->import($filepath); 26 | } 27 | 28 | /** 29 | * @inheritdoc 30 | */ 31 | public function model(array $row) 32 | { 33 | $data = []; 34 | foreach ($this->model->getFillable() as $value) 35 | { 36 | $data[$value] = $row[$value]; 37 | } 38 | return new $this->model($data); 39 | } 40 | 41 | /** 42 | * @param mixed $model 43 | * @return $this 44 | */ 45 | public function setModel($model) 46 | { 47 | $this->model = $model; 48 | 49 | return $this; 50 | } 51 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-summercode.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Error state for WYSIWYG Editors 3 | ***/ 4 | .note-editor { 5 | border: 1px solid $input-border; 6 | 7 | @include border-radius($general-border-radius); 8 | 9 | .note-toolbar { 10 | border-bottom: 1px solid $input-border; 11 | 12 | @include border-radius($general-border-radius $general-border-radius 0 0); 13 | } 14 | 15 | .note-statusbar { 16 | @include border-radius(0 0 $general-border-radius $general-border-radius); 17 | 18 | .note-resizebar { 19 | border-top: 1px solid $input-border; 20 | } 21 | } 22 | 23 | &.fullscreen { 24 | z-index: 11000; 25 | width: 100% !important; 26 | } 27 | 28 | .dropdown-menu { 29 | &:before { 30 | left: 9px; 31 | right: auto; 32 | } 33 | 34 | &:after { 35 | left: 10px; 36 | right: auto; 37 | } 38 | } 39 | } 40 | 41 | .note-link-dialog { 42 | .checkbox { 43 | margin-left: 20px; 44 | } 45 | } 46 | 47 | .has-error .note-editor { 48 | border: 1px solid $state-danger-border !important; 49 | } 50 | 51 | .has-success .note-editor { 52 | border: 1px solid $state-success-border !important; 53 | } 54 | 55 | .has-warning .note-editor { 56 | border: 1px solid $state-warning-border !important; 57 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/pages/image-crop.scss: -------------------------------------------------------------------------------- 1 | @import '../../global/_variables'; // global variables. 2 | @import '../../global/components/_mixins'; // global mixings. 3 | 4 | /* Apply these styles only when #preview-pane has 5 | been placed within the Jcrop widget */ 6 | #preview-pane { 7 | display: block; 8 | position: absolute; 9 | z-index: 2000; 10 | right: -200px; 11 | padding: 6px; 12 | border: 1px rgba(0,0,0,.4) solid; 13 | background-color: white; 14 | 15 | -webkit-border-radius: 6px; 16 | -moz-border-radius: 6px; 17 | border-radius: 6px; 18 | 19 | -webkit-box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2); 20 | -moz-box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2); 21 | box-shadow: 1px 1px 5px 2px rgba(0, 0, 0, 0.2); 22 | } 23 | 24 | @media (max-width: 1024px) { 25 | #preview-pane { 26 | right: 0; 27 | } 28 | } 29 | 30 | /* The Javascript code will set the aspect ratio of the crop 31 | area based on the size of the thumbnail preview, 32 | specified here */ 33 | 34 | #preview-pane .preview-container { 35 | width: 175px; 36 | height: 150px; 37 | overflow: hidden; 38 | } 39 | 40 | #demo7 { 41 | background-color: #eee; 42 | width: 500px; 43 | height: 330px; 44 | font-size: 24px; 45 | font-weight: 300; 46 | display: block; 47 | } -------------------------------------------------------------------------------- /src/views/admin/form/partial/errors.blade.php: -------------------------------------------------------------------------------- 1 | @if (is_object($errors) and ! empty($errors->count()) and ! empty($errors->all())) 2 |
3 | 4 | 9 |
10 | @endif 11 | 12 | @if (Session::has('error')) 13 |
14 | 15 | 18 |
19 | @endif 20 | 21 | 22 | @if (Session::has('warnings')) 23 |
24 | 25 | 30 |
31 | @endif 32 | 33 | @if (Session::has('messages')) 34 |
35 | 36 | 41 |
42 | @endif -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout2/layout/_page-container.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Page container 3 | ***/ 4 | 5 | .page-container { 6 | margin: 0px; 7 | padding: 0px; 8 | position: relative; 9 | 10 | @include clearfix(); 11 | 12 | /* Fixed header */ 13 | .page-header-fixed & { 14 | margin-top: $header-height; 15 | } 16 | 17 | /* Fixed footer for mobile */ 18 | .page-footer-fixed.page-footer-fixed-mobile & { 19 | margin-bottom: 20px !important; 20 | } 21 | } 22 | 23 | @media (min-width: $screen-lg-med) { /* 1200px */ 24 | .container { 25 | width: 1270px; 26 | } 27 | } 28 | 29 | @media (min-width: $screen-md-min) { 30 | 31 | /* Page container in fixed footer */ 32 | .page-footer-fixed .page-container { 33 | margin-bottom: 20px !important; 34 | } 35 | } 36 | 37 | @media (max-width: $screen-sm-max) { 38 | 39 | /* Page container */ 40 | .page-container { 41 | margin: 0 !important; 42 | padding: 0 !important; 43 | 44 | .page-header-fixed.page-header-fixed-mobile & { 45 | margin-top: $header-height !important; 46 | } 47 | } 48 | } 49 | 50 | @media (max-width: $screen-xs-min) { 51 | 52 | /* Page container */ 53 | .page-container { 54 | .page-header-fixed.page-header-fixed-mobile & { 55 | margin-top: $header-height-xs !important; 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Frontend/AssetController.php: -------------------------------------------------------------------------------- 1 | isFile($path)) 18 | { 19 | $mimetype = mime_content_type($path); 20 | if (@is_array(getimagesize($path))) 21 | { 22 | return response()->make($filesystem->get($path), 200, array('content-type' => $mimetype)); 23 | } else 24 | { 25 | $name = explode('/', $path); 26 | $name = end($name); 27 | 28 | return response()->download($path, $name, array('content-type' => $mimetype)); 29 | } 30 | } 31 | } 32 | 33 | 34 | return abort(404); 35 | } 36 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | auth = $auth; 25 | $this->config = $config; 26 | } 27 | 28 | /** 29 | * Handle an incoming request. 30 | * 31 | * @param \Illuminate\Http\Request $request 32 | * @param \Closure $next 33 | * @return mixed 34 | */ 35 | public function handle($request, Closure $next) 36 | { 37 | if ($this->auth->guest()) 38 | { 39 | if ($request->ajax()) 40 | { 41 | return response('Unauthorized.', 401); 42 | } else 43 | { 44 | return redirect()->guest($this->config->get('expendable.login_uri')); 45 | } 46 | } 47 | 48 | return $next($request); 49 | } 50 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-markdown.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Markdown 3 | ***/ 4 | 5 | .md-input { 6 | padding: 5px !important; 7 | border-bottom: 0 !important; 8 | 9 | @include border-radius(0 0 $general-border-radius $general-border-radius); 10 | } 11 | 12 | .md-editor { 13 | 14 | @include border-radius($general-border-radius); 15 | 16 | .btn-toolbar { 17 | margin-left: 0px; 18 | 19 | @include border-radius($general-border-radius $general-border-radius 0 0); 20 | 21 | .btn-group { 22 | .btn-sm.btn { 23 | padding-bottom: 3px; 24 | } 25 | 26 | .btn-primary { 27 | padding-top: 5px; 28 | padding-bottom: 7px; 29 | } 30 | } 31 | } 32 | } 33 | 34 | .md-editor.active { 35 | border: 1px solid #999999; 36 | -webkit-box-shadow: none !important; 37 | -moz-box-shadow: none !important; 38 | box-shadow: none !important; 39 | } 40 | 41 | /*** 42 | Error state for WYSIWYG Editors 43 | ***/ 44 | 45 | .has-error .md-editor { 46 | border: 1px solid $state-danger-border !important; 47 | } 48 | 49 | .has-success .md-editor { 50 | border: 1px solid $state-success-border !important; 51 | } 52 | 53 | .has-warning .md-editor { 54 | border: 1px solid $state-warning-border !important; 55 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Backend/Base/ErrorController.php: -------------------------------------------------------------------------------- 1 | $code, 15 | 'class' => $class, 16 | 'message' => $exception->getMessage(), 17 | ]); 18 | 19 | 20 | $this->layoutManager->add([ 21 | 'class_layout'=>$class.'-full-page', 22 | 'content'=>$content, 23 | ]); 24 | 25 | return response()->make($this->layoutManager->render(), $code); 26 | } 27 | 28 | // ------------------------------------------------------------------------------------------------ 29 | // ------------------------------------------------------------------------------------------------ 30 | // ------------------------------------------------------------------------------------------------ 31 | 32 | protected function initStaticPart() 33 | { 34 | $this->layoutManager->initStaticPart(); 35 | } 36 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Controllers/Backend/Base/BaseComponent.php: -------------------------------------------------------------------------------- 1 | getIndexDatatable(); 29 | } 30 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/User/UserDatatable.php: -------------------------------------------------------------------------------- 1 | add('id'); 13 | $this->add('email'); 14 | $this->addDefaultAction('expendable::admin.user.datatable.action'); 15 | } 16 | 17 | public function applyFilters() 18 | { 19 | parent::applyFilters(); 20 | if (UserUtils::isNotSuperAdmin()) 21 | { 22 | $super_admin = Role::where('initials', '=', '@sa')->get()->last(); 23 | 24 | if (!empty($super_admin)) 25 | { 26 | $this->model = $this->model->where('role_id', '!=', $super_admin->id); 27 | } 28 | } 29 | 30 | } 31 | 32 | public function filters() 33 | { 34 | $this->form->add('status', 'choice', [ 35 | 'choices' => StaticLabel::status(), 36 | 'empty_value' => '-', 37 | 'validation' => 'required', 38 | 'label' => trans('expendable::datatable.status') 39 | ]); 40 | 41 | } 42 | } -------------------------------------------------------------------------------- /src/views/admin/login/signin.blade.php: -------------------------------------------------------------------------------- 1 | @section('content') 2 | {!! form_start($form) !!} 3 |

{{trans('expendable::form.login_to_your_account')}}

4 | @include('expendable::admin.form.partial.errors') 5 |
6 | 7 | {!! form_label($form->email,['class'=>'control-label visible-ie8 visible-ie9']) !!} 8 |
9 | 10 | {!! form_widget($form->email) !!} 11 |
12 |
13 |
14 | {!! form_label($form->password,['class'=>'control-label visible-ie8 visible-ie9']) !!} 15 |
16 | 17 | {!! form_widget($form->password) !!} 18 |
19 |
20 |
21 | {!! form_widget($form->login) !!} 22 |
23 |
24 |

{{trans('expendable::form.forgot_your_password')}}

25 |

{!! trans('expendable::form.click_here_to_reset_your_password',['link'=>route('login.remind')]) !!}

26 |
27 | {!! form_end($form) !!} 28 | @stop 29 | -------------------------------------------------------------------------------- /src/Distilleries/Expendable/States/DatatableStateTrait.php: -------------------------------------------------------------------------------- 1 | datatable->build(); 19 | $datatable = $this->datatable->generateHtmlRender(); 20 | $this->layoutManager->add([ 21 | 'content'=>view('expendable::admin.form.state.datatable')->with([ 22 | 'datatable' => $datatable 23 | ]) 24 | ]); 25 | 26 | return $this->layoutManager->render(); 27 | } 28 | 29 | // ------------------------------------------------------------------------------------------------ 30 | 31 | public function getDatatable() 32 | { 33 | $this->datatable->setModel($this->model); 34 | $this->datatable->build(); 35 | 36 | return $this->datatable->generateColomns(); 37 | } 38 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_animate.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | AngularJS Basic Animations 3 | ***/ 4 | 5 | @-webkit-keyframes fadeInUp { 6 | 0% { 7 | opacity: 0; 8 | -webkit-transform: translateY(15px); 9 | } 10 | 100% { 11 | opacity: 1; 12 | -webkit-transform: translateY(0); 13 | } 14 | } 15 | 16 | @-moz-keyframes fadeInUp { 17 | 0% { 18 | opacity: 0; 19 | -moz-transform: translateY(15px); 20 | } 21 | 100% { 22 | opacity: 1; 23 | -moz-transform: translateY(0); 24 | } 25 | } 26 | 27 | @-o-keyframes fadeInUp { 28 | 0% { 29 | opacity: 0; 30 | -o-transform: translateY(15px); 31 | } 32 | 100% { 33 | opacity: 1; 34 | -o-transform: translateY(0); 35 | } 36 | } 37 | 38 | @keyframes fadeInUp { 39 | 0% { 40 | opacity: 0; 41 | transform: translateY(15px); 42 | } 43 | 100% { 44 | opacity: 1; 45 | transform: translateY(0); 46 | } 47 | } 48 | 49 | .fade-in-up { 50 | -webkit-animation: fadeInUp .5s; 51 | animation: fadeInUp .5s; 52 | } 53 | 54 | @-webkit-keyframes bounceDelay { 55 | 0%, 80%, 100% { -webkit-transform: scale(0.0) } 56 | 40% { -webkit-transform: scale(1.0) } 57 | } 58 | 59 | @keyframes bounceDelay { 60 | 0%, 80%, 100% { 61 | transform: scale(0.0); 62 | -webkit-transform: scale(0.0); 63 | } 64 | 65 | 40% { 66 | transform: scale(1.0); 67 | -webkit-transform: scale(1.0); 68 | } 69 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-daterangepicker.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Daterangepicker 3 | ***/ 4 | 5 | .modal-open .daterangepicker { 6 | z-index: 10055 !important; 7 | } 8 | 9 | .daterangepicker { 10 | margin-top: 4px; 11 | } 12 | 13 | .daterangepicker td { 14 | text-shadow: none ; 15 | } 16 | 17 | .daterangepicker td.active { 18 | background-color: #4b8df8 ; 19 | background-image: none ; 20 | filter:none ; 21 | } 22 | 23 | .daterangepicker th { 24 | font-weight: 400; 25 | font-size: 14px; 26 | } 27 | 28 | .daterangepicker .ranges input[type="text"] { 29 | width: 70px !important; 30 | font-size: 11px; 31 | vertical-align: middle; 32 | } 33 | 34 | .daterangepicker .ranges label { 35 | font-weight: 300; 36 | display: block; 37 | } 38 | 39 | .daterangepicker .ranges .btn { 40 | margin-top: 10px; 41 | } 42 | 43 | .daterangepicker.dropdown-menu { 44 | padding: 5px; 45 | } 46 | 47 | .daterangepicker .ranges li { 48 | color: #333; 49 | } 50 | 51 | .daterangepicker .ranges li.active, 52 | .daterangepicker .ranges li:hover { 53 | background: #4b8df8 !important; 54 | border: 1px solid #4b8df8 !important; 55 | color: #fff; 56 | } 57 | 58 | .daterangepicker .range_inputs input { 59 | margin-bottom: 0 !important; 60 | } 61 | 62 | .daterangepicker .fa-angle-right:before { 63 | content: "\f105"; 64 | } 65 | 66 | .daterangepicker .fa-angle-left:before { 67 | content: "\f104"; 68 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_bootstrap-switch.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Bootstrap Switch 3 | ***/ 4 | 5 | .bootstrap-switch { 6 | border-color: $input-border; 7 | 8 | &.bootstrap-switch-focused { 9 | box-shadow: none; 10 | border-color: $input-border; 11 | } 12 | } 13 | 14 | /*** 15 | Color variants 16 | ***/ 17 | 18 | @mixin bootstrap-switch-variant($state, $background, $text) { 19 | 20 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-#{$state}, 21 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-#{$state} { 22 | color: $text; 23 | background: $background; 24 | } 25 | } 26 | 27 | @include bootstrap-switch-variant("primary", $btn-primary-bg, $btn-primary-color); 28 | @include bootstrap-switch-variant("info", $btn-info-bg, $btn-info-color); 29 | @include bootstrap-switch-variant("success", $btn-success-bg, $btn-success-color); 30 | @include bootstrap-switch-variant("warning", $btn-warning-bg, $btn-warning-color); 31 | @include bootstrap-switch-variant("danger", $btn-danger-bg, $btn-danger-color); 32 | @include bootstrap-switch-variant("default", lighten($brand-default, 15%), #444); 33 | 34 | /* Bootstrap switch on portlet headers */ 35 | .portlet > { 36 | .portlet-title { 37 | > .actions { 38 | > .bootstrap-switch { 39 | border-color: transparent; 40 | margin-top: 0px; 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /src/views/admin/menu/left/main.blade.php: -------------------------------------------------------------------------------- 1 | getActionName()); 4 | $controller = is_array($controller) ? $controller[0] : $controller; 5 | ?> 6 | @if (PermissionUtil::hasAccess($item['action'])) 7 |
  • 8 | 9 | @if ($item['icon']) 10 | 11 | @endif 12 | {{ trans($item['libelle']) }} 13 | 14 | @if (! empty($item['submenu'])) 15 | @if (isset($item['action']) and (strpos($item['action'], $controller) !== false)) 16 | 17 | 18 | @else 19 | 20 | @endif 21 | @endif 22 | 23 | @if (! empty($item['submenu'])) 24 | @include('expendable::admin.menu.left.sub', ['item' => $item, 'controller' => $controller]) 25 | @endif 26 |
  • 27 | @endif -------------------------------------------------------------------------------- /src/views/admin/menu/left/sub.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/plugins/_icheck.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | iCheck 3 | ***/ 4 | 5 | .icheck-list { 6 | > label { 7 | display: block; 8 | margin-bottom: 8px; 9 | 10 | &:last-child { 11 | margin-bottom: 0; 12 | } 13 | } 14 | } 15 | 16 | .icheck-inline { 17 | 18 | .form-horizontal & { 19 | margin-top: 8px; 20 | } 21 | 22 | > label { 23 | display: inline-block; 24 | margin-left: 15px; 25 | 26 | &:first-child { 27 | margin-left: 0; 28 | } 29 | } 30 | } 31 | 32 | div[class*='icheckbox_'], 33 | div[class*='iradio_'] { 34 | margin-right: 5px; 35 | top: -1px !important; 36 | } 37 | 38 | .icheck-colors { 39 | padding: 0; 40 | margin: 0; 41 | list-style: none; 42 | 43 | > li { 44 | padding: 0; 45 | margin: 4px; 46 | float: left; 47 | display: inline-block; 48 | height: 20px; 49 | width: 20px; 50 | background:#000000; 51 | 52 | &:first-child { 53 | margin-left: 0; 54 | } 55 | 56 | @include opacity(0.6); 57 | 58 | &:hover { 59 | @include opacity(1); 60 | cursor: pointer; 61 | } 62 | 63 | &.active { 64 | height:26px; 65 | margin-top:0; 66 | @include opacity(0.6); 67 | } 68 | 69 | &.red{background:#d54e21;} 70 | &.green{background:#78a300;} 71 | &.blue{background:#0e76a8;} 72 | &.aero{background:#9cc2cb;} 73 | &.grey{background:#73716e;} 74 | &.orange{background:#f70;} 75 | &.yellow{background:#fc0;} 76 | &.pink{background:#ff66b5;} 77 | &.purple{background:#6a5a8c;} 78 | } 79 | } -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/admin/layout3/layout/_content.scss: -------------------------------------------------------------------------------- 1 | /* Page Container */ 2 | .page-container { 3 | clear: both; 4 | } 5 | 6 | .page-head { 7 | background: #fff; 8 | 9 | .container { 10 | position: relative; 11 | } 12 | 13 | .page-title { 14 | display: inline-block; 15 | float: left; 16 | padding: 19px 0; 17 | 18 | > h1 { 19 | color: #697882; 20 | font-size: 22px; 21 | font-weight: 400; 22 | margin: 0; 23 | 24 | > small { 25 | color: #9eacb4; 26 | font-size: 13px; 27 | font-weight: 400; 28 | } 29 | } 30 | } 31 | 32 | $page-breadcrumb-toolbar-main-color: lighten(#EFF2F4, 3%); 33 | 34 | .page-toolbar { 35 | display: inline-block; 36 | float: right; 37 | } 38 | } 39 | 40 | .breadcrumb { 41 | background: none; 42 | padding: 0 0 15px 0; 43 | margin: 0; 44 | color: #c5ccd5; 45 | } 46 | 47 | .breadcrumb > li + li:before { 48 | display: none; 49 | } 50 | .breadcrumb .fa { 51 | font-size: 6px; 52 | margin: 0 2px 0 4px; 53 | position: relative; 54 | top: -1px; 55 | } 56 | .breadcrumb > .active { 57 | color: #9eacb4; 58 | } 59 | 60 | .page-content { 61 | background: $page-content-bg-color; 62 | padding: 15px 0 15px; 63 | } 64 | 65 | @media (max-width: $screen-sm-max) { /* 991px */ 66 | 67 | .page-head { 68 | background: #EFF3F8; 69 | 70 | @include reset-container(); 71 | } 72 | 73 | .page-content { 74 | padding-top: 0px; 75 | @include reset-container(); 76 | } 77 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Events/EventDispatcher.php: -------------------------------------------------------------------------------- 1 | event_name = $eventName; 20 | $this->params = $params; 21 | 22 | if ($auto_dispatch === true) 23 | { 24 | $this->dispatch($this->params); 25 | } 26 | } 27 | 28 | // ------------------------------------------------------------------------------------------------ 29 | 30 | /** 31 | * @inheritDoc 32 | */ 33 | public function dispatch($params = array()) 34 | { 35 | Event::dispatch($this->event_name, array($params)); 36 | } 37 | 38 | /** 39 | * @param array $params 40 | * @deprecated Use dispatch instead 41 | */ 42 | public function fire($params = array()) 43 | { 44 | $this->dispatch($params); 45 | } 46 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Forms/Login/SignIn.php: -------------------------------------------------------------------------------- 1 | 'required|email', 9 | 'password' => 'required', 10 | ]; 11 | 12 | // ------------------------------------------------------------------------------------------------ 13 | 14 | 15 | public function buildForm() 16 | { 17 | $this->add('email', 'email', 18 | [ 19 | 'label' => trans('expendable::form.email'), 20 | 'validation' => 'required,custom[email]', 21 | 'attr' => [ 22 | 'class' => 'placeholder-no-fix', 23 | ], 24 | 25 | ]) 26 | ->add('password', 'password', 27 | [ 28 | 'label' => trans('expendable::form.password'), 29 | 'validation' => 'required', 30 | 'attr' => [ 31 | 'class' => 'placeholder-no-fix' 32 | ], 33 | ]) 34 | ->add('login', 'submit', 35 | [ 36 | 'label' => trans('expendable::form.login'), 37 | 'attr' => [ 38 | 'class' => 'btn green-haze pull-right' 39 | ], 40 | ]); 41 | } 42 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Models/Translation.php: -------------------------------------------------------------------------------- 1 | where($this->getTable() . '.' . $this->getModelColumn(), '=', $model->getTable()) 57 | ->where($this->getTable() . '.' . $this->getIdSourceColumn(), '=', $model->getKey()); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/resources/assets/backend/sass/global/components/_modals.scss: -------------------------------------------------------------------------------- 1 | /*** 2 | Customized Bootstrap Modal 3 | ***/ 4 | 5 | .modal { 6 | z-index: $zindex-modal; 7 | outline: none; 8 | overflow-y: auto !important; /* Fix content shifting to the right on modal open due to scrollbar closed */ 9 | 10 | .modal-header { 11 | border-bottom: 1px solid #EFEFEF; 12 | 13 | h3 { 14 | font-weight: 300; 15 | } 16 | 17 | .close { 18 | margin-top: 0px !important; 19 | } 20 | } 21 | 22 | .modal-dialog { 23 | z-index: $zindex-modal + 1; 24 | } 25 | 26 | > .loading { 27 | position: absolute; 28 | top: 50%; 29 | left:50%; 30 | margin-top: -22px; 31 | margin-left: -22px; 32 | } 33 | 34 | &.in { 35 | .page-loading { 36 | display: none; 37 | } 38 | } 39 | } 40 | 41 | .modal-open { 42 | overflow-y: auto !important; 43 | } 44 | 45 | .modal-open-noscroll { 46 | overflow-y: hidden !important; 47 | } 48 | 49 | .modal-backdrop { 50 | border: 0; 51 | outline: none; 52 | z-index: $zindex-modal-background; 53 | 54 | &, 55 | &.fade.in { 56 | background-color: #333 !important; 57 | } 58 | } 59 | 60 | /* Full width modal */ 61 | 62 | .modal-full.modal-dialog { 63 | width: 99%; 64 | } 65 | 66 | @media (max-width: $screen-sm-min) { 67 | 68 | .modal-full.modal-dialog { 69 | width: auto; 70 | } 71 | 72 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Models/LockableTrait.php: -------------------------------------------------------------------------------- 1 | {$this->column_nb_of_try_name} >= config($this->config_key_security_lock)); 13 | 14 | } 15 | 16 | public function incrementLock() 17 | { 18 | 19 | $this->{$this->column_nb_of_try_name} += 1; 20 | \DB::table($this->getTable()) 21 | ->where($this->getKeyName(), $this->getKey()) 22 | ->increment($this->column_nb_of_try_name); 23 | return $this; 24 | 25 | } 26 | 27 | public function unlock() 28 | { 29 | 30 | \DB::table($this->getTable()) 31 | ->where($this->getKeyName(), $this->getKey()) 32 | ->decrement($this->column_nb_of_try_name, $this->{$this->column_nb_of_try_name}); 33 | 34 | $this->{$this->column_nb_of_try_name} = 0; 35 | return $this; 36 | 37 | } 38 | 39 | public function lock() 40 | { 41 | $this->{$this->column_nb_of_try_name} = config($this->config_key_security_lock) + 1; 42 | 43 | \DB::table($this->getTable()) 44 | ->where($this->getKeyName(), $this->getKey()) 45 | ->increment($this->column_nb_of_try_name, $this->{$this->column_nb_of_try_name} ); 46 | 47 | return $this; 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /src/Distilleries/Expendable/Http/Datatables/BaseDatatable.php: -------------------------------------------------------------------------------- 1 | add('translation', function($model) use ($template, $route) { 14 | 15 | $languages = Language::withoutCurrentLanguage()->get(); 16 | $translations = Translation::byElement($model)->pluck('id_element', 'iso')->toArray(); 17 | return view($template, array( 18 | 'languages' => $languages, 19 | 'translations' => $translations, 20 | 'data' => $model->toArray(), 21 | 'route' => !empty($route) ? $route.'@' : $this->getControllerNameForAction().'@' 22 | ))->render(); 23 | }); 24 | 25 | } 26 | 27 | // ------------------------------------------------------------------------------------------------ 28 | public function addDefaultAction($template = 'expendable::admin.form.components.datatable.actions', $route = '') 29 | { 30 | parent::addDefaultAction($template, $route); 31 | } 32 | } --------------------------------------------------------------------------------