mirror of
https://github.com/farmOS/farmOS.git
synced 2024-02-23 11:37:38 +01:00
69 lines
2.5 KiB
Text
69 lines
2.5 KiB
Text
<?php
|
|
/**
|
|
* @file
|
|
* Farm equipment install file.
|
|
*/
|
|
|
|
/**
|
|
* Implements hook_update_dependencies().
|
|
*/
|
|
function farm_equipment_update_dependencies() {
|
|
|
|
// Update 7002 (add new movement field to maintenance logs) depends on
|
|
// farm_log_movement_update_7000().
|
|
$dependencies['farm_equipment'][7002] = array('farm_log_movement' => 7000);
|
|
|
|
return $dependencies;
|
|
}
|
|
|
|
/**
|
|
* Migrate Equipment Description field to plain Description field (from farm_fields).
|
|
*/
|
|
function farm_equipment_update_7000(&$sandbox) {
|
|
|
|
// Revert this module's field_instance Features component.
|
|
features_revert(array('farm_equipment' => array('field_instance')));
|
|
|
|
// If the new description field database tables exist...
|
|
if (db_table_exists('field_data_field_farm_description') && db_table_exists('field_revision_field_farm_description')) {
|
|
|
|
// Copy all descriptions from the old database tables to the new ones.
|
|
db_query('INSERT INTO {field_data_field_farm_description} SELECT * FROM {field_data_field_farm_equipment_description}');
|
|
db_query('INSERT INTO {field_revision_field_farm_description} SELECT * FROM {field_revision_field_farm_equipment_description}');
|
|
|
|
// Delete the old field.
|
|
$field = field_info_instance('farm_asset', 'field_farm_equipment_description', 'equipment');
|
|
field_delete_instance($field);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Migrate equipment reference field to new asset reference field.
|
|
*/
|
|
function farm_equipment_update_7001(&$sandbox) {
|
|
|
|
// Revert this module's field_instance Features component.
|
|
features_revert(array('farm_equipment' => array('field_instance')));
|
|
|
|
// Copy all field data from the old database tables to the new ones.
|
|
db_query("INSERT INTO {field_data_field_farm_asset} (SELECT * FROM {field_data_field_farm_equipment} WHERE entity_type = 'log' AND bundle = 'farm_maintenance')");
|
|
db_query("INSERT INTO {field_revision_field_farm_asset} (SELECT * FROM {field_revision_field_farm_equipment} WHERE entity_type = 'log' AND bundle = 'farm_maintenance')");
|
|
|
|
// Delete the old equipment reference field.
|
|
$field = field_info_instance('log', 'field_farm_equipment', 'farm_maintenance');
|
|
field_delete_instance($field);
|
|
}
|
|
|
|
/**
|
|
* Add new movement field to maintenance logs.
|
|
*/
|
|
function farm_equipment_update_7002(&$sandbox) {
|
|
features_revert(array('farm_equipment' => array('field_instance')));
|
|
}
|
|
|
|
/**
|
|
* Add new equipment fields: manufacturer, model, serial number.
|
|
*/
|
|
function farm_equipment_update_7003(&$sandbox) {
|
|
features_revert(array('farm_equipment' => array('field_base', 'field_instance')));
|
|
}
|