Finish 27
This commit is contained in:
commit
a3e4f42c6a
@ -15,5 +15,17 @@ return [
|
||||
],
|
||||
],
|
||||
],
|
||||
'formatter' => [
|
||||
'class' => 'yii\i18n\Formatter',
|
||||
'dateFormat' => 'yyyy.MM.dd',
|
||||
'datetimeFormat' => 'yyyy.MM.dd HH:mm',
|
||||
'locale' => 'hu-Hu',
|
||||
'timeZone' => 'UTC',
|
||||
'defaultTimeZone' => 'UTC' ,
|
||||
'nullDisplay' => "-",
|
||||
],
|
||||
'authManager' => [
|
||||
'class' => 'yii\rbac\DbManager'
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
92
console/migrations/m140506_102106_rbac_init.php
Normal file
92
console/migrations/m140506_102106_rbac_init.php
Normal file
@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* @link http://www.yiiframework.com/
|
||||
* @copyright Copyright (c) 2008 Yii Software LLC
|
||||
* @license http://www.yiiframework.com/license/
|
||||
*/
|
||||
|
||||
use yii\base\InvalidConfigException;
|
||||
use yii\db\Schema;
|
||||
use yii\rbac\DbManager;
|
||||
|
||||
/**
|
||||
* Initializes RBAC tables
|
||||
*
|
||||
* @author Alexander Kochetov <creocoder@gmail.com>
|
||||
* @since 2.0
|
||||
*/
|
||||
class m140506_102106_rbac_init extends \yii\db\Migration
|
||||
{
|
||||
/**
|
||||
* @throws yii\base\InvalidConfigException
|
||||
* @return DbManager
|
||||
*/
|
||||
protected function getAuthManager()
|
||||
{
|
||||
$authManager = Yii::$app->getAuthManager();
|
||||
if (!$authManager instanceof DbManager) {
|
||||
throw new InvalidConfigException('You should configure "authManager" component to use database before executing this migration.');
|
||||
}
|
||||
return $authManager;
|
||||
}
|
||||
|
||||
public function up()
|
||||
{
|
||||
$authManager = $this->getAuthManager();
|
||||
$this->db = $authManager->db;
|
||||
|
||||
$tableOptions = null;
|
||||
if ($this->db->driverName === 'mysql') {
|
||||
// http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
|
||||
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
|
||||
}
|
||||
|
||||
$this->createTable($authManager->ruleTable, [
|
||||
'name' => $this->string(64)->notNull(),
|
||||
'data' => $this->text(),
|
||||
'created_at' => $this->integer(),
|
||||
'updated_at' => $this->integer(),
|
||||
'PRIMARY KEY (name)',
|
||||
], $tableOptions);
|
||||
|
||||
$this->createTable($authManager->itemTable, [
|
||||
'name' => $this->string(64)->notNull(),
|
||||
'type' => $this->integer()->notNull(),
|
||||
'description' => $this->text(),
|
||||
'rule_name' => $this->string(64),
|
||||
'data' => $this->text(),
|
||||
'created_at' => $this->integer(),
|
||||
'updated_at' => $this->integer(),
|
||||
'PRIMARY KEY (name)',
|
||||
'FOREIGN KEY (rule_name) REFERENCES ' . $authManager->ruleTable . ' (name) ON DELETE SET NULL ON UPDATE CASCADE',
|
||||
], $tableOptions);
|
||||
$this->createIndex('idx-auth_item-type', $authManager->itemTable, 'type');
|
||||
|
||||
$this->createTable($authManager->itemChildTable, [
|
||||
'parent' => $this->string(64)->notNull(),
|
||||
'child' => $this->string(64)->notNull(),
|
||||
'PRIMARY KEY (parent, child)',
|
||||
'FOREIGN KEY (parent) REFERENCES ' . $authManager->itemTable . ' (name) ON DELETE CASCADE ON UPDATE CASCADE',
|
||||
'FOREIGN KEY (child) REFERENCES ' . $authManager->itemTable . ' (name) ON DELETE CASCADE ON UPDATE CASCADE',
|
||||
], $tableOptions);
|
||||
|
||||
$this->createTable($authManager->assignmentTable, [
|
||||
'item_name' => $this->string(64)->notNull(),
|
||||
'user_id' => $this->string(64)->notNull(),
|
||||
'created_at' => $this->integer(),
|
||||
'PRIMARY KEY (item_name, user_id)',
|
||||
'FOREIGN KEY (item_name) REFERENCES ' . $authManager->itemTable . ' (name) ON DELETE CASCADE ON UPDATE CASCADE',
|
||||
], $tableOptions);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$authManager = $this->getAuthManager();
|
||||
$this->db = $authManager->db;
|
||||
|
||||
$this->dropTable($authManager->assignmentTable);
|
||||
$this->dropTable($authManager->itemChildTable);
|
||||
$this->dropTable($authManager->itemTable);
|
||||
$this->dropTable($authManager->ruleTable);
|
||||
}
|
||||
}
|
||||
44
console/migrations/m150919_181709_add_basic_roles.php
Normal file
44
console/migrations/m150919_181709_add_basic_roles.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
use yii\db\Schema;
|
||||
use yii\db\Migration;
|
||||
|
||||
class m150919_181709_add_basic_roles extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$role = Yii::$app->authManager->createRole('developer');
|
||||
Yii::$app->authManager->add($role);
|
||||
|
||||
$role = Yii::$app->authManager->createRole('admin');
|
||||
Yii::$app->authManager->add($role);
|
||||
|
||||
|
||||
$role = Yii::$app->authManager->createRole('group_admin');
|
||||
Yii::$app->authManager->add($role);
|
||||
|
||||
$role = Yii::$app->authManager->createRole('shop_admin');
|
||||
Yii::$app->authManager->add($role);
|
||||
|
||||
$role = Yii::$app->authManager->createRole('receptionist');
|
||||
Yii::$app->authManager->add($role);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
echo "m150919_181709_add_basic_roles cannot be reverted.\n";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
// Use safeUp/safeDown to run migration code within a transaction
|
||||
public function safeUp()
|
||||
{
|
||||
}
|
||||
|
||||
public function safeDown()
|
||||
{
|
||||
}
|
||||
*/
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use yii\db\Schema;
|
||||
use yii\db\Migration;
|
||||
use common\models\User;
|
||||
|
||||
class m150919_192054_add__admin__role__to__admin__user extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$am = Yii::$app->authManager;
|
||||
$user = User::find()->where('username = :name',[':name' => 'admin'])->one();
|
||||
$role = $am->getRole('admin');
|
||||
Yii::$app->authManager->assign($role, $user->id);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
echo "m150919_192054_add__admin__role__to__admin__user cannot be reverted.\n";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
// Use safeUp/safeDown to run migration code within a transaction
|
||||
public function safeUp()
|
||||
{
|
||||
}
|
||||
|
||||
public function safeDown()
|
||||
{
|
||||
}
|
||||
*/
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user