Create a separate function that defined farmOS modules during profile installation.
This commit is contained in:
parent
50e12487f9
commit
e3ad9650e2
83
farm.install
83
farm.install
|
@ -5,6 +5,49 @@
|
|||
* farmOS install file.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Define farmOS modules that will be available to enable during installation.
|
||||
*
|
||||
* @return array
|
||||
* Returns an array with two sub-arrays:
|
||||
* 'default': an array of modules that will be checked by default.
|
||||
* 'optional': an array of modules that will be unchecked by default.
|
||||
*/
|
||||
function farm_modules() {
|
||||
return array(
|
||||
'default' => array(
|
||||
'farm_log_harvest' => st('Harvest logs'),
|
||||
'farm_log_input' => st('Input logs'),
|
||||
'farm_crop' => st('Crops'),
|
||||
'farm_livestock' => st('Livestock'),
|
||||
'farm_equipment' => st('Equipment'),
|
||||
'farm_calendar' => st('Calendar of logs'),
|
||||
'farm_import' => st('CSV importers for assets and logs'),
|
||||
'farm_quick' => st('Quick forms UI'),
|
||||
'farm_soil_nrcs' => st('NRCS Soil Survey'),
|
||||
'farm_soil_test' => st('Soil test logs'),
|
||||
'farm_area_generate' => st('Area generator (for generating parallel beds within an area)'),
|
||||
'farm_area_import' => st('Import areas in bulk from a single KML file'),
|
||||
'farm_area_types' => t('Default area types: Property, Field, Building, etc'),
|
||||
'farm_crop_area_types' => t('Crop area types: Bed and Greenhouse'),
|
||||
'farm_livestock_area_types' => t('Livestock area types: Paddock'),
|
||||
'farm_water' => st('Water area type'),
|
||||
'farm_access_roles' => st('Default roles: Manager, Worker, Viewer'),
|
||||
'farm_help' => st('farmOS Help Pages'),
|
||||
'farm_tour' => st('farmOS Tours'),
|
||||
'farm_api' => st('farmOS API'),
|
||||
),
|
||||
'optional' => array(
|
||||
'farm_water_test' => st('Water test logs'),
|
||||
'farm_soil_compost' => st('Compost'),
|
||||
'farm_sensor' => st('Sensor'),
|
||||
'farm_sensor_listener' => st('Sensor: Listener'),
|
||||
'farm_ledger' => st('Sale and purchase logs (beta)'),
|
||||
'farm_quantity_report' => st('Quantity report generator (beta)'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements hook_install().
|
||||
*/
|
||||
|
@ -55,45 +98,19 @@ function farm_install_configure_form($form, &$form_state) {
|
|||
// Set the page title.
|
||||
drupal_set_title(st('Configure farmOS'));
|
||||
|
||||
// Load the list of available modules.
|
||||
$modules = farm_modules();
|
||||
|
||||
// Allow user to choose which high-level farm modules to install.
|
||||
$module_options = array_merge($modules['default'], $modules['optional']);
|
||||
// Default modules will be selected by default.
|
||||
$default_modules = array(
|
||||
'farm_log_harvest' => st('Harvest logs'),
|
||||
'farm_log_input' => st('Input logs'),
|
||||
'farm_crop' => st('Crops'),
|
||||
'farm_livestock' => st('Livestock'),
|
||||
'farm_equipment' => st('Equipment'),
|
||||
'farm_calendar' => st('Calendar of logs'),
|
||||
'farm_import' => st('CSV importers for assets and logs'),
|
||||
'farm_quick' => st('Quick forms UI'),
|
||||
'farm_soil_nrcs' => st('NRCS Soil Survey'),
|
||||
'farm_soil_test' => st('Soil test logs'),
|
||||
'farm_area_generate' => st('Area generator (for generating parallel beds within an area)'),
|
||||
'farm_area_import' => st('Import areas in bulk from a single KML file'),
|
||||
'farm_area_types' => t('Default area types: Property, Field, Building, etc'),
|
||||
'farm_crop_area_types' => t('Crop area types: Bed and Greenhouse'),
|
||||
'farm_livestock_area_types' => t('Livestock area types: Paddock'),
|
||||
'farm_water' => st('Water area type'),
|
||||
'farm_access_roles' => st('Default roles: Manager, Worker, Viewer'),
|
||||
'farm_help' => st('farmOS Help Pages'),
|
||||
'farm_tour' => st('farmOS Tours'),
|
||||
'farm_api' => st('farmOS API'),
|
||||
);
|
||||
// Extra modules will not be selected by default.
|
||||
$extra_modules = array(
|
||||
'farm_water_test' => st('Water test logs'),
|
||||
'farm_soil_compost' => st('Compost'),
|
||||
'farm_sensor' => st('Sensor'),
|
||||
'farm_sensor_listener' => st('Sensor: Listener'),
|
||||
'farm_ledger' => st('Sale and purchase logs (beta)'),
|
||||
'farm_quantity_report' => st('Quantity report generator (beta)'),
|
||||
);
|
||||
$module_defaults = array_keys($modules['default']);
|
||||
$form['farm_modules'] = array(
|
||||
'#type' => 'checkboxes',
|
||||
'#title' => st('farmOS Modules'),
|
||||
'#description' => st('Select the farmOS modules that you would like installed by default.'),
|
||||
'#options' => array_merge($default_modules, $extra_modules),
|
||||
'#default_value' => array_keys($default_modules),
|
||||
'#options' => $module_options,
|
||||
'#default_value' => $module_defaults,
|
||||
);
|
||||
|
||||
// Allow the user to select their default system of measurement.
|
||||
|
|
Loading…
Reference in New Issue