From 0ef7a12691411824f7a7b84b16eaf813b9930744 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 26 Jan 2016 11:12:23 +0100 Subject: [PATCH 1/3] FEATURE: add baseclass for each enumeration --- app/Enumerations/BaseEnumeration.php | 62 +++++++++++++++++++ .../Exceptions/EnumerationExistsException.php | 6 ++ 2 files changed, 68 insertions(+) create mode 100644 app/Enumerations/BaseEnumeration.php create mode 100644 app/Enumerations/Exceptions/EnumerationExistsException.php diff --git a/app/Enumerations/BaseEnumeration.php b/app/Enumerations/BaseEnumeration.php new file mode 100644 index 00000000..3dfd29ca --- /dev/null +++ b/app/Enumerations/BaseEnumeration.php @@ -0,0 +1,62 @@ + Date: Tue, 26 Jan 2016 11:13:02 +0100 Subject: [PATCH 2/3] REFACTORING: use BaseEnumeration Classes UserRoles and UserStates are now using new BaseEnumeration class. --- app/Enumerations/UserRoles.php | 34 ++++++--------------------------- app/Enumerations/UserStates.php | 34 ++++++--------------------------- 2 files changed, 12 insertions(+), 56 deletions(-) diff --git a/app/Enumerations/UserRoles.php b/app/Enumerations/UserRoles.php index e20d237d..5010796c 100644 --- a/app/Enumerations/UserRoles.php +++ b/app/Enumerations/UserRoles.php @@ -3,33 +3,11 @@ namespace App\Enumerations; use App\Models\User; -class UserRoles +class UserRoles extends BaseEnumeration { - /** - * Getter for roles - * - * This method returns only list of roles as inserted into database - * - * @return array - */ - public static function getSimple() - { - return array_values(self::getWithTranslations()); - } - - /** - * Getter for roles with translations - * - * This method returns all user roles as keys. Values are strings used for translations. - * - * @return array - */ - public static function getWithTranslations() - { - return [ - User::ROLE_ADMIN => 'admin/userManagement.role_' . User::ROLE_ADMIN, - User::ROLE_EDITOR => 'admin/userManagement.role_' . User::ROLE_EDITOR, - User::ROLE_VISITOR => 'admin/userManagement.role_' . User::ROLE_VISITOR - ]; - } + public static $items = [ + User::ROLE_ADMIN => 'admin/userManagement.role_' . User::ROLE_ADMIN, + User::ROLE_EDITOR => 'admin/userManagement.role_' . User::ROLE_EDITOR, + User::ROLE_VISITOR => 'admin/userManagement.role_' . User::ROLE_VISITOR + ]; } \ No newline at end of file diff --git a/app/Enumerations/UserStates.php b/app/Enumerations/UserStates.php index 4980084b..04abf705 100644 --- a/app/Enumerations/UserStates.php +++ b/app/Enumerations/UserStates.php @@ -10,33 +10,11 @@ namespace App\Enumerations; use App\Models\User; -class UserStates +class UserStates extends BaseEnumeration { - /** - * Getter for states - * - * This method returns only list of roles as inserted into database - * - * @return array - */ - public static function getSimple() - { - return array_values(self::getWithTranslations()); - } - - /** - * Getter for states with translations - * - * This method returns all user states as keys. Values are strings used for translations. - * - * @return array - */ - public static function getWithTranslations() - { - return [ - User::STATE_DELETED => 'admin/userManagement.status_' . User::STATE_DELETED, - User::STATE_BLOCKED => 'admin/userManagement.status_' . User::STATE_BLOCKED, - User::STATE_ACTIVE => 'admin/userManagement.status_' . User::STATE_ACTIVE - ]; - } + public static $items = [ + User::STATE_DELETED => 'admin/userManagement.status_' . User::STATE_DELETED, + User::STATE_BLOCKED => 'admin/userManagement.status_' . User::STATE_BLOCKED, + User::STATE_ACTIVE => 'admin/userManagement.status_' . User::STATE_ACTIVE + ]; } \ No newline at end of file From dc5821649a0373dbbfb16967808c0ac5bc09f154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Tue, 26 Jan 2016 11:14:09 +0100 Subject: [PATCH 3/3] FEATURE: add enumeration class for custom field types --- app/Enumerations/CustomFieldTypes.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 app/Enumerations/CustomFieldTypes.php diff --git a/app/Enumerations/CustomFieldTypes.php b/app/Enumerations/CustomFieldTypes.php new file mode 100644 index 00000000..c5b978ad --- /dev/null +++ b/app/Enumerations/CustomFieldTypes.php @@ -0,0 +1,19 @@ +id, $type->name); + } + + return parent::getWithTranslations(); + } +} \ No newline at end of file