Migrate group terms to assets and egg logs to harvest logs.

This commit is contained in:
Michael Stenta 2017-11-09 12:47:37 -05:00
parent 1fa1b5f720
commit dab82ea3f1
16 changed files with 399 additions and 1196 deletions

View File

@ -35,32 +35,6 @@ function farm_livestock_field_default_field_bases() {
'type' => 'list_boolean',
);
// Exported field_base: 'field_farm_animal_group'.
$field_bases['field_farm_animal_group'] = array(
'active' => 1,
'cardinality' => -1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_animal_group',
'indexes' => array(
'tid' => array(
0 => 'tid',
),
),
'locked' => 0,
'module' => 'taxonomy',
'settings' => array(
'allowed_values' => array(
0 => array(
'vocabulary' => 'farm_animal_groups',
'parent' => 0,
),
),
),
'translatable' => 0,
'type' => 'taxonomy_term_reference',
);
// Exported field_base: 'field_farm_animal_nicknames'.
$field_bases['field_farm_animal_nicknames'] = array(
'active' => 1,

View File

@ -47,40 +47,6 @@ function farm_livestock_field_default_field_instances() {
),
);
// Exported field_instance: 'farm_asset-animal-field_farm_animal_group'.
$field_instances['farm_asset-animal-field_farm_animal_group'] = array(
'bundle' => 'animal',
'default_value' => NULL,
'deleted' => 0,
'description' => 'Assign this animal to a particular group, herd, flock, etc. You can manage the list of available groups in the ' . l('Animal Groups', 'farm/assets/animals/groups') . ' vocabulary.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_link',
'weight' => 1,
),
),
'entity_type' => 'farm_asset',
'field_name' => 'field_farm_animal_group',
'label' => 'Group',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 0,
'module' => 'taxonomy',
'settings' => array(
'autocomplete_path' => 'taxonomy/autocomplete',
'size' => 60,
),
'type' => 'taxonomy_autocomplete',
'weight' => -8,
),
);
// Exported field_instance: 'farm_asset-animal-field_farm_animal_nicknames'.
$field_instances['farm_asset-animal-field_farm_animal_nicknames'] = array(
'bundle' => 'animal',

View File

@ -9,29 +9,6 @@
*/
function farm_livestock_taxonomy_default_vocabularies() {
return array(
'farm_animal_groups' => array(
'name' => 'Farm Animal Groups',
'machine_name' => 'farm_animal_groups',
'description' => 'Vocabulary of farm animal groups, herds, flocks, etc.',
'hierarchy' => 0,
'module' => 'taxonomy',
'weight' => 0,
'rdf_mapping' => array(
'rdftype' => array(
0 => 'skos:ConceptScheme',
),
'name' => array(
'predicates' => array(
0 => 'dc:title',
),
),
'description' => array(
'predicates' => array(
0 => 'rdfs:comment',
),
),
),
),
'farm_animal_types' => array(
'name' => 'Farm Animal Species/Breeds',
'machine_name' => 'farm_animal_types',

View File

@ -137,11 +137,10 @@ function farm_livestock_field_group_info() {
'label' => 'General',
'weight' => '1',
'children' => array(
0 => 'field_farm_animal_group',
1 => 'field_farm_animal_type',
2 => 'field_farm_description',
3 => 'name',
4 => 'group_farm_individual',
0 => 'field_farm_animal_type',
1 => 'field_farm_description',
2 => 'name',
3 => 'group_farm_individual',
),
'format_type' => 'field_group_easy_responsive_tabs_nav_item',
'format_settings' => array(

View File

@ -39,7 +39,6 @@ features[ctools][] = views:views_default:3.0
features[farm_asset_type][] = animal
features[features_api][] = api:2
features[field_base][] = field_farm_animal_castrated
features[field_base][] = field_farm_animal_group
features[field_base][] = field_farm_animal_nicknames
features[field_base][] = field_farm_animal_sex
features[field_base][] = field_farm_animal_tag
@ -61,7 +60,6 @@ features[field_group][] = group_farm_movement|log|farm_medical|form
features[field_group][] = group_farm_tabs|farm_asset|animal|form
features[field_group][] = group_farm_tabs|log|farm_medical|form
features[field_instance][] = farm_asset-animal-field_farm_animal_castrated
features[field_instance][] = farm_asset-animal-field_farm_animal_group
features[field_instance][] = farm_asset-animal-field_farm_animal_nicknames
features[field_instance][] = farm_asset-animal-field_farm_animal_sex
features[field_instance][] = farm_asset-animal-field_farm_animal_tag
@ -83,12 +81,9 @@ features[field_instance][] = log-farm_medical-field_farm_log_owner
features[field_instance][] = log-farm_medical-field_farm_movement
features[field_instance][] = log-farm_medical-field_farm_notes
features[log_type][] = farm_medical
features[taxonomy][] = farm_animal_groups
features[taxonomy][] = farm_animal_types
features[variable][] = pathauto_farm_asset_animal_pattern
features[variable][] = pathauto_taxonomy_term_farm_animal_groups_pattern
features[variable][] = pathauto_taxonomy_term_farm_animal_types_pattern
features[views_view][] = farm_animal_groups
features[views_view][] = farm_animal_types
features[views_view][] = farm_animals
features[views_view][] = farm_log_medical

View File

@ -21,6 +21,10 @@ function farm_livestock_update_dependencies() {
// farm_7032().
$dependencies['farm_livestock'][7004] = array('farm' => 7032);
// Update 7005 (migrate to group assets) depends on farmOS core update 7033
// (install the farm_group module).
$dependencies['farm_livestock'][7005] = array('farm' => 7033);
return $dependencies;
}
@ -98,3 +102,392 @@ function farm_livestock_update_7004(&$sandbox) {
// Save the asset type.
farm_asset_type_save($asset_type);
}
/**
* Create group assets for each animal group term, assign animals to new group
* assets, convert egg logs to harvest logs, and remove old animal groups
* taxonomy and related features.
*/
function farm_livestock_update_7005(&$sandbox) {
// This is a multi-stage update.
// We use the $sandbox['stage'] variable to remember what stage we are on.
// Start with stage 1.
if (!isset($sandbox['stage'])) {
$sandbox['stage'] = 1;
}
// Stage 1: Prepare.
_farm_livestock_update_7005_stage1($sandbox);
// Stage 2: Create group assets for each animal group term.
_farm_livestock_update_7005_stage2($sandbox);
// Stage 3: Assign animals to new group assets.
_farm_livestock_update_7005_stage3($sandbox);
// Stage 4: Convert egg logs to harvest logs.
_farm_livestock_update_7005_stage4($sandbox);
// Stage 5: Clean up.
_farm_livestock_update_7005_stage5($sandbox);
}
/**
* Update 7005 stage 1: Prepare.
*
* @see farm_livestock_update_7005().
*/
function _farm_livestock_update_7005_stage1(&$sandbox) {
// If we are not on stage 1, bail.
if (empty($sandbox['stage']) || $sandbox['stage'] != 1) {
return;
}
// Delete the farm_livestock_eggs module from the {system} table.
db_query("DELETE FROM {system} WHERE type = 'module' AND name = 'farm_livestock_eggs'");
// Revert Features to enable the group field on observation logs, and the
// measure field on quantity field collections.
$components = array(
'farm_group' => array('field_base'),
'farm_log_observation' => array('field_instance'),
'farm_quantity' => array('field_base', 'field_instance'),
);
features_get_modules(NULL, TRUE);
features_revert($components);
// We are ready for stage 2.
$sandbox['#finished'] = 0;
$sandbox['stage'] = 2;
}
/**
* Update 7005 stage 2: Create group assets for each animal group term.
*
* @see farm_livestock_update_7005().
*/
function _farm_livestock_update_7005_stage2(&$sandbox) {
// If we are not on stage 2, bail.
if (empty($sandbox['stage']) || $sandbox['stage'] != 2) {
return;
}
// Load the "Farm Animal Groups" vocabulary.
$group_vocab = taxonomy_vocabulary_machine_name_load('farm_animal_groups');
// Prepare to process this stage in batches.
if (!isset($sandbox['stage2_progress'])) {
$sandbox['stage2_progress'] = 0;
$sandbox['stage2_max'] = db_query('SELECT COUNT(tid) FROM {taxonomy_term_data} WHERE vid = :vid ORDER BY tid ASC', array(':vid' => $group_vocab->vid))->fetchField();
}
// Load the next batch of term IDs from the database.
$limit = 25;
$result = db_query_range('SELECT tid FROM {taxonomy_term_data} WHERE vid = :vid ORDER BY tid ASC', $sandbox['stage2_progress'], $limit, array(':vid' => $group_vocab->vid));
$group_ids = array();
foreach ($result as $row) {
if (!empty($row->tid)) {
$group_ids[] = $row->tid;
}
}
// Iterate through the animal groups.
foreach ($group_ids as $tid) {
// Increment the progress.
$sandbox['stage2_progress']++;
// Load the term.
$group_term = taxonomy_term_load($tid);
// Create a new Group asset with the same name.
$values = array(
'name' => $group_term->name,
'type' => 'group',
);
$group_asset = entity_create('farm_asset', $values);
farm_asset_save($group_asset);
// Save an association with the old term ID.
$sandbox['groups'][$tid] = $group_asset->id;
}
// The overall update is not finished.
$sandbox['#finished'] = 0.25;
// Once we've processed all of the groups, we are ready for stage 3.
if ($sandbox['stage2_progress'] >= $sandbox['stage2_max']) {
$sandbox['stage'] = 3;
}
}
/**
* Update 7005 stage 3: Assign animals to new group assets.
*
* @see farm_livestock_update_7005().
*/
function _farm_livestock_update_7005_stage3(&$sandbox) {
// If we are not on stage 3, bail.
if (empty($sandbox['stage']) || $sandbox['stage'] != 3) {
return;
}
// Prepare to process this stage in batches.
if (!isset($sandbox['stage3_progress'])) {
$sandbox['stage3_progress'] = 0;
$sandbox['stage3_max'] = db_query("SELECT COUNT(id) FROM {farm_asset} WHERE type = 'animal' ORDER BY id ASC")->fetchField();
}
// Load the next batch of animal asset IDs.
$limit = 25;
$result = db_query_range("SELECT id FROM {farm_asset} WHERE type = 'animal' ORDER BY id ASC", $sandbox['stage3_progress'], $limit);
$animal_ids = array();
foreach ($result as $row) {
if (!empty($row->id)) {
$animal_ids[] = $row->id;
}
}
// Iterate through the animals.
foreach ($animal_ids as $animal_id) {
// Increment the progress.
$sandbox['stage3_progress']++;
// Load the animal.
$animal = farm_asset_load($animal_id);
// Get the IDs of the old group terms this animal is assigned to.
$old_group_ids = array();
if (!empty($animal->field_farm_animal_group[LANGUAGE_NONE])) {
foreach ($animal->field_farm_animal_group[LANGUAGE_NONE] as $value) {
if (!empty($value['tid'])) {
$old_group_ids[] = $value['tid'];
}
}
}
// Build an array of new group IDs.
$new_group_ids = array();
foreach ($old_group_ids as $old_group_id) {
if (!empty($sandbox['groups'][$old_group_id])) {
$new_group_ids[] = $sandbox['groups'][$old_group_id];
}
}
// Load the groups.
$groups = farm_asset_load_multiple($new_group_ids);
// If there are no groups, don't do anything (skip to the next animal).
if (empty($groups)) {
continue;
}
// Create a log assigning this animal to the new group asset(s). Use the
// animals creation date as the date of the log.
farm_group_membership_set($animal, $groups, $animal->created);
}
// The overall update is not finished.
$sandbox['#finished'] = 0.5;
// Once we've processed all of the animals, we are ready for stage 4.
if ($sandbox['stage3_progress'] >= $sandbox['stage3_max']) {
$sandbox['stage'] = 4;
}
}
/**
* Update 7005 stage 4: Convert egg logs to harvest logs.
*
* @see farm_livestock_update_7005().
*/
function _farm_livestock_update_7005_stage4(&$sandbox) {
// If we are not on stage 4, bail.
if (empty($sandbox['stage']) || $sandbox['stage'] != 4) {
return;
}
// Prepare to process this stage in batches.
if (!isset($sandbox['stage4_progress'])) {
// Set up progress and max variables.
$sandbox['stage4_progress'] = 0;
$sandbox['stage4_max'] = db_query("SELECT COUNT(id) FROM {log} WHERE type = 'farm_eggs' ORDER BY id ASC")->fetchField();
// Update all field data and revisions for fields that will be kept.
$egg_log_fields = array(
'field_farm_notes',
'field_farm_log_category',
'field_farm_log_owner',
);
foreach ($egg_log_fields as $field_name) {
$tables = array(
'field_data_' . $field_name,
'field_revision_' . $field_name,
);
foreach ($tables as $table) {
db_query("UPDATE {" . $table . "} SET bundle = 'farm_harvest' WHERE entity_type = 'log' AND bundle = 'farm_eggs'");
}
}
}
// Load the next batch of egg log IDs.
$limit = 25;
$result = db_query_range("SELECT id FROM {log} WHERE type = 'farm_eggs'", 0, $limit);
$egg_log_ids = array();
foreach ($result as $row) {
if (!empty($row->id)) {
$egg_log_ids[] = $row->id;
}
}
// Iterate through egg logs.
foreach ($egg_log_ids as $egg_log_id) {
// Increment the progress.
$sandbox['stage4_progress']++;
// Change the log type to 'farm_harvest'.
db_query("UPDATE {log} SET type = 'farm_harvest' WHERE type = 'farm_eggs' AND id = :id", array(':id' => $egg_log_id));
// Load the log.
$log = log_load($egg_log_id, TRUE);
// Create an entity wrapper for the log.
$log_wrapper = entity_metadata_wrapper('log', $log);
// Find old animal groups associated with this log.
$old_group_ids = array();
$result = db_query("SELECT field_farm_animal_group_tid FROM {field_data_field_farm_animal_group} WHERE entity_type = 'log' AND bundle = 'farm_eggs' AND entity_id = :log_id ORDER BY delta ASC", array(':log_id' => $egg_log_id));
foreach ($result as $row) {
if (!empty($row->field_farm_animal_group_tid)) {
$old_group_ids[] = $row->field_farm_animal_group_tid;
}
}
// Iterate through the old group term IDs and add asset references to the
// new group assets that were created in stage 1 above.
foreach($old_group_ids as $delta => $old_group_id) {
if (array_key_exists($old_group_id, $sandbox['groups'])) {
$group = farm_asset_load($sandbox['groups'][$old_group_id]);
if (!empty($group)) {
$log_wrapper->field_farm_asset[] = $group;
}
}
}
// Find the old egg quantity value from this log.
$egg_qty = db_query("SELECT field_farm_egg_qty_value FROM {field_data_field_farm_egg_qty} WHERE entity_type = 'log' AND bundle = 'farm_eggs' AND entity_id = :log_id", array(':log_id' => $egg_log_id))->fetchField();
// If no quantity was found, set it to zero.
if (empty($egg_qty)) {
$egg_qty = 0;
}
// Create a new quantity field_collection entity attached to the log.
$quantity = entity_create('field_collection_item', array('field_name' => 'field_farm_quantity'));
$quantity->setHostEntity('log', $log);
// Create an entity wrapper for the quantity.
$quantity_wrapper = entity_metadata_wrapper('field_collection_item', $quantity);
// Set the quantity measure.
$quantity_wrapper->field_farm_quantity_measure->set('count');
// Set the quantity value.
$value_fraction = fraction_from_decimal($egg_qty);
$quantity_wrapper->field_farm_quantity_value->numerator->set($value_fraction->getNumerator());
$quantity_wrapper->field_farm_quantity_value->denominator->set($value_fraction->getDenominator());
// Look up the units taxonomy term.
$units = t('egg(s)');
$units_terms = taxonomy_get_term_by_name($units, 'farm_quantity_units');
// If terms were found, use the first one.
if (!empty($units_terms)) {
$units_term = reset($units_terms);
}
// If a term wasn't found, create it.
else {
$farm_units = taxonomy_vocabulary_machine_name_load('farm_quantity_units');
$units_term = new stdClass();
$units_term->name = check_plain($units);
$units_term->vid = $farm_units->vid;
taxonomy_term_save($units_term);
}
// Set the quantity units.
$quantity_wrapper->field_farm_quantity_units = $units_term;
// Save the quantity.
$quantity_wrapper->save();
// Save the log.
$log_wrapper->save();
}
// The overall update is not finished.
$sandbox['#finished'] = 0.75;
// Once we've processed all of the egg logs, we are ready for stage 5.
if ($sandbox['stage4_progress'] >= $sandbox['stage4_max']) {
$sandbox['stage'] = 5;
}
}
/**
* Update 7005 stage 5: Clean up.
*
* @see farm_livestock_update_7005().
*/
function _farm_livestock_update_7005_stage5(&$sandbox) {
// If we are not on stage 5, bail.
if (empty($sandbox['stage']) || $sandbox['stage'] != 5) {
return;
}
// Delete the "Animal Groups" field instance from animal assets.
$field = field_info_instance('farm_asset', 'field_farm_animal_group', 'animal');
if (!empty($field)) {
field_delete_instance($field);
}
// Delete "Farm Animal Groups" View (if it still exists).
$view = views_get_view('farm_animal_groups');
if (!empty($view)) {
views_delete_view($view);
}
// Remove "Farm Animal Groups" taxonomy.
$group_vocab = taxonomy_vocabulary_machine_name_load('farm_animal_groups');
if (!empty($group_vocab)) {
taxonomy_vocabulary_delete($group_vocab->vid);
}
// Delete the egg logs View.
$view = views_get_view('farm_log_eggs');
if (!empty($view)) {
views_delete_view($view);
}
// Delete the egg log type.
$egg_log_type = log_type_load('farm_eggs');
if (!empty($egg_log_type)) {
log_type_delete($egg_log_type);
}
// Ensure that all field instances on egg logs are marked for deletion.
db_query("UPDATE {field_config_instance} SET deleted = 1 WHERE entity_type = 'log' AND bundle = 'farm_eggs'");
// We are finished!
$sandbox['#finished'] = 1;
}

View File

@ -28,19 +28,12 @@ function farm_livestock_farm_ui_entities() {
),
),
'taxonomy_term' => array(
'farm_animal_groups' => array(
'label' => t('Group'),
'label_plural' => t('Groups'),
'view' => 'farm_animal_groups',
'farm_asset' => 'animal',
'asset_view_arg' => 2,
),
'farm_animal_types' => array(
'label' => t('Type'),
'label_plural' => t('Types'),
'view' => 'farm_animal_types',
'farm_asset' => 'animal',
'asset_view_arg' => 3,
'asset_view_arg' => 2,
),
),
);
@ -107,13 +100,6 @@ function farm_livestock_feeds_importer_default_alter($importers) {
'autocreate' => 1,
'language' => 'und',
),
array(
'source' => 'Group',
'target' => 'field_farm_animal_group',
'term_search' => '0',
'autocreate' => 1,
'language' => 'und',
),
array(
'source' => 'Sex',
'target' => 'field_farm_animal_sex',
@ -184,10 +170,6 @@ function farm_livestock_feeds_tamper_default_alter(&$feeds_tampers) {
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', 'animal', 'Date of birth', 'strtotime');
$feeds_tampers[$feeds_tamper->id] = $feeds_tamper;
// Explode groups to allow multiple values.
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', 'animal', 'Group', 'explode');
$feeds_tampers[$feeds_tamper->id] = $feeds_tamper;
// Explode nicknames to allow multiple values.
$feeds_tamper = farm_import_feeds_tamper_plugin('farm_asset', 'animal', 'Nicknames', 'explode');
$feeds_tampers[$feeds_tamper->id] = $feeds_tamper;

View File

@ -17,13 +17,6 @@ function farm_livestock_strongarm() {
$strongarm->value = 'farm/animal/[farm_asset:name]';
$export['pathauto_farm_asset_animal_pattern'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;
$strongarm->name = 'pathauto_taxonomy_term_farm_animal_groups_pattern';
$strongarm->value = 'farm/animal/group/[term:name]';
$export['pathauto_taxonomy_term_farm_animal_groups_pattern'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;

View File

@ -10,130 +10,6 @@
function farm_livestock_views_default_views() {
$export = array();
$view = new view();
$view->name = 'farm_animal_groups';
$view->description = '';
$view->tag = 'farm_crop';
$view->base_table = 'taxonomy_term_data';
$view->human_name = 'Farm Animal Groups';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Animal Groups';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'view any animal farm assets';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE;
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'tree';
$handler->display->display_options['style_options']['main_field'] = 'tid';
$handler->display->display_options['style_options']['parent_field'] = 'tid_1';
$handler->display->display_options['row_plugin'] = 'fields';
$handler->display->display_options['row_options']['inline'] = array(
'name' => 'name',
'id' => 'id',
);
/* Header: Global: Unfiltered text */
$handler->display->display_options['header']['area_text_custom']['id'] = 'area_text_custom';
$handler->display->display_options['header']['area_text_custom']['table'] = 'views';
$handler->display->display_options['header']['area_text_custom']['field'] = 'area_text_custom';
$handler->display->display_options['header']['area_text_custom']['content'] = '<h4>Hierarchy <small><a href="/admin/structure/taxonomy/farm_animal_groups?destination=farm/assets/animals/groups">(change)</a></small></h4>';
/* No results behavior: Global: Unfiltered text */
$handler->display->display_options['empty']['area_text_custom']['id'] = 'area_text_custom';
$handler->display->display_options['empty']['area_text_custom']['table'] = 'views';
$handler->display->display_options['empty']['area_text_custom']['field'] = 'area_text_custom';
$handler->display->display_options['empty']['area_text_custom']['empty'] = TRUE;
$handler->display->display_options['empty']['area_text_custom']['content'] = 'No groups found.';
/* Relationship: Taxonomy term: Parent term */
$handler->display->display_options['relationships']['parent']['id'] = 'parent';
$handler->display->display_options['relationships']['parent']['table'] = 'taxonomy_term_hierarchy';
$handler->display->display_options['relationships']['parent']['field'] = 'parent';
/* Relationship: Taxonomy term: Farm asset using Group */
$handler->display->display_options['relationships']['reverse_field_farm_animal_group_farm_asset']['id'] = 'reverse_field_farm_animal_group_farm_asset';
$handler->display->display_options['relationships']['reverse_field_farm_animal_group_farm_asset']['table'] = 'taxonomy_term_data';
$handler->display->display_options['relationships']['reverse_field_farm_animal_group_farm_asset']['field'] = 'reverse_field_farm_animal_group_farm_asset';
/* Field: Taxonomy term: Term ID */
$handler->display->display_options['fields']['tid']['id'] = 'tid';
$handler->display->display_options['fields']['tid']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['tid']['field'] = 'tid';
$handler->display->display_options['fields']['tid']['exclude'] = TRUE;
$handler->display->display_options['fields']['tid']['separator'] = '';
/* Field: Taxonomy term: Term ID */
$handler->display->display_options['fields']['tid_1']['id'] = 'tid_1';
$handler->display->display_options['fields']['tid_1']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['tid_1']['field'] = 'tid';
$handler->display->display_options['fields']['tid_1']['relationship'] = 'parent';
$handler->display->display_options['fields']['tid_1']['label'] = 'Parent Term ID';
$handler->display->display_options['fields']['tid_1']['exclude'] = TRUE;
$handler->display->display_options['fields']['tid_1']['separator'] = '';
/* Field: Taxonomy term: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'taxonomy_term_data';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['label'] = '';
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = FALSE;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = FALSE;
$handler->display->display_options['fields']['name']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['name']['link_to_taxonomy'] = TRUE;
/* Field: COUNT(Farm asset: Farm asset ID) */
$handler->display->display_options['fields']['id']['id'] = 'id';
$handler->display->display_options['fields']['id']['table'] = 'farm_asset';
$handler->display->display_options['fields']['id']['field'] = 'id';
$handler->display->display_options['fields']['id']['relationship'] = 'reverse_field_farm_animal_group_farm_asset';
$handler->display->display_options['fields']['id']['group_type'] = 'count';
$handler->display->display_options['fields']['id']['label'] = '';
$handler->display->display_options['fields']['id']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['id']['prefix'] = '(';
$handler->display->display_options['fields']['id']['suffix'] = ')';
/* Filter criterion: Taxonomy vocabulary: Machine name */
$handler->display->display_options['filters']['machine_name']['id'] = 'machine_name';
$handler->display->display_options['filters']['machine_name']['table'] = 'taxonomy_vocabulary';
$handler->display->display_options['filters']['machine_name']['field'] = 'machine_name';
$handler->display->display_options['filters']['machine_name']['value'] = array(
'farm_animal_groups' => 'farm_animal_groups',
);
$handler->display->display_options['filters']['machine_name']['group'] = 1;
/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'farm/assets/animals/groups';
$handler->display->display_options['menu']['type'] = 'tab';
$handler->display->display_options['menu']['title'] = 'Groups';
$handler->display->display_options['menu']['weight'] = '';
$handler->display->display_options['menu']['name'] = 'farm';
$handler->display->display_options['menu']['context'] = 0;
$handler->display->display_options['menu']['context_only_inline'] = 0;
$translatables['farm_animal_groups'] = array(
t('Master'),
t('Animal Groups'),
t('more'),
t('Apply'),
t('Reset'),
t('Sort by'),
t('Asc'),
t('Desc'),
t('<h4>Hierarchy <small><a href="/admin/structure/taxonomy/farm_animal_groups?destination=farm/assets/animals/groups">(change)</a></small></h4>'),
t('No groups found.'),
t('Parent'),
t('field_farm_animal_group'),
t('Term ID'),
t('.'),
t('Parent Term ID'),
t(','),
t('('),
t(')'),
t('Page'),
);
$export['farm_animal_groups'] = $view;
$view = new view();
$view->name = 'farm_animal_types';
$view->description = '';
@ -590,27 +466,12 @@ function farm_livestock_views_default_views() {
$handler->display->display_options['arguments']['field_farm_move_to_tid']['validate_options']['vocabularies'] = array(
'farm_areas' => 'farm_areas',
);
/* Contextual filter: Field: Group (field_farm_animal_group) */
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['id'] = 'field_farm_animal_group_tid';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['table'] = 'field_data_field_farm_animal_group';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['field'] = 'field_farm_animal_group_tid';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['title_enable'] = TRUE;
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['title'] = 'Animals in group %2';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['specify_validation'] = TRUE;
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['validate']['type'] = 'taxonomy_term';
$handler->display->display_options['arguments']['field_farm_animal_group_tid']['validate_options']['vocabularies'] = array(
'farm_animal_groups' => 'farm_animal_groups',
);
/* Contextual filter: Farm asset: Species/breed (field_farm_animal_type) */
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['id'] = 'field_farm_animal_type_tid';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['table'] = 'field_data_field_farm_animal_type';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['field'] = 'field_farm_animal_type_tid';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['title_enable'] = TRUE;
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['title'] = 'Animals of type %3';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['title'] = 'Animals of type %2';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['field_farm_animal_type_tid']['summary']['format'] = 'default_summary';

View File

@ -1,29 +0,0 @@
<?php
/**
* @file
* farm_livestock_eggs.features.field_base.inc
*/
/**
* Implements hook_field_default_field_bases().
*/
function farm_livestock_eggs_field_default_field_bases() {
$field_bases = array();
// Exported field_base: 'field_farm_egg_qty'.
$field_bases['field_farm_egg_qty'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_egg_qty',
'indexes' => array(),
'locked' => 0,
'module' => 'number',
'settings' => array(),
'translatable' => 0,
'type' => 'number_integer',
);
return $field_bases;
}

View File

@ -1,199 +0,0 @@
<?php
/**
* @file
* farm_livestock_eggs.features.field_instance.inc
*/
/**
* Implements hook_field_default_field_instances().
*/
function farm_livestock_eggs_field_default_field_instances() {
$field_instances = array();
// Exported field_instance: 'log-farm_eggs-field_farm_animal_group'.
$field_instances['log-farm_eggs-field_farm_animal_group'] = array(
'bundle' => 'farm_eggs',
'default_value' => array(),
'deleted' => 0,
'description' => 'What group/flock were these eggs collected from?',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 2,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_animal_group',
'label' => 'Group',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 0,
'module' => 'options',
'settings' => array(
'autocomplete_path' => 'taxonomy/autocomplete',
'size' => 60,
),
'type' => 'options_buttons',
'weight' => -3,
),
);
// Exported field_instance: 'log-farm_eggs-field_farm_egg_qty'.
$field_instances['log-farm_eggs-field_farm_egg_qty'] = array(
'bundle' => 'farm_eggs',
'default_value' => NULL,
'deleted' => 0,
'description' => 'How many eggs were collected?',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'number',
'settings' => array(
'decimal_separator' => '.',
'prefix_suffix' => TRUE,
'scale' => 0,
'thousand_separator' => ' ',
),
'type' => 'number_integer',
'weight' => 1,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_egg_qty',
'label' => 'Quantity',
'required' => 1,
'settings' => array(
'max' => '',
'min' => '',
'prefix' => '',
'suffix' => ' egg(s)',
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 0,
'module' => 'number',
'settings' => array(),
'type' => 'number',
'weight' => -4,
),
);
// Exported field_instance: 'log-farm_eggs-field_farm_log_category'.
$field_instances['log-farm_eggs-field_farm_log_category'] = array(
'bundle' => 'farm_eggs',
'default_value' => NULL,
'deleted' => 0,
'description' => 'Use this to organize your logs into categories for easier searching and filtering later.',
'display' => array(
'default' => array(
'label' => 'above',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_link',
'weight' => 5,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_log_category',
'label' => 'Log category',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => 7,
),
);
// Exported field_instance: 'log-farm_eggs-field_farm_log_owner'.
$field_instances['log-farm_eggs-field_farm_log_owner'] = array(
'bundle' => 'farm_eggs',
'default_value' => NULL,
'deleted' => 0,
'description' => 'Optionally assign this task to one or more people.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'entityreference',
'settings' => array(
'bypass_access' => FALSE,
'link' => FALSE,
),
'type' => 'entityreference_label',
'weight' => 4,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_log_owner',
'label' => 'Assigned to',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => 5,
),
);
// Exported field_instance: 'log-farm_eggs-field_farm_notes'.
$field_instances['log-farm_eggs-field_farm_notes'] = array(
'bundle' => 'farm_eggs',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 3,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_notes',
'label' => 'Notes',
'required' => 0,
'settings' => array(
'text_processing' => 1,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'text',
'settings' => array(
'rows' => 5,
),
'type' => 'text_textarea',
'weight' => -2,
),
);
// Translatables
// Included for use with string extractors like potx.
t('Assigned to');
t('Group');
t('How many eggs were collected?');
t('Log category');
t('Notes');
t('Optionally assign this task to one or more people.');
t('Quantity');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What group/flock were these eggs collected from?');
return $field_instances;
}

View File

@ -1,38 +0,0 @@
<?php
/**
* @file
* farm_livestock_eggs.features.inc
*/
/**
* Implements hook_ctools_plugin_api().
*/
function farm_livestock_eggs_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "field_group" && $api == "field_group") {
return array("version" => "1");
}
}
/**
* Implements hook_views_api().
*/
function farm_livestock_eggs_views_api($module = NULL, $api = NULL) {
return array("api" => "3.0");
}
/**
* Implements hook_default_log_type().
*/
function farm_livestock_eggs_default_log_type() {
$items = array();
$items['farm_eggs'] = entity_import('log_type', '{
"type" : "farm_eggs",
"label" : "Eggs",
"weight" : 0,
"name_pattern" : "Collected [log:field-farm-egg-qty] egg(s)",
"name_edit" : "0",
"done" : "1",
"rdf_mapping" : []
}');
return $items;
}

View File

@ -1,146 +0,0 @@
<?php
/**
* @file
* farm_livestock_eggs.field_group.inc
*/
/**
* Implements hook_field_group_info().
*/
function farm_livestock_eggs_field_group_info() {
$field_groups = array();
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_assignment|log|farm_eggs|form';
$field_group->group_name = 'group_farm_assignment';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_eggs';
$field_group->mode = 'form';
$field_group->parent_name = 'group_farm_general';
$field_group->data = array(
'label' => 'Assignment',
'weight' => '0',
'children' => array(
0 => 'field_farm_log_owner',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Assignment',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-assignment field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_assignment|log|farm_eggs|form'] = $field_group;
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_category|log|farm_eggs|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_eggs';
$field_group->mode = 'form';
$field_group->parent_name = 'group_farm_general';
$field_group->data = array(
'label' => 'Category',
'weight' => '-1',
'children' => array(
0 => 'field_farm_log_category',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Category',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-category field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_category|log|farm_eggs|form'] = $field_group;
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_general|log|farm_eggs|form';
$field_group->group_name = 'group_farm_general';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_eggs';
$field_group->mode = 'form';
$field_group->parent_name = 'group_farm_tabs';
$field_group->data = array(
'label' => 'General',
'weight' => '1',
'children' => array(
0 => 'field_farm_animal_group',
1 => 'field_farm_egg_qty',
2 => 'field_farm_notes',
3 => 'timestamp',
4 => 'group_farm_category',
5 => 'group_farm_assignment',
),
'format_type' => 'field_group_easy_responsive_tabs_nav_item',
'format_settings' => array(
'label' => 'General',
'instance_settings' => array(
'required_fields' => 1,
'classes' => '',
),
'formatter' => '',
),
);
$field_groups['group_farm_general|log|farm_eggs|form'] = $field_group;
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_tabs|log|farm_eggs|form';
$field_group->group_name = 'group_farm_tabs';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_eggs';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Tabs',
'weight' => '0',
'children' => array(
0 => 'group_farm_general',
),
'format_type' => 'field_group_easy_responsive_tabs_nav',
'format_settings' => array(
'label' => 'Tabs',
'instance_settings' => array(
'type' => 'vertical',
'width' => 'auto',
'fit' => '1',
'closed' => '0',
'activetab_bg' => '',
'inactive_bg' => '',
'active_border_color' => '',
'active_content_border_color' => '',
'tabidentify' => '',
'required_fields' => 1,
'classes' => 'group-farm-tabs field-group-field_group_easy_responsive_tabs_nav',
),
),
);
$field_groups['group_farm_tabs|log|farm_eggs|form'] = $field_group;
// Translatables
// Included for use with string extractors like potx.
t('Assignment');
t('Category');
t('General');
t('Tabs');
return $field_groups;
}

View File

@ -1,35 +0,0 @@
name = Farm Livestock: Eggs
description = Feature for logging egg collection.
core = 7.x
package = farmOS
dependencies[] = ctools
dependencies[] = date
dependencies[] = entity
dependencies[] = entityreference
dependencies[] = farm_fields
dependencies[] = farm_livestock
dependencies[] = features
dependencies[] = field_group
dependencies[] = log
dependencies[] = number
dependencies[] = options
dependencies[] = taxonomy
dependencies[] = text
dependencies[] = views
dependencies[] = views_bulk_operations
dependencies[] = views_data_export
features[ctools][] = field_group:field_group:1
features[ctools][] = views:views_default:3.0
features[features_api][] = api:2
features[field_base][] = field_farm_egg_qty
features[field_group][] = group_farm_assignment|log|farm_eggs|form
features[field_group][] = group_farm_category|log|farm_eggs|form
features[field_group][] = group_farm_general|log|farm_eggs|form
features[field_group][] = group_farm_tabs|log|farm_eggs|form
features[field_instance][] = log-farm_eggs-field_farm_animal_group
features[field_instance][] = log-farm_eggs-field_farm_egg_qty
features[field_instance][] = log-farm_eggs-field_farm_log_category
features[field_instance][] = log-farm_eggs-field_farm_log_owner
features[field_instance][] = log-farm_eggs-field_farm_notes
features[log_type][] = farm_eggs
features[views_view][] = farm_log_eggs

View File

@ -1,65 +0,0 @@
<?php
/**
* @file
* Code for the Farm Livestock: Eggs feature.
*/
include_once 'farm_livestock_eggs.features.inc';
/**
* Implements hook_farm_ui_entities().
*/
function farm_livestock_eggs_farm_ui_entities() {
return array(
'log' => array(
'farm_eggs' => array(
'label' => t('Egg log'),
'label_plural' => t('Egg logs'),
'view' => 'farm_log_eggs',
'farm_asset' => 'none',
),
),
);
}
/**
* Implements hook_feeds_importer_default_alter().
*/
function farm_livestock_eggs_feeds_importer_default_alter(&$importers) {
// Add extra field mappings to eggs.
$name = 'log_farm_eggs';
if (!empty($importers[$name])) {
$mappings = array(
array(
'source' => 'Quantity',
'target' => 'field_farm_egg_qty',
'unique' => FALSE,
'language' => 'und',
),
array(
'source' => 'Group',
'target' => 'field_farm_animal_group',
'unique' => FALSE,
'language' => 'und',
),
);
$importer_mappings =& $importers[$name]->config['processor']['config']['mappings'];
$importer_mappings = array_merge($importer_mappings, $mappings);
}
}
/**
* Implements hook_feeds_tamper_default_alter().
*/
function farm_livestock_eggs_feeds_tamper_default_alter(&$feeds_tampers) {
// If farm_import is not installed, bail.
if (!module_exists('farm_import')) {
return;
}
// Explode group so it supports multiple values.
$feeds_tamper = farm_import_feeds_tamper_plugin('log', 'farm_eggs', 'Group', 'explode');
$feeds_tampers[$feeds_tamper->id] = $feeds_tamper;
}

View File

@ -1,425 +0,0 @@
<?php
/**
* @file
* farm_livestock_eggs.views_default.inc
*/
/**
* Implements hook_views_default_views().
*/
function farm_livestock_eggs_views_default_views() {
$export = array();
$view = new view();
$view->name = 'farm_log_eggs';
$view->description = '';
$view->tag = 'farm_log';
$view->base_table = 'log';
$view->human_name = 'Farm Log: Eggs';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Eggs';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'view any farm_eggs log entities';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button'] = TRUE;
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '50';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['quantity'] = '9';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'name_1' => 'name_1',
'field_farm_egg_qty' => 'field_farm_egg_qty',
'field_farm_animal_group' => 'field_farm_animal_group',
'field_farm_notes' => 'field_farm_notes',
'field_farm_log_category' => 'field_farm_log_category',
'field_farm_log_owner' => 'field_farm_log_owner',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
'views_bulk_operations' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'timestamp' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'name_1' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_egg_qty' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_animal_group' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_notes' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_owner' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
$handler->display->display_options['empty']['area_text_custom']['id'] = 'area_text_custom';
$handler->display->display_options['empty']['area_text_custom']['table'] = 'views';
$handler->display->display_options['empty']['area_text_custom']['field'] = 'area_text_custom';
$handler->display->display_options['empty']['area_text_custom']['empty'] = TRUE;
$handler->display->display_options['empty']['area_text_custom']['content'] = 'No egg logs found.';
/* Relationship: Entity Reference: Referenced Entity */
$handler->display->display_options['relationships']['field_farm_log_owner_target_id']['id'] = 'field_farm_log_owner_target_id';
$handler->display->display_options['relationships']['field_farm_log_owner_target_id']['table'] = 'field_data_field_farm_log_owner';
$handler->display->display_options['relationships']['field_farm_log_owner_target_id']['field'] = 'field_farm_log_owner_target_id';
$handler->display->display_options['relationships']['field_farm_log_owner_target_id']['label'] = 'Owner';
/* Field: Bulk operations: Log */
$handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['table'] = 'views_entity_log';
$handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '1';
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['row_clickable'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['force_single'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['entity_load_capacity'] = '10';
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['skip_batching'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_operations'] = array(
'action::farm_log_assign_action' => array(
'selected' => 1,
'postpone_processing' => 0,
'skip_confirmation' => 1,
'skip_permission_check' => 0,
'override_label' => 0,
'label' => '',
),
'action::log_clone_action' => array(
'selected' => 1,
'postpone_processing' => 0,
'skip_confirmation' => 1,
'skip_permission_check' => 0,
'override_label' => 0,
'label' => '',
),
'action::log_done_action' => array(
'selected' => 1,
'postpone_processing' => 0,
'skip_confirmation' => 1,
'skip_permission_check' => 0,
'override_label' => 1,
'label' => 'Done',
),
'action::log_undone_action' => array(
'selected' => 1,
'postpone_processing' => 0,
'skip_confirmation' => 1,
'skip_permission_check' => 0,
'override_label' => 1,
'label' => 'Not Done',
),
'action::log_reschedule_action' => array(
'selected' => 1,
'postpone_processing' => 0,
'skip_confirmation' => 1,
'skip_permission_check' => 0,
'override_label' => 0,
'label' => '',
),
);
/* Field: Log: Done */
$handler->display->display_options['fields']['done']['id'] = 'done';
$handler->display->display_options['fields']['done']['table'] = 'log';
$handler->display->display_options['fields']['done']['field'] = 'done';
$handler->display->display_options['fields']['done']['type'] = 'custom';
$handler->display->display_options['fields']['done']['type_custom_true'] = '✔';
$handler->display->display_options['fields']['done']['not'] = 0;
/* Field: Log: Log ID */
$handler->display->display_options['fields']['id']['id'] = 'id';
$handler->display->display_options['fields']['id']['table'] = 'log';
$handler->display->display_options['fields']['id']['field'] = 'id';
$handler->display->display_options['fields']['id']['separator'] = '';
/* Field: Log: Timestamp */
$handler->display->display_options['fields']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['table'] = 'log';
$handler->display->display_options['fields']['timestamp']['field'] = 'timestamp';
$handler->display->display_options['fields']['timestamp']['label'] = 'Date';
$handler->display->display_options['fields']['timestamp']['alter']['make_link'] = TRUE;
$handler->display->display_options['fields']['timestamp']['alter']['path'] = 'log/[id]';
$handler->display->display_options['fields']['timestamp']['date_format'] = 'custom';
$handler->display->display_options['fields']['timestamp']['custom_date_format'] = 'M j Y';
$handler->display->display_options['fields']['timestamp']['second_date_format'] = 'long';
/* Field: Log: Name */
$handler->display->display_options['fields']['name_1']['id'] = 'name_1';
$handler->display->display_options['fields']['name_1']['table'] = 'log';
$handler->display->display_options['fields']['name_1']['field'] = 'name';
$handler->display->display_options['fields']['name_1']['alter']['make_link'] = TRUE;
$handler->display->display_options['fields']['name_1']['alter']['path'] = 'log/[id]';
/* Field: Log: Quantity */
$handler->display->display_options['fields']['field_farm_egg_qty']['id'] = 'field_farm_egg_qty';
$handler->display->display_options['fields']['field_farm_egg_qty']['table'] = 'field_data_field_farm_egg_qty';
$handler->display->display_options['fields']['field_farm_egg_qty']['field'] = 'field_farm_egg_qty';
$handler->display->display_options['fields']['field_farm_egg_qty']['alter']['make_link'] = TRUE;
$handler->display->display_options['fields']['field_farm_egg_qty']['alter']['path'] = 'log/[id]';
$handler->display->display_options['fields']['field_farm_egg_qty']['settings'] = array(
'thousand_separator' => ' ',
'prefix_suffix' => 0,
);
/* Field: Field: Group */
$handler->display->display_options['fields']['field_farm_animal_group']['id'] = 'field_farm_animal_group';
$handler->display->display_options['fields']['field_farm_animal_group']['table'] = 'field_data_field_farm_animal_group';
$handler->display->display_options['fields']['field_farm_animal_group']['field'] = 'field_farm_animal_group';
$handler->display->display_options['fields']['field_farm_animal_group']['type'] = 'taxonomy_term_reference_plain';
/* Field: Log: Notes */
$handler->display->display_options['fields']['field_farm_notes']['id'] = 'field_farm_notes';
$handler->display->display_options['fields']['field_farm_notes']['table'] = 'field_data_field_farm_notes';
$handler->display->display_options['fields']['field_farm_notes']['field'] = 'field_farm_notes';
$handler->display->display_options['fields']['field_farm_notes']['alter']['trim_whitespace'] = TRUE;
$handler->display->display_options['fields']['field_farm_notes']['alter']['max_length'] = '140';
$handler->display->display_options['fields']['field_farm_notes']['alter']['strip_tags'] = TRUE;
$handler->display->display_options['fields']['field_farm_notes']['alter']['trim'] = TRUE;
/* Field: Log: Log category */
$handler->display->display_options['fields']['field_farm_log_category']['id'] = 'field_farm_log_category';
$handler->display->display_options['fields']['field_farm_log_category']['table'] = 'field_data_field_farm_log_category';
$handler->display->display_options['fields']['field_farm_log_category']['field'] = 'field_farm_log_category';
$handler->display->display_options['fields']['field_farm_log_category']['label'] = 'Categories';
$handler->display->display_options['fields']['field_farm_log_category']['type'] = 'taxonomy_term_reference_plain';
$handler->display->display_options['fields']['field_farm_log_category']['delta_offset'] = '0';
/* Field: Log: Assigned to */
$handler->display->display_options['fields']['field_farm_log_owner']['id'] = 'field_farm_log_owner';
$handler->display->display_options['fields']['field_farm_log_owner']['table'] = 'field_data_field_farm_log_owner';
$handler->display->display_options['fields']['field_farm_log_owner']['field'] = 'field_farm_log_owner';
$handler->display->display_options['fields']['field_farm_log_owner']['settings'] = array(
'bypass_access' => 0,
'link' => 0,
);
$handler->display->display_options['fields']['field_farm_log_owner']['delta_offset'] = '0';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
$handler->display->display_options['sorts']['timestamp']['field'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['order'] = 'DESC';
$handler->display->display_options['sorts']['timestamp']['exposed'] = TRUE;
$handler->display->display_options['sorts']['timestamp']['expose']['label'] = 'Date';
/* Sort criterion: Log: Log ID */
$handler->display->display_options['sorts']['id']['id'] = 'id';
$handler->display->display_options['sorts']['id']['table'] = 'log';
$handler->display->display_options['sorts']['id']['field'] = 'id';
$handler->display->display_options['sorts']['id']['order'] = 'DESC';
/* Sort criterion: User: Name */
$handler->display->display_options['sorts']['name']['id'] = 'name';
$handler->display->display_options['sorts']['name']['table'] = 'users';
$handler->display->display_options['sorts']['name']['field'] = 'name';
$handler->display->display_options['sorts']['name']['relationship'] = 'field_farm_log_owner_target_id';
$handler->display->display_options['sorts']['name']['exposed'] = TRUE;
$handler->display->display_options['sorts']['name']['expose']['label'] = 'Assigned to';
/* Filter criterion: Log: Log type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'log';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'farm_eggs' => 'farm_eggs',
);
$handler->display->display_options['filters']['type']['group'] = 1;
/* Filter criterion: User: Name */
$handler->display->display_options['filters']['uid']['id'] = 'uid';
$handler->display->display_options['filters']['uid']['table'] = 'users';
$handler->display->display_options['filters']['uid']['field'] = 'uid';
$handler->display->display_options['filters']['uid']['relationship'] = 'field_farm_log_owner_target_id';
$handler->display->display_options['filters']['uid']['value'] = '';
$handler->display->display_options['filters']['uid']['group'] = 1;
$handler->display->display_options['filters']['uid']['exposed'] = TRUE;
$handler->display->display_options['filters']['uid']['expose']['operator_id'] = 'uid_op';
$handler->display->display_options['filters']['uid']['expose']['label'] = 'Assigned to';
$handler->display->display_options['filters']['uid']['expose']['operator'] = 'uid_op';
$handler->display->display_options['filters']['uid']['expose']['identifier'] = 'uid';
/* Filter criterion: Log: Log category (field_farm_log_category) */
$handler->display->display_options['filters']['field_farm_log_category_tid']['id'] = 'field_farm_log_category_tid';
$handler->display->display_options['filters']['field_farm_log_category_tid']['table'] = 'field_data_field_farm_log_category';
$handler->display->display_options['filters']['field_farm_log_category_tid']['field'] = 'field_farm_log_category_tid';
$handler->display->display_options['filters']['field_farm_log_category_tid']['group'] = 1;
$handler->display->display_options['filters']['field_farm_log_category_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_farm_log_category_tid']['expose']['operator_id'] = 'field_farm_log_category_tid_op';
$handler->display->display_options['filters']['field_farm_log_category_tid']['expose']['label'] = 'Categories';
$handler->display->display_options['filters']['field_farm_log_category_tid']['expose']['operator'] = 'field_farm_log_category_tid_op';
$handler->display->display_options['filters']['field_farm_log_category_tid']['expose']['identifier'] = 'field_farm_log_category_tid';
$handler->display->display_options['filters']['field_farm_log_category_tid']['expose']['multiple'] = TRUE;
$handler->display->display_options['filters']['field_farm_log_category_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_farm_log_category_tid']['vocabulary'] = 'farm_log_categories';
$handler->display->display_options['filters']['field_farm_log_category_tid']['hierarchy'] = 1;
/* Filter criterion: Date: Date (log) */
$handler->display->display_options['filters']['date_filter']['id'] = 'date_filter';
$handler->display->display_options['filters']['date_filter']['table'] = 'log';
$handler->display->display_options['filters']['date_filter']['field'] = 'date_filter';
$handler->display->display_options['filters']['date_filter']['operator'] = '>=';
$handler->display->display_options['filters']['date_filter']['group'] = 1;
$handler->display->display_options['filters']['date_filter']['exposed'] = TRUE;
$handler->display->display_options['filters']['date_filter']['expose']['operator_id'] = 'date_filter_op';
$handler->display->display_options['filters']['date_filter']['expose']['label'] = 'Start date';
$handler->display->display_options['filters']['date_filter']['expose']['operator'] = 'date_filter_op';
$handler->display->display_options['filters']['date_filter']['expose']['identifier'] = 'date_filter';
$handler->display->display_options['filters']['date_filter']['year_range'] = '-10:+3';
$handler->display->display_options['filters']['date_filter']['date_fields'] = array(
'log.timestamp' => 'log.timestamp',
);
/* Filter criterion: Date: Date (log) */
$handler->display->display_options['filters']['date_filter_1']['id'] = 'date_filter_1';
$handler->display->display_options['filters']['date_filter_1']['table'] = 'log';
$handler->display->display_options['filters']['date_filter_1']['field'] = 'date_filter';
$handler->display->display_options['filters']['date_filter_1']['operator'] = '<=';
$handler->display->display_options['filters']['date_filter_1']['group'] = 1;
$handler->display->display_options['filters']['date_filter_1']['exposed'] = TRUE;
$handler->display->display_options['filters']['date_filter_1']['expose']['operator_id'] = 'date_filter_1_op';
$handler->display->display_options['filters']['date_filter_1']['expose']['label'] = 'End date';
$handler->display->display_options['filters']['date_filter_1']['expose']['operator'] = 'date_filter_1_op';
$handler->display->display_options['filters']['date_filter_1']['expose']['identifier'] = 'date_filter_1';
$handler->display->display_options['filters']['date_filter_1']['year_range'] = '-10:+3';
$handler->display->display_options['filters']['date_filter_1']['date_fields'] = array(
'log.timestamp' => 'log.timestamp',
);
/* Filter criterion: Field: Group (field_farm_animal_group) */
$handler->display->display_options['filters']['field_farm_animal_group_tid']['id'] = 'field_farm_animal_group_tid';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['table'] = 'field_data_field_farm_animal_group';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['field'] = 'field_farm_animal_group_tid';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['value'] = '';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['group'] = 1;
$handler->display->display_options['filters']['field_farm_animal_group_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_farm_animal_group_tid']['expose']['operator_id'] = 'field_farm_animal_group_tid_op';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['expose']['label'] = 'Group';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['expose']['operator'] = 'field_farm_animal_group_tid_op';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['expose']['identifier'] = 'field_farm_animal_group_tid';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['vocabulary'] = 'farm_animal_groups';
$handler->display->display_options['filters']['field_farm_animal_group_tid']['hierarchy'] = 1;
/* Filter criterion: Log: Done */
$handler->display->display_options['filters']['done']['id'] = 'done';
$handler->display->display_options['filters']['done']['table'] = 'log';
$handler->display->display_options['filters']['done']['field'] = 'done';
$handler->display->display_options['filters']['done']['value'] = 'All';
$handler->display->display_options['filters']['done']['group'] = 1;
$handler->display->display_options['filters']['done']['exposed'] = TRUE;
$handler->display->display_options['filters']['done']['expose']['operator_id'] = '';
$handler->display->display_options['filters']['done']['expose']['label'] = 'Done';
$handler->display->display_options['filters']['done']['expose']['operator'] = 'done_op';
$handler->display->display_options['filters']['done']['expose']['identifier'] = 'done';
/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'farm/logs/eggs';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'Eggs';
$handler->display->display_options['menu']['weight'] = '';
$handler->display->display_options['menu']['name'] = 'farm';
$handler->display->display_options['menu']['context'] = 0;
$handler->display->display_options['menu']['context_only_inline'] = 0;
/* Display: Data export */
$handler = $view->new_display('views_data_export', 'Data export', 'views_data_export_1');
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'views_data_export_csv';
$handler->display->display_options['style_options']['provide_file'] = 1;
$handler->display->display_options['style_options']['filename'] = '%view-%exposed-%timestamp-full.csv';
$handler->display->display_options['style_options']['parent_sort'] = 1;
$handler->display->display_options['style_options']['quote'] = 1;
$handler->display->display_options['style_options']['trim'] = 1;
$handler->display->display_options['style_options']['replace_newlines'] = 0;
$handler->display->display_options['style_options']['newline_token'] = '1';
$handler->display->display_options['style_options']['header'] = 1;
$handler->display->display_options['style_options']['keep_html'] = 0;
$handler->display->display_options['path'] = 'farm/logs/eggs/csv';
$handler->display->display_options['displays'] = array(
'page' => 'page',
'default' => 0,
);
$translatables['farm_log_eggs'] = array(
t('Master'),
t('Eggs'),
t('more'),
t('Apply'),
t('Reset'),
t('Sort by'),
t('Asc'),
t('Desc'),
t('Items per page'),
t('- All -'),
t('Offset'),
t('« first'),
t(' previous'),
t('next '),
t('last »'),
t('No egg logs found.'),
t('Owner'),
t('Log'),
t('- Choose an operation -'),
t('Done'),
t('Not Done'),
t('✔'),
t('Log ID'),
t('.'),
t('Date'),
t('Name'),
t('Quantity'),
t('Group'),
t('Notes'),
t('Categories'),
t('Assigned to'),
t('Start date'),
t('End date'),
t('Page'),
t('Data export'),
);
$export['farm_log_eggs'] = $view;
return $export;
}