Skip to content

Commit

Permalink
Change user name to first and last names
Browse files Browse the repository at this point in the history
  • Loading branch information
skeeks-semenov committed Oct 14, 2017
1 parent 34acafd commit 4474b85
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 2 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
CHANGELOG
==============

4.0.1.pre
---------------
* Change user name to first and last names

4.0.0.1
---------------
* Tree property update
Expand Down
16 changes: 16 additions & 0 deletions docs-update/4.0-to-4.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
From 4.0.0 to 4.0.1
================

### 1) normalize-user-names

```
php yii cms/update/user-name-to-first-name
```


___

> [![skeeks!](https://gravatar.com/userimage/74431132/13d04d83218593564422770b616e5622.jpg)](https://skeeks.com)
<i>SkeekS CMS (Yii2) — quickly, easily and effectively!</i>
[skeeks.com](https://skeeks.com) | [cms.skeeks.com](https://cms.skeeks.com)

86 changes: 86 additions & 0 deletions src/console/controllers/UpdateController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 18.06.2015
*/
namespace skeeks\cms\console\controllers;

use skeeks\cms\components\Cms;
use skeeks\cms\models\CmsAgent;
use skeeks\cms\models\CmsContent;
use skeeks\cms\models\CmsContentElement;
use skeeks\cms\models\CmsContentProperty;
use skeeks\cms\models\CmsContentProperty2content;
use skeeks\cms\models\CmsSearchPhrase;
use skeeks\cms\models\CmsTree;
use skeeks\cms\models\CmsUser;
use skeeks\cms\models\StorageFile;
use skeeks\sx\Dir;
use Yii;
use yii\base\Event;
use yii\console\Controller;
use yii\console\controllers\HelpController;
use yii\helpers\ArrayHelper;
use yii\helpers\Console;
use yii\helpers\FileHelper;

/**
* Class UpdateController
* @package skeeks\cms\console\controllers
*/
class UpdateController extends Controller
{
/**
* Update user name to first and last name
*/
public function actionUserNameToFirstName()
{
if (!CmsUser::find()->count())
{
$this->stdout("Content not found!\n", Console::BOLD);
return;
}

$this->stdout("1. Cms user name normalize!\n", Console::FG_YELLOW);

/**
* @var CmsUser $cmsUser
*/
foreach (CmsUser::find()->orderBy(['id' => SORT_ASC])->each(10) as $cmsUser)
{
$this->stdout("\t User: {$cmsUser->id}\n", Console::FG_YELLOW);

if (!$cmsUser->_to_del_name)
{
$this->stdout("\t NOT found property: _to_del_name\n", Console::FG_YELLOW);
continue;
}

$name = $cmsUser->_to_del_name;
$nameData = explode(" ", $name);

if (isset($nameData[0])) {
$cmsUser->first_name = trim($nameData[0]);
}

if (isset($nameData[1])) {
$cmsUser->last_name = trim($nameData[1]);
}

if (isset($nameData[2])) {
$cmsUser->patronymic = trim($nameData[2]);
}


if ( $cmsUser->save() )
{
$this->stdout("\t Updated name: {$cmsUser->name}\n", Console::FG_GREEN);
} else
{
$this->stdout("\t NOT updated name: {$cmsUser->id}\n", Console::FG_RED);
}
}
}
}
35 changes: 35 additions & 0 deletions src/migrations/m171014_174515__alter_table__cms_user.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 28.08.2015
*/
use yii\db\Schema;
use yii\db\Migration;

class m171014_174515__alter_table__cms_user extends Migration
{

public function safeUp()
{
$this->addColumn("{{%cms_user}}", "first_name", $this->string(255));
$this->createIndex("first_name", "{{%cms_user}}", "first_name");

$this->addColumn("{{%cms_user}}", "last_name", $this->string(255));
$this->createIndex("last_name", "{{%cms_user}}", "last_name");

$this->addColumn("{{%cms_user}}", "patronymic", $this->string(255));
$this->createIndex("patronymic", "{{%cms_user}}", "patronymic");

$this->createIndex("full_name_index", "{{%cms_user}}", ["first_name", "last_name", "patronymic"]);

$this->renameColumn("{{%cms_user}}", "name", "_to_del_name");
}

public function safeDown()
{
echo "m171014_174515__alter_table__cms_user cannot be reverted.\n";
return false;
}
}
16 changes: 14 additions & 2 deletions src/models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@
* @property string $password_reset_token
* @property integer $created_at
* @property integer $updated_at
* @property string $name
* @property integer $image_id
* @property integer $first_name
* @property integer $last_name
* @property integer $patronymic
*
* @property string $gender
* @property string $active
Expand All @@ -60,6 +62,9 @@
* @property integer $email_is_approved
* @property integer $phone_is_approved
*
* ***
*
* @property string $name
* @property string $lastActivityAgo
* @property string $lastAdminActivityAgo
*
Expand Down Expand Up @@ -211,7 +216,7 @@ public function rules()
],

[['gender'], 'string'],
[['username', 'password_hash', 'password_reset_token', 'email', 'name'], 'string', 'max' => 255],
[['username', 'password_hash', 'password_reset_token', 'email', 'first_name', 'last_name', 'patronymic'], 'string', 'max' => 255],
[['auth_key'], 'string', 'max' => 32],

[['phone'], 'string', 'max' => 64],
Expand Down Expand Up @@ -427,6 +432,13 @@ public function getProfileUrl($action = 'view', $params = [])
return \Yii::$app->urlManager->createUrl($params);
}

/**
* @return string
*/
public function getName()
{
return $this->first_name . " " . $this->last_name . " " . $this->patronymic;
}



Expand Down

0 comments on commit 4474b85

Please sign in to comment.