Skip to content

Commit

Permalink
Refactor Account model
Browse files Browse the repository at this point in the history
  • Loading branch information
dmeroff committed Mar 27, 2016
1 parent cf872cd commit 3115734
Showing 1 changed file with 15 additions and 16 deletions.
31 changes: 15 additions & 16 deletions models/Account.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@
use dektrium\user\clients\ClientInterface;
use dektrium\user\Finder;
use dektrium\user\models\query\AccountQuery;
use dektrium\user\Module;
use dektrium\user\traits\ModuleTrait;
use Yii;
use yii\authclient\ClientInterface as BaseClientInterface;
use yii\db\ActiveRecord;
use yii\helpers\Json;
use yii\helpers\Url;

/**
Expand Down Expand Up @@ -75,7 +74,7 @@ public function getIsConnected()
public function getDecodedData()
{
if ($this->_data == null) {
$this->_data = json_decode($this->data);
$this->_data = Json::decode($this->data);
}

return $this->_data;
Expand All @@ -87,7 +86,7 @@ public function getDecodedData()
*/
public function getConnectUrl()
{
$code = Yii::$app->security->generateRandomString();
$code = \Yii::$app->security->generateRandomString();
$this->updateAttributes(['code' => md5($code)]);

return Url::to(['/user/registration/connect', 'code' => $code]);
Expand All @@ -108,17 +107,17 @@ public function connect(User $user)
*/
public static function find()
{
return Yii::createObject(AccountQuery::className(), [get_called_class()]);
return \Yii::createObject(AccountQuery::className(), [get_called_class()]);
}

public static function create(BaseClientInterface $client)
{
/** @var Account $account */
$account = Yii::createObject([
$account = \Yii::createObject([
'class' => static::className(),
'provider' => $client->getId(),
'client_id' => $client->getUserAttributes()['id'],
'data' => json_encode($client->getUserAttributes()),
'data' => Json::encode($client->getUserAttributes()),
]);

if ($client instanceof ClientInterface) {
Expand All @@ -144,19 +143,19 @@ public static function create(BaseClientInterface $client)
*/
public static function connectWithUser(BaseClientInterface $client)
{
if (Yii::$app->user->isGuest) {
Yii::$app->session->setFlash('danger', Yii::t('user', 'Something went wrong'));
if (\Yii::$app->user->isGuest) {
\Yii::$app->session->setFlash('danger', \Yii::t('user', 'Something went wrong'));

return;
}

$account = static::fetchAccount($client);

if ($account->user === null) {
$account->link('user', Yii::$app->user->identity);
Yii::$app->session->setFlash('success', Yii::t('user', 'Your account has been connected'));
$account->link('user', \Yii::$app->user->identity);
\Yii::$app->session->setFlash('success', \Yii::t('user', 'Your account has been connected'));
} else {
Yii::$app->session->setFlash('danger', Yii::t('user', 'This account has already been connected to another user'));
\Yii::$app->session->setFlash('danger', \Yii::t('user', 'This account has already been connected to another user'));
}
}

Expand All @@ -173,11 +172,11 @@ protected static function fetchAccount(BaseClientInterface $client)
$account = static::getFinder()->findAccount()->byClient($client)->one();

if (null === $account) {
$account = Yii::createObject([
$account = \Yii::createObject([
'class' => static::className(),
'provider' => $client->getId(),
'client_id' => $client->getUserAttributes()['id'],
'data' => json_encode($client->getUserAttributes()),
'data' => Json::encode($client->getUserAttributes()),
]);
$account->save(false);
}
Expand All @@ -200,7 +199,7 @@ protected static function fetchUser(Account $account)
return $user;
}

$user = Yii::createObject([
$user = \Yii::createObject([
'class' => User::className(),
'scenario' => 'connect',
'username' => $account->username,
Expand All @@ -224,7 +223,7 @@ protected static function fetchUser(Account $account)
protected static function getFinder()
{
if (static::$finder === null) {
static::$finder = Yii::$container->get(Finder::className());
static::$finder = \Yii::$container->get(Finder::className());
}

return static::$finder;
Expand Down

0 comments on commit 3115734

Please sign in to comment.