3
0
Fork 0
mirror of https://github.com/farmOS/farmOS.git synced 2024-02-23 11:37:38 +01:00
Commit graph

2164 commits

Author SHA1 Message Date
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