Michael Stenta
f6d195d9c8
Issue #3382598 : Deprecate farmOS v1 migrations
2023-10-06 14:49:10 -04:00
Michael Stenta
b3c4d0e550
Issue #3359452 : Deprecate farm_log_asset_names_summary()
2023-10-06 14:47:56 -04:00
Paul Weidner
a18e44cd8d
Decrease space at top of pages around help
2023-10-06 14:45:35 -04:00
Paul Weidner
5b6ec6cc73
Decrease horizontal margins on pages
2023-10-06 14:45:34 -04:00
Paul Weidner
c05875f9f3
Allow bundle fields to be sorted in views tables
2023-10-06 14:40:08 -04:00
Paul Weidner
6a0e27914f
Hide views table columns when they do not contain any data
2023-10-06 14:40:08 -04:00
Paul Weidner
7f9f9dcd75
Decrease size of views collapsible filter
2023-10-06 14:40:08 -04:00
Paul Weidner
c75ebeae58
Condense styling of views
2023-10-06 14:40:08 -04:00
Paul Weidner
4ef19c79ce
Render metrics using item_list theme
2023-10-06 14:38:06 -04:00
Paul Weidner
91a6fccf85
Use flexbox to manage metric button spacing
2023-10-06 14:38:06 -04:00
Paul Weidner
9b8eb314cc
Class attributes is an array
2023-10-06 14:38:06 -04:00
Paul Weidner
1b6b46ab9a
Render entity labels using h6 tag
2023-10-06 14:38:06 -04:00
Paul Weidner
6be3e3639c
Render metrics in small buttons
2023-10-06 14:38:05 -04:00
Paul Weidner
14b63d748d
Reduce spacing within dashboard fieldsets
2023-10-06 14:35:44 -04:00
Paul Weidner
7167016488
Style dashboard fieldsets similar to gin-layer-wrapper
2023-10-06 14:35:44 -04:00
Paul Weidner
a195744803
Use flexbox to position and space dashboard panes
2023-10-06 14:35:44 -04:00
Paul Weidner
74dfee5024
Add dashboard-pane attribute to help target dashboard panes
2023-10-06 14:35:44 -04:00
Paul Weidner
dd3e9e68b2
Remove unnecessary default container div
...
This only adds a div to the markup that is not used
to style or arrange the panes within a region.
2023-10-06 14:35:44 -04:00
Paul Weidner
237a094e85
Add action links to add location assets on locations page #709
2023-10-06 14:34:13 -04:00
Michael Stenta
9b4700dced
Limit permissions of Account Admin role.
2023-10-06 14:15:33 -04:00
Michael Stenta
c5b7d25d29
Invalidate the user_role:farm_account_admin cache tag when the account admin settings form is submitted.
2023-10-06 14:15:33 -04:00
Michael Stenta
978281c212
Add a separate permission for configuring the Account Admin role module settings.
2023-10-06 14:15:33 -04:00
Michael Stenta
e4b656af74
Add a setting for allowing Account Admins to assign Account Admin role.
2023-10-06 14:15:33 -04:00
Michael Stenta
05a3b374bb
Restrict access to user 1 so that Account Admins cannot edit it.
2023-10-06 14:15:33 -04:00
Michael Stenta
501d573b19
Add an Account Admin role with permission to administer users and assign managed roles.
2023-10-06 14:15:32 -04:00
Michael Stenta
de8a262685
Remove requiresEntity() method.
2023-10-06 14:11:11 -04:00
Paul Weidner
89be8e6359
Add test assertion for quick form help text
2023-10-06 14:11:10 -04:00
Michael Stenta
8ae1c6dd1f
Automated tests of configurable quick forms.
2023-10-06 14:11:10 -04:00
Paul Weidner
e987d9450c
Configure quick form entities with correct quickId in getInstances() function
2023-10-06 14:11:10 -04:00
Paul Weidner
7506862308
Rename createInstance to getInstance for consistency with getInstances function
2023-10-06 14:11:10 -04:00
Paul Weidner
4fcc647115
Raise 404 if quick form does not exist
2023-10-06 14:11:10 -04:00
Paul Weidner
f89e155f0a
Load plugin definition to check requiresEntity
2023-10-06 14:11:10 -04:00
Paul Weidner
8a52fd3be6
Add cache metadata to quick form controller
2023-10-06 14:11:10 -04:00
Paul Weidner
be973941aa
Save default label, description and help text to quick form
2023-10-06 14:11:10 -04:00
Paul Weidner
18db434a68
Use standard entity permissions
2023-10-06 14:11:10 -04:00
Paul Weidner
3505e80124
Refactor quick form route building to a single route
2023-10-06 14:11:10 -04:00
Paul Weidner
8903ff44bc
Refactor ConfigureQuickForm to use EntityForm
2023-10-06 14:11:10 -04:00
Michael Stenta
fa6329f579
Generate menu task links (tabs) for quick forms and their configuration forms.
2023-10-06 14:11:10 -04:00
Michael Stenta
87fa34716d
Build routes to configuration forms.
2023-10-06 14:11:10 -04:00
Michael Stenta
92c3543b87
Add a ConfigureQuickForm for building, validating, and submitting configuration forms.
2023-10-06 14:11:10 -04:00
Michael Stenta
44c443bda9
Add a permission for configuring quick forms.
2023-10-06 14:11:10 -04:00
Michael Stenta
554afce229
Add a requiresEntity boolean to quick form plugins to optionally prevent creating default instances.
2023-10-06 14:11:10 -04:00
Michael Stenta
9811f7c7f7
Exclude quick forms that are explicitly disabled.
2023-10-06 14:11:10 -04:00
Michael Stenta
898d2355f0
Introduce new getQuickId() and setQuickId() methods. Deprecate getId().
2023-10-06 14:11:10 -04:00
Michael Stenta
11c6e5be7e
Refactor QuickFormInstanceManager to return config entities.
2023-10-06 14:11:10 -04:00
Michael Stenta
6e34a09a9f
Provide a ConfigurableQuickFormTrait that quick forms can use.
...
This uses ConfigurableTrait to add default getConfiguration(),
setConfiguration(), and defaultConfiguration() methods, and it
adds default buildConfigurationForm(), validateConfigurationForm(),
and submitConfigurationForm() methods.
The submitConfigurationForm() method does not yet save anything
automatically.
2023-10-06 14:11:10 -04:00
Michael Stenta
04e4a86b25
Provide a ConfigurableTrait with common boiler plate.
...
This will be replaced by a trait of the same name in Drupal core
via https://www.drupal.org/project/drupal/issues/2852463 .
2023-10-06 14:11:10 -04:00
Michael Stenta
14365f6008
Provide a ConfigurableQuickFormInterface that quick forms can use to declare themselves configurable.
...
This extends from QuickFormInterface, as well as ConfigurableInterface
(which adds getConfiguration(), setConfiguration(), and defaultConfiguration())
and PluginFormInterface (which adds buildConfigurationForm(),
validateConfigurationForm(), and submitConfigurationForm()).
2023-10-06 14:11:10 -04:00
Michael Stenta
bce6654428
Provide a configuration entity type for quick form instances.
2023-10-06 14:11:10 -04:00
Michael Stenta
78943d239d
Provide a QuickFormInstanceManager service class with helper methods for instantiating quick form plugins.
2023-10-06 14:11:10 -04:00
Michael Stenta
3f559e77e9
Rename QuickFormManager to QuickFormPluginManager.
2023-10-06 14:11:10 -04:00
Michael Stenta
109faec636
Validate quantity entities created by create_quantity #721
2023-10-06 14:02:38 -04:00
Michael Stenta
9109983cfe
Fix test quick form field name.
2023-10-06 13:58:57 -04:00
Michael Stenta
2101da034a
Fix typo in getQuickFormId() method name.
2023-10-06 13:58:57 -04:00
Michael Stenta
cec5cc352a
Fix camelCase of quick form plugin getLabel() method.
2023-10-06 13:58:57 -04:00
Michael Stenta
16eec9db45
Move quick form route builder method out of QuickFormManager to a new Routing/QuickFormRoutes class.
2023-10-06 13:58:57 -04:00
Michael Stenta
9c9acf5a95
Confirm that access is denied to individual quick forms without permission.
2023-10-06 13:58:57 -04:00
Michael Stenta
0a8789a7bf
Move planting quick form tests into src directory.
2023-10-06 13:58:57 -04:00
Michael Stenta
bc11ac5e48
Target hook_help() logic to specific quick form route IDs.
...
Previously this matched any route starting with farm.quick., so
if a route was created like farm.quick.myform.configure it was
also getting help text applied.
2023-10-06 13:58:57 -04:00
Michael Stenta
a1daf8300c
Fix abstract getId() method visibility in QuickAssetTrait, QuickLogTrait, and QuickPrepopulateTrait.
...
These should match QuickFormInterface, which declares getID() as a public method.
2023-10-06 13:58:57 -04:00
Michael Stenta
05c7da18b4
Extend QuickFormInterface from FormInterface.
...
We already implement buildForm(), validateForm(), and submitForm().
The only method this adds is getFormId(). So we will also refactor
how getFormId() works in \Drupal\farm_quick\Form\QuickForm to get
it from plugin instances instead of generating it itself.
2023-10-06 13:58:57 -04:00
Michael Stenta
5fefeb3820
QuickFormInterface does not need to extend from PluginIntrospectionInterface.
...
Quick forms already extend from \Drupal\Component\Plugin\PluginBase,
which implements PluginIntrospectionInterface. There is no need for
QuickFormInterface to extend from it.
2023-10-06 13:58:57 -04:00
Paul Weidner
cff262e78a
Add farm_setup dependency for farm_settings
2023-10-06 13:54:59 -04:00
Paul Weidner
e188931064
Add farm_setup dependency for farm_import
2023-10-06 13:54:59 -04:00
Paul Weidner
e4345d735c
Move the import and taxonomy menu items from system.admin to farm.setup
...
This allows us to remove the access administration pages permission.
2023-10-06 13:54:59 -04:00
Paul Weidner
2bc938d256
Move modules page to menu item under farm.setup
2023-10-06 13:54:59 -04:00
Paul Weidner
f41283fe6f
Move farm settings to menu item under farm.setup
2023-10-06 13:54:59 -04:00
Paul Weidner
e3b943ae47
Add farm setup menu and controller
2023-10-06 13:54:59 -04:00
Paul Weidner
00523f97d0
Add access farm setup permission
2023-10-06 13:54:59 -04:00
Paul Weidner
ce0897ad5e
Create farm_setup module
2023-10-06 13:54:59 -04:00
Michael Stenta
11c7b0a904
Add a Group membership assignment quick form #723
2023-10-06 13:54:32 -04:00
Michael Stenta
59473d8de8
Test that bundle fields get populated.
2023-10-06 13:49:26 -04:00
Michael Stenta
1fdb77133b
Rename functional test method to clarify its purpose.
2023-10-06 13:49:26 -04:00
Michael Stenta
78545d5ae8
Add @internal to classes.
2023-10-06 13:46:43 -04:00
Michael Stenta
17191b06cf
Add support for ID tags in asset importers.
2023-10-06 13:46:43 -04:00
Michael Stenta
8f39875221
Show allowed quantity measure values in column description.
2023-10-06 13:46:43 -04:00
Michael Stenta
4d34ed24cc
Set default value for status field on logs and assets.
2023-10-06 13:46:43 -04:00
Michael Stenta
890b5211c6
Add a revision log message to imported assets and logs.
2023-10-06 13:46:43 -04:00
Michael Stenta
473a7181a7
Prefix migration IDs with csv_.
2023-10-06 13:46:43 -04:00
Michael Stenta
af9afc3707
Add support for entity reference bundle fields.
2023-10-06 13:46:43 -04:00
Michael Stenta
2eab191914
Add support for timestamp bundle fields.
2023-10-06 13:46:43 -04:00
Michael Stenta
ce9676afb0
Automatically add mappings and column descriptions for string and list_string bundle fields.
2023-10-06 13:46:43 -04:00
Michael Stenta
6c60231077
Add support for setting category with log importers.
2023-10-06 13:42:20 -04:00
Michael Stenta
c7ea582dd4
Add support for referencing assets and locations in log importers.
2023-10-06 13:42:20 -04:00
Michael Stenta
481718fe15
Add support for importing asset parent relationships.
2023-10-06 13:42:20 -04:00
Michael Stenta
e84b4e3886
Add an asset_lookup process plugin that extends entity_lookup, searches multiple fields, and fails if a match is not found.
2023-10-06 13:42:20 -04:00
Michael Stenta
200238ec2a
Set mainPropertyName() for id_tag fields.
2023-10-06 13:42:20 -04:00
Michael Stenta
f325354c93
Show a View of imported entities under CSV upload form.
2023-10-06 13:42:20 -04:00
Michael Stenta
91d80f8803
Add a dedicated controller for individual CSV importers and simplify form class.
2023-10-06 13:42:20 -04:00
Michael Stenta
0d8ac5a087
Implement hook_file_download() to allow downloading CSV files.
2023-10-06 13:40:32 -04:00
Michael Stenta
34f4eda4d6
Split access checking logic out to a reusable service class.
2023-10-06 13:40:32 -04:00
Michael Stenta
b021317cf8
Save CSV-imported entity information to farm_import_csv_entity table.
2023-10-06 13:40:18 -04:00
Michael Stenta
4b180a5c98
Display messages from a csv_file migration on POST_IMPORT event.
2023-10-06 13:40:18 -04:00
Michael Stenta
1ac0337624
Save CSV file ID to private tempstore.
2023-10-06 13:40:18 -04:00
Michael Stenta
d9f91c6f1d
Move CSV files to the private filesystem and register usage.
2023-10-06 13:40:18 -04:00
Michael Stenta
2601f983cd
Use csv_file source plugin instead of csv.
2023-10-06 13:40:18 -04:00
Michael Stenta
c11ffa491b
Provide a csv_file source plugin that extends csv and sets the file ID + row number as source IDs.
2023-10-06 13:40:18 -04:00
Michael Stenta
298d5c8bc4
Provide a downloadable CSV template with column headers.
2023-10-06 13:40:18 -04:00
Michael Stenta
fcdbf70baf
Provide descriptions of CSV column headers in third-party settings.
2023-10-06 13:40:18 -04:00
Michael Stenta
9b1ddbdb08
Add functional tests of CSV importer index, titles, and access control.
2023-10-06 13:40:18 -04:00