wdmg/yii2-users

Users management module for Yii2

Installs: 8

Dependents: 0

Suggesters: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

Type:yii2-extension

1.0.4 2019-03-16 16:30 UTC

README

Progress Github all releases GitHub version Progress GitHub license

Yii2 Users Module

Users management module for Yii2

Requirements

  • PHP 5.6 or higher
  • Yii2 v.2.0.13 and newest

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:

  1. Apply all module migrations
  2. Revert all module migrations
  3. Batch insert demo data*

* - The demo database contains 6 demo user`s with:

ID Username Password Email Status
100 admin adminadmin admin@example.com
101 demo demodemo demo@example.com
102 alice alicealice alice@example.com
103 bob bobbob bob@example.com
104 johndoe johndoejohndoe johndoe@example.com diactivated
105 janedoe janedoejanedoe janedoe@example.com diactivated

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' => [
    'tickets' => [
        'class' => 'wdmg\users\Module',
        'routePrefix' => 'admin'
        'options' => [
            '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',
                ],
            ],
        ],
    ],
    ...
],

If you have connected the module not via a composer add Bootstrap section:

$config['bootstrap'][] = 'wdmg\users\Bootstrap';

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.0.4 - Added dashboard navigation items for NavBar
  • v.1.0.3 - Fixing tables names in migrations
  • v.1.0.2 - Registration confirmation functionality
  • v.1.0.1 - Signup & signin functionality
  • v.1.0.0 - First pre-release