diff --git a/app/Classes/Repositories/ArticleRepository.php b/app/Classes/Repositories/ArticleRepository.php index 66efb241..8f31c8ed 100644 --- a/app/Classes/Repositories/ArticleRepository.php +++ b/app/Classes/Repositories/ArticleRepository.php @@ -40,7 +40,7 @@ public function __construct(Article $model) */ public function all() { - return $this->model->withoutGlobalScope('public')->all(); + return $this->model->all(); } public function whereSitemappable() diff --git a/app/Classes/Repositories/BaseRepository.php b/app/Classes/Repositories/BaseRepository.php index 6e5e6602..eb498040 100644 --- a/app/Classes/Repositories/BaseRepository.php +++ b/app/Classes/Repositories/BaseRepository.php @@ -37,7 +37,7 @@ public function all() */ public function allDescendingOrder() { - return $this->model->withoutGlobalScopes()->orderBy('created_at', 'desc')->get(); + return $this->model->whereNull('deleted_at')->orderBy('created_at', 'desc')->get(); } /** diff --git a/app/Classes/Roles/Administrator.php b/app/Classes/Roles/Administrator.php index f62a1c89..1d09c327 100644 --- a/app/Classes/Roles/Administrator.php +++ b/app/Classes/Roles/Administrator.php @@ -26,7 +26,7 @@ class Administrator implements RoleInterface */ public function apply(Account $account) { - return $account->update(['role_id' => self::$key]); + return $account->setAttribute('role_id', self::$key); } /** diff --git a/app/Classes/Roles/Developer.php b/app/Classes/Roles/Developer.php index d2e94721..f95a051b 100644 --- a/app/Classes/Roles/Developer.php +++ b/app/Classes/Roles/Developer.php @@ -26,7 +26,7 @@ class Developer implements RoleInterface */ public function apply(Account $account) { - return $account->update(['role_id' => self::$key]); + return $account->setAttribute('role_id', self::$key); } /** diff --git a/app/Classes/Roles/Disabled.php b/app/Classes/Roles/Disabled.php index 867dee3b..f338bac4 100644 --- a/app/Classes/Roles/Disabled.php +++ b/app/Classes/Roles/Disabled.php @@ -26,7 +26,7 @@ class Disabled implements RoleInterface */ public function apply(Account $account) { - return $account->update(['role_id' => self::$key]); + return $account->setAttribute('role_id', self::$key); } /** diff --git a/app/Classes/Roles/Publisher.php b/app/Classes/Roles/Publisher.php index debabea0..077acfea 100644 --- a/app/Classes/Roles/Publisher.php +++ b/app/Classes/Roles/Publisher.php @@ -26,7 +26,7 @@ class Publisher implements RoleInterface */ public function apply(Account $account) { - return $account->update(['role_id' => self::$key]); + return $account->setAttribute('role_id', self::$key); } /** diff --git a/app/Model/Account.php b/app/Model/Account.php index dcb0e6ef..fd28da8e 100644 --- a/app/Model/Account.php +++ b/app/Model/Account.php @@ -264,6 +264,8 @@ public function setRole($role) } if ($role instanceof RoleInterface) { + $role->apply($this); + return $role->apply($this); } diff --git a/app/Modules/Accounts/Blade/index.blade.php b/app/Modules/Accounts/Blade/index.blade.php index 8bfad25f..73aa518f 100644 --- a/app/Modules/Accounts/Blade/index.blade.php +++ b/app/Modules/Accounts/Blade/index.blade.php @@ -55,7 +55,7 @@
- Last Logged IP: {{ optional(AccessLog::latestAttemptFrom($account))->ip_address ?? 'Never' }} + Last Logged IP: {{ optional(\App\Model\AccessLog::latestAttemptFrom($account))->ip_address ?? 'Never' }}
Last Login: {{ optional($account->last_login)->diffForHumans() ?? 'Never' }} diff --git a/app/Modules/Accounts/Controller.php b/app/Modules/Accounts/Controller.php index 7623e583..33fc3fd4 100644 --- a/app/Modules/Accounts/Controller.php +++ b/app/Modules/Accounts/Controller.php @@ -159,11 +159,12 @@ public function storeDataFrom(Request $request, Account $account) $account->password = $request->input('password'); } - $account->save(); - // assign the role from the request. $account->setRole($request->input('role')); + // save the new account. + $account->save(); + // return the data that was created. return $account; } diff --git a/config/modules.php b/config/modules.php index 965791b4..72b17e55 100644 --- a/config/modules.php +++ b/config/modules.php @@ -8,7 +8,7 @@ 'icon' => 'fas fa-box', 'version' => '1.0', 'url' => 'admin/products', - 'role' => 'publisher', + 'role' => 'developer', ], 'navigation' => [ diff --git a/tests/Account/AccountRoleTest.php b/tests/Account/AccountRoleTest.php index ae11926c..4715424c 100644 --- a/tests/Account/AccountRoleTest.php +++ b/tests/Account/AccountRoleTest.php @@ -13,10 +13,10 @@ class AccountRoleTest extends TestCase */ public function a_developer_obtains_role_of_administrator() { - $developer = factory('App\Model\Account')->make(); + $account = factory('App\Model\Account')->make(); - $developer->setRole(new Developer); + $account->setRole(new Developer); - $this->assertTrue($developer->hasRole(new Administrator)); + $this->assertTrue($account->hasRole(new Administrator)); } }