2014-05-07 17:52:13 +10:00
|
|
|
<?php namespace Backend;
|
|
|
|
|
2014-05-14 23:24:20 +10:00
|
|
|
use App;
|
|
|
|
use Lang;
|
|
|
|
use Backend;
|
|
|
|
use BackendMenu;
|
|
|
|
use BackendAuth;
|
|
|
|
use Backend\Classes\WidgetManager;
|
2014-07-04 18:47:46 +10:00
|
|
|
use System\Models\MailTemplate;
|
2015-01-12 20:08:31 +11:00
|
|
|
use System\Classes\CombineAssets;
|
2014-06-10 19:30:06 +10:00
|
|
|
use System\Classes\SettingsManager;
|
2015-01-12 20:08:31 +11:00
|
|
|
use October\Rain\Support\ModuleServiceProvider;
|
2014-05-07 17:52:13 +10:00
|
|
|
|
|
|
|
class ServiceProvider extends ModuleServiceProvider
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Register the service provider.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function register()
|
|
|
|
{
|
|
|
|
parent::register('backend');
|
2014-05-14 23:24:20 +10:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Register widgets
|
|
|
|
*/
|
2014-10-10 23:16:22 +02:00
|
|
|
WidgetManager::instance()->registerFormWidgets(function ($manager) {
|
2014-05-14 23:24:20 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\CodeEditor', [
|
|
|
|
'label' => 'Code editor',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'codeeditor'
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\RichEditor', [
|
|
|
|
'label' => 'Rich editor',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'richeditor'
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\FileUpload', [
|
|
|
|
'label' => 'File uploader',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'fileupload'
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\Relation', [
|
|
|
|
'label' => 'Relationship',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'relation'
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
2014-10-03 18:01:37 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\DatePicker', [
|
2014-05-14 23:24:20 +10:00
|
|
|
'label' => 'Date picker',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'datepicker'
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
2014-11-25 13:37:16 +04:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\TimePicker', [
|
|
|
|
'label' => 'Time picker',
|
|
|
|
'code' => 'timepicker'
|
|
|
|
]);
|
2014-10-03 18:01:37 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\ColorPicker', [
|
|
|
|
'label' => 'Color picker',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'colorpicker'
|
2014-10-03 18:01:37 +10:00
|
|
|
]);
|
2014-06-20 19:29:03 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\DataGrid', [
|
|
|
|
'label' => 'Data Grid',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'datagrid'
|
2015-02-04 19:31:41 +11:00
|
|
|
]); // @deprecated if year >= 2016
|
2015-01-03 10:04:06 +11:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\DataTable', [
|
|
|
|
'label' => 'Data Table',
|
|
|
|
'code' => 'datatable'
|
2014-06-19 21:42:18 +10:00
|
|
|
]);
|
2014-07-02 20:48:45 +10:00
|
|
|
$manager->registerFormWidget('Backend\FormWidgets\RecordFinder', [
|
|
|
|
'label' => 'Record Finder',
|
2014-10-18 10:47:36 +11:00
|
|
|
'code' => 'recordfinder'
|
2014-07-02 20:48:45 +10:00
|
|
|
]);
|
2014-05-14 23:24:20 +10:00
|
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Register navigation
|
|
|
|
*/
|
2014-10-10 23:16:22 +02:00
|
|
|
BackendMenu::registerCallback(function ($manager) {
|
2014-05-14 23:24:20 +10:00
|
|
|
$manager->registerMenuItems('October.Backend', [
|
|
|
|
'dashboard' => [
|
|
|
|
'label' => 'backend::lang.dashboard.menu_label',
|
2014-10-21 20:21:39 +11:00
|
|
|
'icon' => 'icon-dashboard',
|
2014-05-14 23:24:20 +10:00
|
|
|
'url' => Backend::url('backend'),
|
|
|
|
'permissions' => ['backend.access_dashboard'],
|
|
|
|
'order' => 1
|
|
|
|
]
|
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
2014-06-10 19:30:06 +10:00
|
|
|
/*
|
|
|
|
* Register settings
|
|
|
|
*/
|
2014-10-10 23:16:22 +02:00
|
|
|
SettingsManager::instance()->registerCallback(function ($manager) {
|
2014-06-10 19:30:06 +10:00
|
|
|
$manager->registerSettingItems('October.Backend', [
|
2014-10-15 19:53:44 +11:00
|
|
|
'branding' => [
|
|
|
|
'label' => 'backend::lang.branding.menu_label',
|
|
|
|
'description' => 'backend::lang.branding.menu_description',
|
2014-10-03 18:01:37 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_SYSTEM,
|
|
|
|
'icon' => 'icon-paint-brush',
|
2014-10-15 19:53:44 +11:00
|
|
|
'class' => 'Backend\Models\BrandSettings',
|
2015-01-22 09:06:30 +01:00
|
|
|
'order' => 500
|
2014-10-03 18:01:37 +10:00
|
|
|
],
|
2014-06-10 19:30:06 +10:00
|
|
|
'editor' => [
|
|
|
|
'label' => 'backend::lang.editor.menu_label',
|
|
|
|
'description' => 'backend::lang.editor.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-06-10 19:30:06 +10:00
|
|
|
'icon' => 'icon-code',
|
2014-07-01 17:17:53 +10:00
|
|
|
'url' => Backend::URL('backend/editorpreferences'),
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 600,
|
2014-07-01 17:17:53 +10:00
|
|
|
'context' => 'mysettings'
|
|
|
|
],
|
|
|
|
'backend_preferences' => [
|
|
|
|
'label' => 'backend::lang.backend_preferences.menu_label',
|
|
|
|
'description' => 'backend::lang.backend_preferences.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-07-01 17:17:53 +10:00
|
|
|
'icon' => 'icon-laptop',
|
|
|
|
'class' => 'Backend\Models\BackendPreferences',
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 500,
|
2014-07-01 17:17:53 +10:00
|
|
|
'context' => 'mysettings'
|
|
|
|
],
|
|
|
|
'myaccount' => [
|
|
|
|
'label' => 'backend::lang.myaccount.menu_label',
|
|
|
|
'description' => 'backend::lang.myaccount.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_MYSETTINGS,
|
2014-07-01 17:17:53 +10:00
|
|
|
'icon' => 'icon-user',
|
|
|
|
'url' => Backend::URL('backend/users/myaccount'),
|
2014-07-19 15:51:43 +10:00
|
|
|
'order' => 400,
|
2014-07-27 11:11:16 +11:00
|
|
|
'context' => 'mysettings',
|
2015-01-22 09:06:30 +01:00
|
|
|
'keywords' => 'backend::lang.myaccount.menu_keywords'
|
2014-06-10 19:30:06 +10:00
|
|
|
],
|
2014-07-30 17:19:29 +10:00
|
|
|
'access_logs' => [
|
|
|
|
'label' => 'backend::lang.access_log.menu_label',
|
|
|
|
'description' => 'backend::lang.access_log.menu_description',
|
2014-08-06 18:33:11 +10:00
|
|
|
'category' => SettingsManager::CATEGORY_LOGS,
|
2014-07-30 17:19:29 +10:00
|
|
|
'icon' => 'icon-lock',
|
|
|
|
'url' => Backend::url('backend/accesslogs'),
|
|
|
|
'permissions' => ['backend.access_admin_logs'],
|
|
|
|
'order' => 800
|
2015-01-22 09:06:30 +01:00
|
|
|
]
|
2014-06-10 19:30:06 +10:00
|
|
|
]);
|
|
|
|
});
|
|
|
|
|
2014-05-14 23:24:20 +10:00
|
|
|
/*
|
|
|
|
* Register permissions
|
|
|
|
*/
|
2014-10-10 23:16:22 +02:00
|
|
|
BackendAuth::registerCallback(function ($manager) {
|
2014-05-14 23:24:20 +10:00
|
|
|
$manager->registerPermissions('October.Backend', [
|
2014-10-10 23:16:22 +02:00
|
|
|
'backend.access_dashboard' => [
|
|
|
|
'label' => 'system::lang.permissions.view_the_dashboard',
|
2015-01-22 09:06:30 +01:00
|
|
|
'tab' => 'system::lang.permissions.name'
|
2014-10-10 23:16:22 +02:00
|
|
|
],
|
2014-12-19 10:28:27 +01:00
|
|
|
'backend.manage_users' => [
|
2014-10-10 23:16:22 +02:00
|
|
|
'label' => 'system::lang.permissions.manage_other_administrators',
|
2015-01-22 09:06:30 +01:00
|
|
|
'tab' => 'system::lang.permissions.name'
|
|
|
|
]
|
2014-05-14 23:24:20 +10:00
|
|
|
]);
|
|
|
|
});
|
2014-06-06 21:38:34 +10:00
|
|
|
|
|
|
|
/*
|
2014-07-04 18:47:46 +10:00
|
|
|
* Register mail templates
|
2014-06-06 21:38:34 +10:00
|
|
|
*/
|
2014-10-10 23:16:22 +02:00
|
|
|
MailTemplate::registerCallback(function ($template) {
|
2014-07-04 18:47:46 +10:00
|
|
|
$template->registerMailTemplates([
|
|
|
|
'backend::mail.invite' => 'Invitation for newly created administrators.',
|
|
|
|
'backend::mail.restore' => 'Password reset instructions for backend-end administrators.',
|
2014-06-06 21:38:34 +10:00
|
|
|
]);
|
|
|
|
});
|
2015-01-12 20:08:31 +11:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Register asset bundles
|
|
|
|
*/
|
2015-01-22 09:06:30 +01:00
|
|
|
CombineAssets::registerCallback(function($combiner) {
|
2015-01-12 20:08:31 +11:00
|
|
|
$combiner->registerBundle('~/modules/backend/assets/less/october.less');
|
|
|
|
$combiner->registerBundle('~/modules/backend/assets/js/october.js');
|
|
|
|
$combiner->registerBundle('~/modules/backend/assets/js/vendor/vendor.js');
|
|
|
|
$combiner->registerBundle('~/modules/backend/widgets/table/assets/js/build.js');
|
2015-02-14 16:40:50 +11:00
|
|
|
$combiner->registerBundle('~/modules/backend/formwidgets/richeditor/assets/js/build.js');
|
2015-01-12 20:08:31 +11:00
|
|
|
});
|
2014-05-07 17:52:13 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Bootstrap the module events.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function boot()
|
|
|
|
{
|
|
|
|
parent::boot('backend');
|
|
|
|
}
|
|
|
|
}
|