diff --git a/composer.json b/composer.json
index aff5c3d..012d4fe 100644
--- a/composer.json
+++ b/composer.json
@@ -29,6 +29,7 @@
},
"require": {
"php": ">=7.2",
+ "winter/wn-backend-module": "~1.2.8|dev-develop",
"composer/installers": "~1.0"
},
"replace": {
diff --git a/controllers/UserGroups.php b/controllers/UserGroups.php
index 5b57202..23bfb5d 100644
--- a/controllers/UserGroups.php
+++ b/controllers/UserGroups.php
@@ -18,33 +18,8 @@ class UserGroups extends Controller
\Backend\Behaviors\ListController::class
];
- /**
- * @var array `FormController` configuration.
- */
- public $formConfig = 'config_form.yaml';
-
- /**
- * @var array `ListController` configuration.
- */
- public $listConfig = 'config_list.yaml';
-
- /**
- * @var array `RelationController` configuration, by extension.
- */
- public $relationConfig;
-
/**
* @var array Permissions required to view this page.
*/
public $requiredPermissions = ['winter.users.access_groups'];
-
- /**
- * Constructor.
- */
- public function __construct()
- {
- parent::__construct();
-
- BackendMenu::setContext('Winter.User', 'user', 'usergroups');
- }
}
diff --git a/controllers/Users.php b/controllers/Users.php
index ec3f86d..169ecfd 100644
--- a/controllers/Users.php
+++ b/controllers/Users.php
@@ -5,10 +5,7 @@
use Flash;
use Response;
use Redirect;
-use BackendMenu;
-use BackendAuth;
use Backend\Classes\Controller;
-use System\Classes\SettingsManager;
use Winter\User\Models\User;
use Winter\User\Models\UserGroup;
use Winter\User\Models\MailBlocker;
@@ -45,20 +42,9 @@ class Users extends Controller
public $requiredPermissions = ['winter.users.access_users'];
/**
- * @var string HTML body tag class
+ * @var string The form layout to use. One of standard, sidebar, fancy
*/
- public $bodyClass = 'compact-container';
-
- /**
- * Constructor.
- */
- public function __construct()
- {
- parent::__construct();
-
- BackendMenu::setContext('Winter.User', 'user', 'users');
- SettingsManager::setContext('Winter.User', 'settings');
- }
+ public $formLayout = 'sidebar';
public function index()
{
diff --git a/controllers/usergroups/_list_toolbar.htm b/controllers/usergroups/_list_toolbar.php
similarity index 100%
rename from controllers/usergroups/_list_toolbar.htm
rename to controllers/usergroups/_list_toolbar.php
diff --git a/controllers/usergroups/create.htm b/controllers/usergroups/create.htm
deleted file mode 100644
index 1b11930..0000000
--- a/controllers/usergroups/create.htm
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-fatalError): ?>
-
- = Form::open(['class' => 'layout']) ?>
-
-
- = $this->formRender() ?>
-
-
-
-
- = Form::close() ?>
-
-
-
- = e($this->fatalError) ?>
- = e(trans('winter.user::lang.groups.return_to_list')) ?>
-
-
diff --git a/controllers/usergroups/index.htm b/controllers/usergroups/index.htm
deleted file mode 100644
index 766877d..0000000
--- a/controllers/usergroups/index.htm
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= $this->listRender() ?>
diff --git a/controllers/usergroups/preview.htm b/controllers/usergroups/preview.htm
deleted file mode 100644
index f572bd7..0000000
--- a/controllers/usergroups/preview.htm
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-fatalError): ?>
-
-
- = $this->formRenderPreview() ?>
-
-
-
-
- = e($this->fatalError) ?>
- Return to user groups list
-
-
\ No newline at end of file
diff --git a/controllers/usergroups/update.htm b/controllers/usergroups/update.htm
deleted file mode 100644
index 7032faf..0000000
--- a/controllers/usergroups/update.htm
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
-fatalError): ?>
-
- = Form::open(['class' => 'layout']) ?>
-
-
- = $this->formRender() ?>
-
-
-
-
- = Form::close() ?>
-
-
-
- = e($this->fatalError) ?>
- = e(trans('winter.user::lang.groups.return_to_list')) ?>
-
-
diff --git a/controllers/users/_convert_guest_form.htm b/controllers/users/_convert_guest_form.php
similarity index 100%
rename from controllers/users/_convert_guest_form.htm
rename to controllers/users/_convert_guest_form.php
diff --git a/controllers/users/_hint_activate.htm b/controllers/users/_hint_activate.php
similarity index 100%
rename from controllers/users/_hint_activate.htm
rename to controllers/users/_hint_activate.php
diff --git a/controllers/users/_hint_banned.htm b/controllers/users/_hint_banned.php
similarity index 100%
rename from controllers/users/_hint_banned.htm
rename to controllers/users/_hint_banned.php
diff --git a/controllers/users/_hint_guest.htm b/controllers/users/_hint_guest.php
similarity index 100%
rename from controllers/users/_hint_guest.htm
rename to controllers/users/_hint_guest.php
diff --git a/controllers/users/_hint_trashed.htm b/controllers/users/_hint_trashed.php
similarity index 100%
rename from controllers/users/_hint_trashed.htm
rename to controllers/users/_hint_trashed.php
diff --git a/controllers/users/_list_toolbar.htm b/controllers/users/_list_toolbar.php
similarity index 100%
rename from controllers/users/_list_toolbar.htm
rename to controllers/users/_list_toolbar.php
diff --git a/controllers/users/_preview_scoreboard.htm b/controllers/users/_preview_scoreboard.htm
deleted file mode 100644
index f0ce76a..0000000
--- a/controllers/users/_preview_scoreboard.htm
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
= e(trans('winter.user::lang.user.label')) ?>
- name): ?>
-
= e($formModel->name) ?>
-
-
= e(trans('winter.user::lang.user.name_empty')) ?>
-
-
-
- = e($formModel->email) ?>
-
-
-
-created_at): ?>
-
-
= e(trans('winter.user::lang.user.joined')) ?>
-
- = $formModel->created_at->toFormattedDateString() ?>
-
-
- Status:
- is_guest): ?>
- = e(trans('winter.user::lang.user.status_guest')) ?>
- is_activated): ?>
- = e(trans('winter.user::lang.user.status_activated')) ?>
-
- = e(trans('winter.user::lang.user.status_registered')) ?>
-
-
-
-
-last_seen): ?>
-
-
= e(trans('winter.user::lang.user.last_seen')) ?>
-
= $formModel->last_seen->diffForHumans() ?>
-
- = $formModel->isOnline() ? e(trans('winter.user::lang.user.is_online')) : e(trans('winter.user::lang.user.is_offline')) ?>
-
-
-
diff --git a/controllers/users/_preview_scoreboard.php b/controllers/users/_preview_scoreboard.php
new file mode 100644
index 0000000..2619b87
--- /dev/null
+++ b/controllers/users/_preview_scoreboard.php
@@ -0,0 +1,45 @@
+
+
+
+
= e(trans('winter.user::lang.user.label')) ?>
+ name): ?>
+
= e($formModel->name) ?>
+
+
= e(trans('winter.user::lang.user.name_empty')) ?>
+
+
+
+ = e($formModel->email) ?>
+
+
+
+ created_at): ?>
+
+
= e(trans('winter.user::lang.user.joined')) ?>
+
+ = $formModel->created_at->toFormattedDateString() ?>
+
+
+ Status:
+ is_guest): ?>
+ = e(trans('winter.user::lang.user.status_guest')) ?>
+ is_activated): ?>
+ = e(trans('winter.user::lang.user.status_activated')) ?>
+
+ = e(trans('winter.user::lang.user.status_registered')) ?>
+
+
+
+
+ last_seen): ?>
+
+
= e(trans('winter.user::lang.user.last_seen')) ?>
+
= $formModel->last_seen->diffForHumans() ?>
+
+ = $formModel->isOnline() ? e(trans('winter.user::lang.user.is_online')) : e(trans('winter.user::lang.user.is_offline')) ?>
+
+
+
+
+
+
diff --git a/controllers/users/_preview_status.php b/controllers/users/_preview_status.php
new file mode 100644
index 0000000..ff3a47e
--- /dev/null
+++ b/controllers/users/_preview_status.php
@@ -0,0 +1,9 @@
+ is_guest): ?>
+ = $this->makePartial('hint_guest') ?>
+ isBanned()): ?>
+ = $this->makePartial('hint_banned') ?>
+ trashed()): ?>
+ = $this->makePartial('hint_trashed') ?>
+ is_activated): ?>
+ = $this->makePartial('hint_activate') ?>
+
diff --git a/controllers/users/_preview_toolbar.htm b/controllers/users/_preview_toolbar.htm
deleted file mode 100644
index 40888a3..0000000
--- a/controllers/users/_preview_toolbar.htm
+++ /dev/null
@@ -1,71 +0,0 @@
-
- = e(trans('winter.user::lang.groups.return_to_users')) ?>
-
-
- = e(trans('winter.user::lang.users.update_details')) ?>
-
-user->hasAccess('winter.users.impersonate_user')): ?>
-
- = e(trans('winter.user::lang.users.impersonate_user')) ?>
-
-
-
-isSuspended()): ?>
-
- = e(trans('winter.user::lang.users.unsuspend')) ?>
-
-
-
-
-
- Deactivate
-
-
- Ban user
-
-
- Delete
-
-
-*/
-?>
-
-=
- /**
- * @event winter.user.view.extendPreviewToolbar
- * Fires when preview user toolbar is rendered.
- *
- * Example usage:
- *
- * Event::listen('winter.user.view.extendPreviewToolbar', function (
- * (Winter\User\Controllers\Users) $controller,
- * (Winter\User\Models\User) $record
- * ) {
- * return $controller->makePartial('~/path/to/partial');
- * });
- *
- */
- $this->fireViewEvent('winter.user.view.extendPreviewToolbar', [
- 'record' => $formModel
- ]);
-?>
diff --git a/controllers/users/_preview_toolbar.php b/controllers/users/_preview_toolbar.php
new file mode 100644
index 0000000..f44912e
--- /dev/null
+++ b/controllers/users/_preview_toolbar.php
@@ -0,0 +1,75 @@
+
+
diff --git a/controllers/users/create.htm b/controllers/users/create.htm
deleted file mode 100644
index d8af81a..0000000
--- a/controllers/users/create.htm
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
-
-fatalError): ?>
-
-
-
-
- = $this->formRenderOutsideFields() ?>
-
-
- = $this->formRenderPrimaryTabs() ?>
-
-
-
-
-
-
-
- = $this->formRenderSecondaryTabs() ?>
-
-
-
- = Form::open(['class'=>'layout stretch']) ?>
- = $this->makeLayout('form-with-sidebar') ?>
- = Form::close() ?>
-
-
-
-
- = Block::placeholder('breadcrumb') ?>
-
-
-
diff --git a/controllers/users/index.htm b/controllers/users/index.htm
deleted file mode 100644
index 766877d..0000000
--- a/controllers/users/index.htm
+++ /dev/null
@@ -1,2 +0,0 @@
-
-= $this->listRender() ?>
diff --git a/controllers/users/preview.htm b/controllers/users/preview.htm
deleted file mode 100644
index 3c5ee41..0000000
--- a/controllers/users/preview.htm
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-fatalError): ?>
-
-
-
- is_guest): ?>
- = $this->makePartial('hint_guest') ?>
- isBanned()): ?>
- = $this->makePartial('hint_banned') ?>
- trashed()): ?>
- = $this->makePartial('hint_trashed') ?>
- is_activated): ?>
- = $this->makePartial('hint_activate') ?>
-
-
-
-
- = $this->makePartial('preview_scoreboard') ?>
-
-
-
-
-
-
- = $this->formRender(['preview' => true, 'section' => 'outside']) ?>
-
-
-
- = $this->formRender(['preview' => true, 'section' => 'primary']) ?>
-
-
-
-
-
- = $this->formRender(['preview' => true, 'section' => 'secondary']) ?>
-
-
-
- = Form::open(['class'=>'layout stretch']) ?>
- = $this->makeLayout('form-with-sidebar') ?>
- = Form::close() ?>
-
-
-
-
-
-
-
diff --git a/controllers/users/update.htm b/controllers/users/update.htm
deleted file mode 100644
index 40035ce..0000000
--- a/controllers/users/update.htm
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-fatalError): ?>
-
-
-
-
- = $this->formRenderOutsideFields() ?>
-
-
-
- = $this->formRenderPrimaryTabs() ?>
-
-
-
-
-
-
-
- = $this->formRenderSecondaryTabs() ?>
-
-
-
- = Form::open(['class'=>'layout stretch']) ?>
- = $this->makeLayout('form-with-sidebar') ?>
- = Form::close() ?>
-
-
-
-
- = Block::placeholder('breadcrumb') ?>
-
-
-
diff --git a/models/user/fields.yaml b/models/user/fields.yaml
index 9e1cbee..a999e6a 100644
--- a/models/user/fields.yaml
+++ b/models/user/fields.yaml
@@ -4,6 +4,21 @@
fields:
+ _status:
+ type: partial
+ path: preview_status
+ context: preview
+
+ _scoreboard:
+ type: partial
+ path: preview_scoreboard
+ context: preview
+
+ _preview_toolbar:
+ type: partial
+ path: preview_toolbar
+ context: preview
+
name:
label: winter.user::lang.user.name
span: auto