Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/.idea
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ return [
// 'frontend/config/main.php' and/or 'backend/config/main.php' (OR you can add it
// to 'common/config' if you remove it from frontend/backend)
'user' => [
'class' => 'amnah\yii2\user\components\User',
'class' => 'faro\core\user\components\User',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
Expand All @@ -60,7 +60,7 @@ return [
],
'modules' => [
'user' => [
'class' => 'amnah\yii2\user\Module',
'class' => 'faro\core\user\Module',
// set custom module properties here ...
],
],
Expand Down Expand Up @@ -211,7 +211,7 @@ To do so, you can use the helper command ```CopyController```.
// app/config/console.php
'modules' => [
'user' => [
'class' => 'amnah\yii2\user\Module',
'class' => 'faro\core\user\Module',
],
],
```
Expand All @@ -235,7 +235,7 @@ php yii user/copy --from=@vendor/amnah/yii2-user --to=@app/modules/user --namesp
```

**Alternatively,** you can do this manually. Just copy/paste the files wherever you'd like and
change the namespaces in the files. Replace ```amnah\yii2\user``` with ```app\modules\user```.
change the namespaces in the files. Replace ```faro\core\user``` with ```app\modules\user```.

## Todo
* Tests
Expand Down
6 changes: 3 additions & 3 deletions SOCIAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ auth clients**
'clientSecret' => 'yyyyyyyyyy',
],
'reddit' => [
'class' => 'amnah\yii2\user\components\RedditAuth',
'class' => 'faro\core\user\components\RedditAuth',
'clientId' => 'xxxxxxxxxx',
'clientSecret' => 'yyyyyyyyyy',
'scope' => 'identity', // comma separated string, NO SPACES
Expand Down Expand Up @@ -113,8 +113,8 @@ Let's take a look at the basic implementation for facebook:
*/
protected function setInfoFacebook($attributes)
{
/** @var \amnah\yii2\user\models\User $user */
/** @var \amnah\yii2\user\models\Profile $profile */
/** @var \faro\core\user\models\User $user */
/** @var \faro\core\user\models\Profile $profile */
$user = Yii::$app->getModule("user")->model("User");
$profile = Yii::$app->getModule("user")->model("Profile");

Expand Down
34 changes: 30 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "amnah/yii2-user",
"name": "faro/yii2-user",
"description": "Yii 2 user authentication module",
"keywords": ["yii", "yii2", "user", "auth", "authentication"],
"type": "yii2-extension",
Expand All @@ -12,9 +12,35 @@
],
"require": {
"yiisoft/yii2": "*",
"yiisoft/yii2-authclient": "*"
"yiisoft/yii2-authclient": "*",
"faro/core": "2022.1.*"
},
"autoload": {
"psr-4": { "amnah\\yii2\\user\\": "" }
}
"psr-4": { "faro\\core\\user\\": "src" }
},
"extra": {
"branch-alias": {}
},
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
},
{
"type": "vcs",
"url": "[email protected]:FARO-DataLab/faro-core.git"
},
{
"type": "vcs",
"url": "[email protected]:FARO-DataLab/faro-media.git"
},
{
"type": "vcs",
"url": "[email protected]:FARO-DataLab/faro-googleanalytics.git"
},
{
"type": "vcs",
"url": "[email protected]:FARO-DataLab/yii2-user.git"
}
]
}
37 changes: 19 additions & 18 deletions Module.php → src/Module.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<?php

namespace amnah\yii2\user;
namespace faro\core\user;

use faro\core\FaroBaseModule;
use Yii;
use yii\base\InvalidConfigException;
use yii\db\ActiveRecord;
Expand All @@ -11,17 +12,17 @@
*
* @author amnah <[email protected]>
*/
class Module extends \yii\base\Module
class Module extends FaroBaseModule
{
/**
* @var string Module version
*/
protected $version = "5.0.8";
protected $version = "2022.1-dev";

/**
* @var string Alias for module
*/
public $alias = "@user";
public $alias = "@faro/core/user";

/**
* @var bool If true, users are required to enter an email
Expand Down Expand Up @@ -100,11 +101,11 @@ class Module extends \yii\base\Module
public $forceTranslation = false;

/**
* @var array Model classes, e.g., ["User" => "amnah\yii2\user\models\User"]
* @var array Model classes, e.g., ["User" => "faro\core\user\models\User"]
* Usage:
* $user = Yii::$app->getModule("user")->model("User", $config);
* (equivalent to)
* $user = new \amnah\yii2\user\models\User($config);
* $user = new \faro\core\user\models\User($config);
*
* The model classes here will be merged with/override the [[getDefaultModelClasses()|default ones]]
*/
Expand Down Expand Up @@ -182,8 +183,8 @@ protected function checkModuleProperties()
// "common/config" instead of "frontend/config" and/or "backend/config"
// -> this results in users failing to login without any feedback/error message
$userComponent = Yii::$app->get('user', false);
if ($userComponent && !$userComponent instanceof \amnah\yii2\user\components\User) {
throw new InvalidConfigException('Yii::$app->user is not set properly. It needs to extend \amnah\yii2\user\components\User');
if ($userComponent && !$userComponent instanceof \faro\core\user\components\User) {
throw new InvalidConfigException('Yii::$app->user is not set properly. It needs to extend \faro\core\user\components\User');
}
}

Expand All @@ -199,20 +200,20 @@ protected function getDefaultModelClasses()
} elseif (class_exists('app\models\User')) {
$userClass = 'app\models\User';
} else {
$userClass = 'amnah\yii2\user\models\User';
$userClass = 'faro\core\user\models\User';
}

return [
'User' => $userClass,
'Profile' => 'amnah\yii2\user\models\Profile',
'Role' => 'amnah\yii2\user\models\Role',
'UserToken' => 'amnah\yii2\user\models\UserToken',
'UserAuth' => 'amnah\yii2\user\models\UserAuth',
'ForgotForm' => 'amnah\yii2\user\models\forms\ForgotForm',
'LoginForm' => 'amnah\yii2\user\models\forms\LoginForm',
'ResendForm' => 'amnah\yii2\user\models\forms\ResendForm',
'UserSearch' => 'amnah\yii2\user\models\search\UserSearch',
'LoginEmailForm' => 'amnah\yii2\user\models\forms\LoginEmailForm',
'Profile' => 'faro\core\user\models\Profile',
'Role' => 'faro\core\user\models\Role',
'UserToken' => 'faro\core\user\models\UserToken',
'UserAuth' => 'faro\core\user\models\UserAuth',
'ForgotForm' => 'faro\core\user\models\forms\ForgotForm',
'LoginForm' => 'faro\core\user\models\forms\LoginForm',
'ResendForm' => 'faro\core\user\models\forms\ResendForm',
'UserSearch' => 'faro\core\user\models\search\UserSearch',
'LoginEmailForm' => 'faro\core\user\models\forms\LoginEmailForm',
];
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace amnah\yii2\user\components;
namespace faro\core\user\components;

use Yii;
use yii\authclient\OAuth2;
Expand Down
12 changes: 6 additions & 6 deletions components/User.php → src/components/User.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace amnah\yii2\user\components;
namespace faro\core\user\components;

use Yii;

Expand All @@ -12,7 +12,7 @@ class User extends \yii\web\User
/**
* @inheritdoc
*/
public $identityClass = 'amnah\yii2\user\models\User';
public $identityClass = 'faro\core\user\models\User';

/**
* @inheritdoc
Expand All @@ -29,7 +29,7 @@ class User extends \yii\web\User
*/
public function getIsGuest()
{
/** @var \amnah\yii2\user\models\User $user */
/** @var \faro\core\user\models\User $user */

// check if user is banned. if so, log user out and redirect home
// https://github.com/amnah/yii2-user/issues/99
Expand All @@ -56,7 +56,7 @@ public function getIsLoggedIn()
*/
public function afterLogin($identity, $cookieBased, $duration)
{
/** @var \amnah\yii2\user\models\User $identity */
/** @var \faro\core\user\models\User $identity */
$identity->updateLoginMeta();
parent::afterLogin($identity, $cookieBased, $duration);
}
Expand All @@ -67,7 +67,7 @@ public function afterLogin($identity, $cookieBased, $duration)
*/
public function getDisplayName()
{
/** @var \amnah\yii2\user\models\User $user */
/** @var \faro\core\user\models\User $user */
$user = $this->getIdentity();
return $user ? $user->getDisplayName() : "";
}
Expand All @@ -90,7 +90,7 @@ public function can($permissionName, $params = [], $allowCaching = true)
}

// otherwise use our own custom permission (via the role table)
/** @var \amnah\yii2\user\models\User $user */
/** @var \faro\core\user\models\User $user */
$user = $this->getIdentity();
return $user ? $user->can($permissionName) : false;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
<?php

namespace amnah\yii2\user\controllers;
namespace faro\core\user\controllers;

use Yii;
use amnah\yii2\user\models\User;
use faro\core\user\models\User;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\web\ForbiddenHttpException;
use yii\web\NotFoundHttpException;
Expand All @@ -17,7 +18,7 @@
class AdminController extends Controller
{
/**
* @var \amnah\yii2\user\Module
* @var \faro\core\user\Module
* @inheritdoc
*/
public $module;
Expand All @@ -27,12 +28,8 @@ class AdminController extends Controller
*/
public function init()
{
// check for admin permission (`tbl_role.can_admin`)
// note: check for Yii::$app->user first because it doesn't exist in console commands (throws exception)
if (!empty(Yii::$app->user) && !Yii::$app->user->can("admin")) {
throw new ForbiddenHttpException('You are not allowed to perform this action.');
}

$this->view->params["navbar_menu_selected"] = "administracion";
$this->view->params["ocultar_selector_fechas"] = true;
parent::init();
}

Expand All @@ -42,8 +39,18 @@ public function init()
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::class,
'rules' => [
[
'actions' => ['index', 'view', 'create', 'update', 'delete'],
'allow' => true,
'roles' => ['admin']
]
],
],
'verbs' => [
'class' => VerbFilter::className(),
'class' => VerbFilter::class,
'actions' => [
'delete' => ['post'],
],
Expand All @@ -57,7 +64,7 @@ public function behaviors()
*/
public function actionIndex()
{
/** @var \amnah\yii2\user\models\search\UserSearch $searchModel */
/** @var \faro\core\user\models\search\UserSearch $searchModel */
$searchModel = $this->module->model("UserSearch");
$dataProvider = $searchModel->search(Yii::$app->request->getQueryParams());

Expand All @@ -83,8 +90,8 @@ public function actionView($id)
*/
public function actionCreate()
{
/** @var \amnah\yii2\user\models\User $user */
/** @var \amnah\yii2\user\models\Profile $profile */
/** @var \faro\core\user\models\User $user */
/** @var \faro\core\user\models\Profile $profile */

$user = $this->module->model("User");
$user->setScenario("admin");
Expand Down Expand Up @@ -174,7 +181,7 @@ public function actionDelete($id)
*/
protected function findModel($id)
{
/** @var \amnah\yii2\user\models\User $user */
/** @var \faro\core\user\models\User $user */
$user = $this->module->model("User");
$user = $user::findOne($id);
if ($user) {
Expand Down
Loading