From 1372c9b1cc365369f53731eefdbdcbc795f18de1 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 30 Jan 2020 11:11:55 +0200 Subject: [PATCH] Renamed flex types for simplicity --- system/blueprints/flex/accounts.yaml | 126 +---------------- system/blueprints/flex/pages.yaml | 4 +- system/blueprints/flex/user-accounts.yaml | 128 ++++++++++++++++++ system/blueprints/flex/user-groups.yaml | 6 +- .../src/Grav/Common/Flex/Users/UserObject.php | 2 +- system/src/Grav/Common/Page/Pages.php | 2 +- .../Service/AccountsServiceProvider.php | 4 +- .../Common/Service/FlexServiceProvider.php | 8 +- 8 files changed, 144 insertions(+), 136 deletions(-) create mode 100644 system/blueprints/flex/user-accounts.yaml diff --git a/system/blueprints/flex/accounts.yaml b/system/blueprints/flex/accounts.yaml index db763f48c..14fd36b07 100644 --- a/system/blueprints/flex/accounts.yaml +++ b/system/blueprints/flex/accounts.yaml @@ -2,127 +2,7 @@ title: Flex User Accounts description: Manage your User Accounts in Flex. type: flex-objects -# Extends user account +# Deprecated in Grav 1.7.0-rc.4: file was renamed. extends@: - type: account - context: blueprints://user - -# Flex configuration -config: - # Administration Configuration (needs Flex Objects plugin) - admin: - # Admin router - router: - path: '/accounts/users' - actions: - configure: - path: '/accounts/configure' - redirects: - '/user': '/accounts/users' - '/accounts': '/accounts/users' - - # Permissions - permissions: - # Primary permissions - admin.users: - type: crudpl - label: User Accounts - admin.configuration.users: - type: default - label: Accounts Configuration - - # Admin menu - menu: - base: - location: '/accounts' - route: '/accounts/users' - index: 0 - title: PLUGIN_ADMIN.ACCOUNTS - icon: fa-users - authorize: ['admin.users.list', 'admin.super'] - priority: 6 - - # Admin template type (folder) - template: grav-accounts - - # List view - list: - # Fields shown in the list view - fields: - username: - link: edit - search: true - email: - search: true - fullname: - search: true - # Extra options - options: - per_page: 20 - order: - by: username - dir: asc - - # Edit view - edit: - title: - template: '{{ object.fullname ?? object.username }} <{{ object.email }}>' - - # Configure view - configure: - hidden: true - authorize: 'admin.configuration.users' - form: 'accounts' - title: - template: "{{ 'PLUGIN_ADMIN.ACCOUNTS'|tu }} {{ 'PLUGIN_ADMIN.CONFIGURATION'|tu }}" - - # Site Configuration - site: - # Hide from flex types - hidden: true - templates: - collection: - # Lookup for the template layout files for collections of objects - paths: - - 'flex/{TYPE}/collection/{LAYOUT}{EXT}' - object: - # Lookup for the template layout files for objects - paths: - - 'flex/{TYPE}/object/{LAYOUT}{EXT}' - defaults: - # Default template {TYPE}; overridden by filename of this blueprint if template folder exists - type: grav-accounts - # Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates) - layout: default - - # Data Configuration - data: - object: 'Grav\Common\Flex\Users\UserObject' - collection: 'Grav\Common\Flex\Users\UserCollection' - index: 'Grav\Common\Flex\Users\UserIndex' - storage: - class: 'Grav\Common\Flex\Users\Storage\UserFileStorage' - options: - formatter: - class: 'Grav\Framework\File\Formatter\YamlFormatter' - folder: 'account://' - pattern: '{FOLDER}/{KEY}{EXT}' - key: username - indexed: true - search: - options: - contains: 1 - fields: - - key - - email - -# Regular form definition -form: - fields: - username: - flex-disabled@: exists - disabled: false - flex-readonly@: exists - readonly: false - validate: - required: true + type: user-accounts + context: blueprints://flex diff --git a/system/blueprints/flex/pages.yaml b/system/blueprints/flex/pages.yaml index e65caf050..e624dede4 100644 --- a/system/blueprints/flex/pages.yaml +++ b/system/blueprints/flex/pages.yaml @@ -1,4 +1,4 @@ -title: Flex Pages +title: Pages description: Manage your Grav Pages in Flex. type: flex-objects @@ -35,7 +35,7 @@ config: priority: 5 # Admin template type (folder) - template: grav-pages + template: pages # Allowed admin actions actions: diff --git a/system/blueprints/flex/user-accounts.yaml b/system/blueprints/flex/user-accounts.yaml new file mode 100644 index 000000000..00bc19d55 --- /dev/null +++ b/system/blueprints/flex/user-accounts.yaml @@ -0,0 +1,128 @@ +title: User Accounts +description: Manage your User Accounts in Flex. +type: flex-objects + +# Extends user account +extends@: + type: account + context: blueprints://user + +# Flex configuration +config: + # Administration Configuration (needs Flex Objects plugin) + admin: + # Admin router + router: + path: '/accounts/users' + actions: + configure: + path: '/accounts/configure' + redirects: + '/user': '/accounts/users' + '/accounts': '/accounts/users' + + # Permissions + permissions: + # Primary permissions + admin.users: + type: crudpl + label: User Accounts + admin.configuration.users: + type: default + label: Accounts Configuration + + # Admin menu + menu: + base: + location: '/accounts' + route: '/accounts/users' + index: 0 + title: PLUGIN_ADMIN.ACCOUNTS + icon: fa-users + authorize: ['admin.users.list', 'admin.super'] + priority: 6 + + # Admin template type (folder) + template: user-accounts + + # List view + list: + # Fields shown in the list view + fields: + username: + link: edit + search: true + email: + search: true + fullname: + search: true + # Extra options + options: + per_page: 20 + order: + by: username + dir: asc + + # Edit view + edit: + title: + template: '{{ object.fullname ?? object.username }} <{{ object.email }}>' + + # Configure view + configure: + hidden: true + authorize: 'admin.configuration.users' + form: 'accounts' + title: + template: "{{ 'PLUGIN_ADMIN.ACCOUNTS'|tu }} {{ 'PLUGIN_ADMIN.CONFIGURATION'|tu }}" + + # Site Configuration + site: + # Hide from flex types + hidden: true + templates: + collection: + # Lookup for the template layout files for collections of objects + paths: + - 'flex/{TYPE}/collection/{LAYOUT}{EXT}' + object: + # Lookup for the template layout files for objects + paths: + - 'flex/{TYPE}/object/{LAYOUT}{EXT}' + defaults: + # Default template {TYPE}; overridden by filename of this blueprint if template folder exists + type: user-accounts + # Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates) + layout: default + + # Data Configuration + data: + object: 'Grav\Common\Flex\Users\UserObject' + collection: 'Grav\Common\Flex\Users\UserCollection' + index: 'Grav\Common\Flex\Users\UserIndex' + storage: + class: 'Grav\Common\Flex\Users\Storage\UserFileStorage' + options: + formatter: + class: 'Grav\Framework\File\Formatter\YamlFormatter' + folder: 'account://' + pattern: '{FOLDER}/{KEY}{EXT}' + key: username + indexed: true + search: + options: + contains: 1 + fields: + - key + - email + +# Regular form definition +form: + fields: + username: + flex-disabled@: exists + disabled: false + flex-readonly@: exists + readonly: false + validate: + required: true diff --git a/system/blueprints/flex/user-groups.yaml b/system/blueprints/flex/user-groups.yaml index 6b71617b4..164033d99 100644 --- a/system/blueprints/flex/user-groups.yaml +++ b/system/blueprints/flex/user-groups.yaml @@ -1,4 +1,4 @@ -title: Flex User Groups +title: User Groups description: Manage your User Groups in Flex. type: flex-objects @@ -42,7 +42,7 @@ config: priority: 6 # Admin template type (folder) - template: grav-user-groups + template: user-groups # List view list: @@ -90,7 +90,7 @@ config: - 'flex/{TYPE}/object/{LAYOUT}{EXT}' defaults: # Default template {TYPE}; overridden by filename of this blueprint if template folder exists - type: grav-user-groups + type: user-groups # Default template {LAYOUT}; can be overridden in render calls (usually Twig in templates) layout: default diff --git a/system/src/Grav/Common/Flex/Users/UserObject.php b/system/src/Grav/Common/Flex/Users/UserObject.php index d9afb99ab..b63f19f17 100644 --- a/system/src/Grav/Common/Flex/Users/UserObject.php +++ b/system/src/Grav/Common/Flex/Users/UserObject.php @@ -897,7 +897,7 @@ class UserObject extends FlexObject implements UserInterface, MediaManipulationI $flex = $grav['flex']; /** @var UserGroupCollection|null $groups */ - $groups = $flex->getDirectory('grav-user-groups'); + $groups = $flex->getDirectory('user-groups'); if ($groups) { /** @var UserGroupIndex $index */ $index = $groups->getIndex(); diff --git a/system/src/Grav/Common/Page/Pages.php b/system/src/Grav/Common/Page/Pages.php index 9360b3b75..be30150e5 100644 --- a/system/src/Grav/Common/Page/Pages.php +++ b/system/src/Grav/Common/Page/Pages.php @@ -1291,7 +1291,7 @@ class Pages /** @var Flex $flex */ $flex = $this->grav['flex']; - $directory = $flex->getDirectory('grav-pages'); + $directory = $flex->getDirectory('pages'); /** @var EventDispatcher $dispatcher */ $dispatcher = $this->grav['events']; diff --git a/system/src/Grav/Common/Service/AccountsServiceProvider.php b/system/src/Grav/Common/Service/AccountsServiceProvider.php index 41e8c7b7b..4e06d3475 100644 --- a/system/src/Grav/Common/Service/AccountsServiceProvider.php +++ b/system/src/Grav/Common/Service/AccountsServiceProvider.php @@ -57,7 +57,7 @@ class AccountsServiceProvider implements ServiceProviderInterface $container['user_groups'] = static function (Container $container) { /** @var Flex $flex */ $flex = $container['flex']; - $directory = $flex->getDirectory('grav-user-groups'); + $directory = $flex->getDirectory('user-groups'); return $directory ? $directory->getIndex() : null; }; @@ -130,7 +130,7 @@ class AccountsServiceProvider implements ServiceProviderInterface { /** @var Flex $flex */ $flex = $container['flex']; - $directory = $flex->getDirectory('grav-accounts'); + $directory = $flex->getDirectory('user-accounts'); return $directory ? $directory->getIndex() : null; } diff --git a/system/src/Grav/Common/Service/FlexServiceProvider.php b/system/src/Grav/Common/Service/FlexServiceProvider.php index 9ef6440de..ca9c43d31 100644 --- a/system/src/Grav/Common/Service/FlexServiceProvider.php +++ b/system/src/Grav/Common/Service/FlexServiceProvider.php @@ -35,7 +35,7 @@ class FlexServiceProvider implements ServiceProviderInterface // Add built-in types from Grav. if ($pagesEnabled) { $flex->addDirectoryType( - 'grav-pages', + 'pages', 'blueprints://flex/pages.yaml', [ 'enabled' => $pagesEnabled @@ -44,8 +44,8 @@ class FlexServiceProvider implements ServiceProviderInterface } if ($accountsEnabled) { $flex->addDirectoryType( - 'grav-accounts', - 'blueprints://flex/accounts.yaml', + 'user-accounts', + 'blueprints://flex/user-accounts.yaml', [ 'enabled' => $accountsEnabled, 'data' => [ @@ -54,7 +54,7 @@ class FlexServiceProvider implements ServiceProviderInterface ] ); $flex->addDirectoryType( - 'grav-user-groups', + 'user-groups', 'blueprints://flex/user-groups.yaml', [ 'enabled' => $accountsEnabled