Yii2 Users Module
Users management module for Yii2
Requirements
- PHP 5.6 or higher
- Yii2 v.2.0.20 and newest
- Yii2 Base module (required)
Installation
To install the module, run the following command in the console:
$ composer require "wdmg/yii2-users:dev-master"
After configure db connection, run the following command in the console:
$ php yii users/init
And select the operation you want to perform:
- Apply all module migrations
- Revert all module migrations
- Batch insert demo data*
* - The demo database contains 6 demo user`s with:
ID | Username | Password | Status | |
---|---|---|---|---|
100 | admin | admin | admin@example.com | active |
101 | demo | demo | demo@example.com | inactive |
102 | alice | alice | alice@example.com | inactive |
103 | bob | bob | bob@example.com | inactive |
104 | johndoe | johndoe | johndoe@example.com | inactive |
105 | janedoe | janedoe | janedoe@example.com | inactive |
Migrations
In any case, you can execute the migration and create the initial data, run the following command in the console:
$ php yii migrate --migrationPath=@vendor/wdmg/yii2-users/migrations
Configure
To add a module to the project, add the following data in your configuration file:
'components' => [
'user' => [
'identityClass' => 'wdmg\users\models\Users',
],
...
],
'modules' => [
'users' => [
'class' => 'wdmg\users\Module',
'routePrefix' => 'admin',
'rememberDuration' => (3600 * 24 * 30),
'signupConfirmation' => [
'needConfirmation' => false,
'checkTokenRoute' => 'site/signup-confirm',
'supportEmail' => 'noreply@example.com',
'emailViewPath' => [
'html' => '@vendor/wdmg/yii2-users/mail/signupConfirmation-html',
'text' => '@vendor/wdmg/yii2-users/mail/signupConfirmation-text',
],
],
'passwordReset' => [
'resetTokenExpire' => 3600,
'checkTokenRoute' => 'site/reset-password',
'supportEmail' => 'noreply@example.com',
'emailViewPath' => [
'html' => '@vendor/wdmg/yii2-users/mail/passwordReset-html',
'text' => '@vendor/wdmg/yii2-users/mail/passwordReset-text',
],
],
],
...
],
Usage
See the USECASES.md for more details.
Routing
Use the Module::dashboardNavItems()
method of the module to generate a navigation items list for NavBar, like this:
<?php
echo Nav::widget([
'options' => ['class' => 'navbar-nav navbar-right'],
'label' => 'Modules',
'items' => [
Yii::$app->getModule('users')->dashboardNavItems(),
...
]
]);
?>
Status and version [in progress development]
- v.1.1.6 - Added extra options to composer.json and navbar menu icon
- v.1.1.5 - Added choice param for non interactive mode
- v.1.1.4 - Module refactoring