Issue #2876952: Log categorization

This commit is contained in:
Michael Stenta 2017-05-31 09:53:31 -04:00
commit ea30bfbb6d
37 changed files with 797 additions and 315 deletions

View File

@ -301,3 +301,12 @@ function farm_crop_farm_log_allowed_asset_reference_type($log_type) {
return 'planting';
}
}
/**
* Implements hook_farm_log_categories().
*/
function farm_crop_farm_log_categories() {
// Provide an "Plantings" log category.
return array('Plantings');
}

View File

@ -200,3 +200,12 @@ function farm_equipment_farm_log_allowed_asset_reference_type($log_type) {
return 'equipment';
}
}
/**
* Implements hook_farm_log_categories().
*/
function farm_equipment_farm_log_categories() {
// Provide an "Equipment" log category.
return array('Equipment');
}

View File

@ -167,6 +167,32 @@ function farm_fields_field_default_field_bases() {
'type' => 'image',
);
// Exported field_base: 'field_farm_log_category'.
$field_bases['field_farm_log_category'] = array(
'active' => 1,
'cardinality' => -1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_log_category',
'indexes' => array(
'tid' => array(
0 => 'tid',
),
),
'locked' => 0,
'module' => 'taxonomy',
'settings' => array(
'allowed_values' => array(
0 => array(
'vocabulary' => 'farm_log_categories',
'parent' => 0,
),
),
),
'translatable' => 0,
'type' => 'taxonomy_term_reference',
);
// Exported field_base: 'field_farm_notes'.
$field_bases['field_farm_notes'] = array(
'active' => 1,

View File

@ -5,11 +5,13 @@ package = farmOS
dependencies[] = date
dependencies[] = entityreference
dependencies[] = farm_asset
dependencies[] = farm_taxonomy
dependencies[] = features
dependencies[] = file
dependencies[] = filter
dependencies[] = image
dependencies[] = log
dependencies[] = taxonomy
dependencies[] = text
features[features_api][] = api:2
features[field_base][] = field_farm_asset
@ -18,5 +20,6 @@ features[field_base][] = field_farm_date_range
features[field_base][] = field_farm_description
features[field_base][] = field_farm_files
features[field_base][] = field_farm_images
features[field_base][] = field_farm_log_category
features[field_base][] = field_farm_notes
features[filter][] = farm_format

View File

@ -291,3 +291,12 @@ function farm_livestock_farm_log_allowed_asset_reference_type($log_type) {
return 'animal';
}
}
/**
* Implements hook_farm_log_categories().
*/
function farm_livestock_farm_log_categories() {
// Provide an "Animals" log category.
return array('Animals');
}

View File

@ -21,6 +21,22 @@
* Hooks that can be implemented by other modules in order to extend farm_log.
*/
/**
* Provide a list of log categories that should be created when the module
* is installed. Note that these will be passed through the t() function when
* they are created so that they can be translated. This does mean that they
* will only be translated once, to whatever the site's default language is.
*
* @return array
* Returns an array of log categories (as simple strings).
*/
function hook_farm_log_categories() {
return array(
'My module category',
'My other category',
);
}
/**
* Specify what asset types can be referenced by field_farm_asset on a given
* log type.

View File

@ -5,6 +5,15 @@
* Farm Log install file.
*/
/**
* Implements hook_modules_enabled().
*/
function farm_log_modules_enabled($modules) {
// Create log categories on behalf of all enabled modules.
farm_log_categories_create_all();
}
/**
* Implements hook_update_dependencies().
*/
@ -337,3 +346,56 @@ function farm_log_update_7006(&$sandbox) {
features_revert(array($module => array('field_instance')));
}
}
/**
* Migrate observation types to log categories.
*/
function farm_log_update_7007(&$sandbox) {
// Revert various Features components to ensure that the new log categories
// vocabulary is created, and the new field base and instances are added.
$components = array(
'farm_taxonomy' => array('taxonomy'),
'farm_fields' => array('field_base'),
'farm_log_activity' => array('field_instance'),
'farm_log_harvest' => array('field_instance'),
'farm_log_input' => array('field_instance'),
'farm_log_observation' => array('field_instance'),
);
features_revert($components);
// Load the old "Farm Observation Types" vocabulary.
$observation_types_vocab = taxonomy_vocabulary_machine_name_load('farm_observation_types');
// Load the new "Farm Log Categories" vocabulary.
$log_categories_vocab = taxonomy_vocabulary_machine_name_load('farm_log_categories');
// If either of them didn't load, we need to bail.
if (empty($observation_types_vocab->vid) || empty($log_categories_vocab->vid)) {
$message = 'Terms could not be migrated from the Farm Observation Types
vocabulary to the Farm Log Categories vocabulary because one or both of
them could not be loaded. Check to make sure both vocabularies exist, and
try running the update again.';
throw new DrupalUpdateException($message);
}
// Move all terms from the old vocabulary to the new vocabulary.
db_update('taxonomy_term_data')
->fields(array('vid' => $log_categories_vocab->vid))
->condition('vid', $observation_types_vocab->vid)
->execute();
// Move all field data from the old field to the new field.
db_query('INSERT INTO {field_data_field_farm_log_category} (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_farm_observation_type_tid as field_farm_log_category_tid FROM {field_data_field_farm_observation_type})');
db_query('INSERT INTO {field_revision_field_farm_log_category} (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_farm_observation_type_tid as field_farm_log_category_tid FROM {field_revision_field_farm_observation_type})');
// Delete the old vocabulary.
taxonomy_vocabulary_delete($observation_types_vocab->vid);
// Delete the old field instance.
$field = field_info_instance('log', 'field_farm_observation_type', 'farm_observation');
field_delete_instance($field);
// Create log categories on behalf of all enabled modules.
farm_log_categories_create_all();
}

View File

@ -154,6 +154,71 @@ function farm_log_entity_presave($entity, $type) {
}
}
/**
* Helper function for creating log categories. Terms will only be added if
* they don't already exist.
*
* @param array $categories
* An array of strings that will be added as terms to the Farm Log Categories
* vocabulary.
*/
function farm_log_categories_create($categories) {
// If the categories is not an array, bail.
if (!is_array($categories)) {
return;
}
// Define the vocabulary machine name.
$vocabulary_machine_name = 'farm_log_categories';
// Load the vocabulary.
$vocabulary = taxonomy_vocabulary_machine_name_load($vocabulary_machine_name);
// If the vocabulary doesn't exist, bail.
if (empty($vocabulary->vid)) {
return;
}
// Iterate through the categories.
foreach ($categories as $category) {
// First, check to see if the term already exists. If it does, skip it.
$terms = taxonomy_get_term_by_name($category, $vocabulary_machine_name);
if (!empty($terms)) {
continue;
}
// Translate the category name.
$term_name = t($category);
// Create the new term.
$term = new stdClass();
$term->name = $term_name;
$term->vid = $vocabulary->vid;
taxonomy_term_save($term);
}
// Always reset the categories to alphabetical order.
/**
* @see taxonomy_vocabulary_confirm_reset_alphabetical_submit()
*/
db_update('taxonomy_term_data')
->fields(array('weight' => 0))
->condition('vid', $vocabulary->vid)
->execute();
}
/**
* Create log categories on behalf of all modules that provide them.
*/
function farm_log_categories_create_all() {
$categories = module_invoke_all('farm_log_categories');
if (!empty($categories)) {
farm_log_categories_create($categories);
}
}
/**
* Helper function for populating a log's geometry from an area reference field.
*

View File

@ -263,13 +263,14 @@ function farm_log_views_default_views() {
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'id' => 'id',
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'type' => 'type',
'name' => 'name',
'field_farm_asset' => 'field_farm_asset',
'field_farm_area' => 'field_farm_area',
'type' => 'type',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -278,13 +279,6 @@ function farm_log_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
@ -292,14 +286,14 @@ function farm_log_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'timestamp' => array(
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'type' => array(
'timestamp' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
@ -323,6 +317,18 @@ function farm_log_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'type' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
@ -414,6 +420,13 @@ function farm_log_views_default_views() {
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'log';
$handler->display->display_options['fields']['type']['field'] = 'type';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -462,6 +475,20 @@ function farm_log_views_default_views() {
$handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
$handler->display->display_options['filters']['type']['expose']['multiple'] = TRUE;
/* 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'] = 'Category';
$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: Log: Name */
$handler->display->display_options['filters']['name']['id'] = 'name';
$handler->display->display_options['filters']['name']['table'] = 'log';

View File

@ -22,7 +22,7 @@ function farm_log_activity_field_default_field_instances() {
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_link',
'weight' => 2,
'weight' => 1,
),
),
'entity_type' => 'log',
@ -79,7 +79,7 @@ function farm_log_activity_field_default_field_instances() {
'view_mode' => 'full',
),
'type' => 'entityreference_view_widget',
'weight' => 3,
'weight' => 9,
),
);
@ -95,7 +95,7 @@ function farm_log_activity_field_default_field_instances() {
'module' => 'file',
'settings' => array(),
'type' => 'file_table',
'weight' => 4,
'weight' => 5,
),
),
'entity_type' => 'log',
@ -135,7 +135,7 @@ function farm_log_activity_field_default_field_instances() {
'map_layer_preset' => 'farm_map_geofield_formatter:openlayers_geofield_layer_formatter',
),
'type' => 'openlayers_geofield',
'weight' => 5,
'weight' => 6,
),
),
'entity_type' => 'log',
@ -201,7 +201,7 @@ function farm_log_activity_field_default_field_instances() {
'colorbox_node_style_first' => 'large',
),
'type' => 'colorbox',
'weight' => 3,
'weight' => 4,
),
),
'entity_type' => 'log',
@ -231,6 +231,37 @@ function farm_log_activity_field_default_field_instances() {
),
);
// Exported field_instance: 'log-farm_activity-field_farm_log_category'.
$field_instances['log-farm_activity-field_farm_log_category'] = array(
'bundle' => 'farm_activity',
'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' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 3,
),
),
'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' => -8,
),
);
// Exported field_instance: 'log-farm_activity-field_farm_movement'.
$field_instances['log-farm_activity-field_farm_movement'] = array(
'bundle' => 'farm_activity',
@ -276,7 +307,7 @@ function farm_log_activity_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 1,
'weight' => 2,
),
),
'entity_type' => 'log',
@ -304,11 +335,13 @@ function farm_log_activity_field_default_field_instances() {
t('Assets');
t('Files');
t('Geometry');
t('Log category');
t('Movement');
t('Notes');
t('Photo(s)');
t('This field is optional. It allows you to store geospatial data along with this activity.');
t('Use these fields to record a movement with this log entry. This will be used to define the location of any referenced assets. The current location of any asset is determined by the most recently completed movement log. Only the "to" field is required.');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What areas did this activity take place in?');
t('What assets do this activity log pertain to?');

View File

@ -68,6 +68,35 @@ function farm_log_activity_field_group_info() {
);
$field_groups['group_farm_assets|log|farm_activity|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_activity|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_activity';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Category',
'weight' => '6',
'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_activity|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;
@ -79,10 +108,10 @@ function farm_log_activity_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'File attachments',
'weight' => '6',
'weight' => '7',
'children' => array(
0 => 'field_farm_images',
1 => 'field_farm_files',
0 => 'field_farm_files',
1 => 'field_farm_images',
),
'format_type' => 'fieldset',
'format_settings' => array(
@ -160,6 +189,7 @@ function farm_log_activity_field_group_info() {
// Included for use with string extractors like potx.
t('Areas');
t('Assets');
t('Category');
t('File attachments');
t('General information');
t('Notes');

View File

@ -36,6 +36,7 @@ features[ctools][] = views:views_default:3.0
features[features_api][] = api:2
features[field_group][] = group_farm_areas|log|farm_activity|form
features[field_group][] = group_farm_assets|log|farm_activity|form
features[field_group][] = group_farm_category|log|farm_activity|form
features[field_group][] = group_farm_files|log|farm_activity|form
features[field_group][] = group_farm_general|log|farm_activity|form
features[field_group][] = group_farm_notes|log|farm_activity|form
@ -44,6 +45,7 @@ features[field_instance][] = log-farm_activity-field_farm_asset
features[field_instance][] = log-farm_activity-field_farm_files
features[field_instance][] = log-farm_activity-field_farm_geofield
features[field_instance][] = log-farm_activity-field_farm_images
features[field_instance][] = log-farm_activity-field_farm_log_category
features[field_instance][] = log-farm_activity-field_farm_movement
features[field_instance][] = log-farm_activity-field_farm_notes
features[log_type][] = farm_activity

View File

@ -38,12 +38,13 @@ function farm_log_activity_views_default_views() {
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'id' => 'id',
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'name' => 'name',
'field_farm_asset' => 'field_farm_asset',
'field_farm_area' => 'field_farm_area',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -52,14 +53,14 @@ function farm_log_activity_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
@ -90,6 +91,11 @@ function farm_log_activity_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
@ -177,6 +183,13 @@ function farm_log_activity_views_default_views() {
$handler->display->display_options['fields']['field_farm_area']['id'] = 'field_farm_area';
$handler->display->display_options['fields']['field_farm_area']['table'] = 'field_data_field_farm_area';
$handler->display->display_options['fields']['field_farm_area']['field'] = 'field_farm_area';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -224,6 +237,20 @@ function farm_log_activity_views_default_views() {
'farm_activity' => 'farm_activity',
);
$handler->display->display_options['filters']['type']['group'] = 1;
/* 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'] = 'Category';
$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: Log: Name */
$handler->display->display_options['filters']['name']['id'] = 'name';
$handler->display->display_options['filters']['name']['table'] = 'log';
@ -240,6 +267,7 @@ function farm_log_activity_views_default_views() {
$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';
@ -254,6 +282,7 @@ function farm_log_activity_views_default_views() {
$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';
@ -268,6 +297,7 @@ function farm_log_activity_views_default_views() {
$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';

View File

@ -69,7 +69,7 @@ function farm_log_harvest_field_default_field_instances() {
'module' => 'file',
'settings' => array(),
'type' => 'file_table',
'weight' => 4,
'weight' => 5,
),
'token' => array(
'label' => 'above',
@ -115,7 +115,7 @@ function farm_log_harvest_field_default_field_instances() {
'map_layer_preset' => 'farm_map_geofield_formatter:openlayers_geofield_layer_formatter',
),
'type' => 'openlayers_geofield',
'weight' => 5,
'weight' => 6,
),
'token' => array(
'label' => 'above',
@ -162,7 +162,7 @@ function farm_log_harvest_field_default_field_instances() {
'use_geocoder' => 1,
),
'type' => 'openlayers_geofield',
'weight' => 4,
'weight' => 3,
),
);
@ -187,7 +187,7 @@ function farm_log_harvest_field_default_field_instances() {
'colorbox_node_style_first' => 'large',
),
'type' => 'colorbox',
'weight' => 3,
'weight' => 4,
),
'token' => array(
'label' => 'above',
@ -223,6 +223,37 @@ function farm_log_harvest_field_default_field_instances() {
),
);
// Exported field_instance: 'log-farm_harvest-field_farm_log_category'.
$field_instances['log-farm_harvest-field_farm_log_category'] = array(
'bundle' => 'farm_harvest',
'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' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 3,
),
),
'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_harvest-field_farm_movement'.
$field_instances['log-farm_harvest-field_farm_movement'] = array(
'bundle' => 'farm_harvest',
@ -252,7 +283,7 @@ function farm_log_harvest_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 5,
'weight' => 4,
),
);
@ -331,7 +362,7 @@ function farm_log_harvest_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 3,
'weight' => 2,
),
);
@ -341,12 +372,14 @@ function farm_log_harvest_field_default_field_instances() {
t('Describe the quantity of this harvest, using a value and a unit of measurement. For example, if you harvested 100 pounds of potatoes, enter "100" in the Value field, and "lbs" in the Units field. As you type the unit, you will have the option of selecting from units that you\'ve entered in the past.');
t('Files');
t('Geometry');
t('Log category');
t('Movement');
t('Notes');
t('Photo(s)');
t('Quantity');
t('This field is optional. It allows you to store geospatial data along with this harvest.');
t('Use these fields to record a movement with this log entry. This will be used to define the location of any referenced assets. The current location of any asset is determined by the most recently completed movement log. Only the "to" field is required.');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What assets do this harvest log pertain to?');
return $field_instances;

View File

@ -39,6 +39,35 @@ function farm_log_harvest_field_group_info() {
);
$field_groups['group_farm_assets|log|farm_harvest|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_harvest|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_harvest';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Category',
'weight' => '6',
'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_harvest|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;
@ -50,7 +79,7 @@ function farm_log_harvest_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'File attachments',
'weight' => '7',
'weight' => '8',
'children' => array(
0 => 'field_farm_files',
1 => 'field_farm_images',
@ -109,7 +138,7 @@ function farm_log_harvest_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Notes',
'weight' => '6',
'weight' => '5',
'children' => array(
0 => 'field_farm_notes',
),
@ -130,6 +159,7 @@ function farm_log_harvest_field_group_info() {
// Translatables
// Included for use with string extractors like potx.
t('Assets');
t('Category');
t('File attachments');
t('General information');
t('Notes');

View File

@ -26,6 +26,8 @@ dependencies[] = log
dependencies[] = multiupload_filefield_widget
dependencies[] = multiupload_imagefield_widget
dependencies[] = openlayers_geofield
dependencies[] = options
dependencies[] = taxonomy
dependencies[] = text
dependencies[] = views
dependencies[] = views_data_export
@ -33,6 +35,7 @@ features[ctools][] = field_group:field_group:1
features[ctools][] = views:views_default:3.0
features[features_api][] = api:2
features[field_group][] = group_farm_assets|log|farm_harvest|form
features[field_group][] = group_farm_category|log|farm_harvest|form
features[field_group][] = group_farm_files|log|farm_harvest|form
features[field_group][] = group_farm_general|log|farm_harvest|form
features[field_group][] = group_farm_notes|log|farm_harvest|form
@ -40,6 +43,7 @@ features[field_instance][] = log-farm_harvest-field_farm_asset
features[field_instance][] = log-farm_harvest-field_farm_files
features[field_instance][] = log-farm_harvest-field_farm_geofield
features[field_instance][] = log-farm_harvest-field_farm_images
features[field_instance][] = log-farm_harvest-field_farm_log_category
features[field_instance][] = log-farm_harvest-field_farm_movement
features[field_instance][] = log-farm_harvest-field_farm_notes
features[field_instance][] = log-farm_harvest-field_farm_quantity

View File

@ -38,11 +38,14 @@ function farm_log_harvest_views_default_views() {
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'id' => 'id',
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'name' => 'name',
'field_farm_quantity' => 'field_farm_quantity',
'field_farm_quantity_value' => 'field_farm_quantity_value',
'field_farm_quantity_units' => 'field_farm_quantity_units',
'field_farm_asset' => 'field_farm_asset',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -51,14 +54,14 @@ function farm_log_harvest_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
@ -79,13 +82,30 @@ function farm_log_harvest_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_quantity' => array(
'field_farm_quantity_value' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_quantity_units' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_asset' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
@ -94,7 +114,7 @@ function farm_log_harvest_views_default_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 harvests found.';
/* Relationship: Field: Quantity (field_farm_quantity) */
/* Relationship: Log: Quantity (field_farm_quantity) */
$handler->display->display_options['relationships']['field_farm_quantity_value']['id'] = 'field_farm_quantity_value';
$handler->display->display_options['relationships']['field_farm_quantity_value']['table'] = 'field_data_field_farm_quantity';
$handler->display->display_options['relationships']['field_farm_quantity_value']['field'] = 'field_farm_quantity_value';
@ -191,6 +211,13 @@ function farm_log_harvest_views_default_views() {
'link' => 1,
);
$handler->display->display_options['fields']['field_farm_asset']['delta_offset'] = '0';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -223,11 +250,26 @@ function farm_log_harvest_views_default_views() {
'farm_harvest' => 'farm_harvest',
);
$handler->display->display_options['filters']['type']['group'] = 1;
/* 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'] = 'Category';
$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';
@ -242,6 +284,7 @@ function farm_log_harvest_views_default_views() {
$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';
@ -256,6 +299,7 @@ function farm_log_harvest_views_default_views() {
$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';

View File

@ -22,7 +22,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_link',
'weight' => 2,
'weight' => 3,
),
'token' => array(
'label' => 'above',
@ -61,7 +61,7 @@ function farm_log_input_field_default_field_instances() {
'link' => 1,
),
'type' => 'entityreference_label',
'weight' => 3,
'weight' => 2,
),
'token' => array(
'label' => 'above',
@ -199,7 +199,7 @@ function farm_log_input_field_default_field_instances() {
'use_geocoder' => 1,
),
'type' => 'openlayers_geofield',
'weight' => 5,
'weight' => 4,
),
);
@ -272,7 +272,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 7,
'weight' => 6,
),
'token' => array(
'label' => 'above',
@ -312,7 +312,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 5,
'weight' => 4,
),
'token' => array(
'label' => 'above',
@ -352,7 +352,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 6,
'weight' => 5,
),
'token' => array(
'label' => 'above',
@ -380,6 +380,37 @@ function farm_log_input_field_default_field_instances() {
),
);
// Exported field_instance: 'log-farm_input-field_farm_log_category'.
$field_instances['log-farm_input-field_farm_log_category'] = array(
'bundle' => 'farm_input',
'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' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 8,
),
),
'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' => 8,
),
);
// Exported field_instance: 'log-farm_input-field_farm_material'.
$field_instances['log-farm_input-field_farm_material'] = array(
'bundle' => 'farm_input',
@ -434,7 +465,7 @@ function farm_log_input_field_default_field_instances() {
'view_mode' => 'full',
),
'type' => 'field_collection_fields',
'weight' => 13,
'weight' => 12,
),
),
'entity_type' => 'log',
@ -449,7 +480,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 6,
'weight' => 5,
),
);
@ -465,7 +496,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 8,
'weight' => 7,
),
'token' => array(
'label' => 'above',
@ -528,7 +559,7 @@ function farm_log_input_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 4,
'weight' => 3,
),
);
@ -541,6 +572,7 @@ function farm_log_input_field_default_field_instances() {
t('Files');
t('Geometry');
t('How was this input applied?');
t('Log category');
t('Material');
t('Movement');
t('Notes');
@ -550,6 +582,7 @@ function farm_log_input_field_default_field_instances() {
t('Source/Manufacturer');
t('This field is optional. It allows you to store geospatial data along with this input.');
t('Use these fields to record a movement with this log entry. This will be used to define the location of any referenced assets. The current location of any asset is determined by the most recently completed movement log. Only the "to" field is required.');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What areas is this input being applied to?');
t('What assets do this input log pertain to?');
t('What material is being applied? As you type, you will have the option of selecting from materials that you\'ve entered in the past.');

View File

@ -68,6 +68,35 @@ function farm_log_input_field_group_info() {
);
$field_groups['group_farm_assets|log|farm_input|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_input|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_input';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Category',
'weight' => '7',
'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_input|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;
@ -79,7 +108,7 @@ function farm_log_input_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'File attachments',
'weight' => '8',
'weight' => '9',
'children' => array(
0 => 'field_farm_files',
1 => 'field_farm_images',
@ -142,7 +171,7 @@ function farm_log_input_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Notes',
'weight' => '7',
'weight' => '6',
'children' => array(
0 => 'field_farm_notes',
),
@ -164,6 +193,7 @@ function farm_log_input_field_group_info() {
// Included for use with string extractors like potx.
t('Areas');
t('Assets');
t('Category');
t('File attachments');
t('General information');
t('Notes');

View File

@ -42,6 +42,7 @@ features[field_base][] = field_farm_input_source
features[field_base][] = field_farm_material
features[field_group][] = group_farm_areas|log|farm_input|form
features[field_group][] = group_farm_assets|log|farm_input|form
features[field_group][] = group_farm_category|log|farm_input|form
features[field_group][] = group_farm_files|log|farm_input|form
features[field_group][] = group_farm_general|log|farm_input|form
features[field_group][] = group_farm_notes|log|farm_input|form
@ -53,6 +54,7 @@ features[field_instance][] = log-farm_input-field_farm_images
features[field_instance][] = log-farm_input-field_farm_input_method
features[field_instance][] = log-farm_input-field_farm_input_purpose
features[field_instance][] = log-farm_input-field_farm_input_source
features[field_instance][] = log-farm_input-field_farm_log_category
features[field_instance][] = log-farm_input-field_farm_material
features[field_instance][] = log-farm_input-field_farm_movement
features[field_instance][] = log-farm_input-field_farm_notes

View File

@ -38,11 +38,15 @@ function farm_log_input_views_default_views() {
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'id' => 'id',
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'name' => 'name',
'field_farm_quantity' => 'field_farm_quantity',
'field_farm_quantity_value' => 'field_farm_quantity_value',
'field_farm_quantity_units' => 'field_farm_quantity_units',
'field_farm_asset' => 'field_farm_asset',
'field_farm_area' => 'field_farm_area',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -51,14 +55,14 @@ function farm_log_input_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
@ -79,13 +83,35 @@ function farm_log_input_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_quantity' => array(
'field_farm_quantity_value' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_quantity_units' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_asset' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_area' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
@ -94,7 +120,7 @@ function farm_log_input_views_default_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 inputs found.';
/* Relationship: Field: Quantity (field_farm_quantity) */
/* Relationship: Log: Quantity (field_farm_quantity) */
$handler->display->display_options['relationships']['field_farm_quantity_value']['id'] = 'field_farm_quantity_value';
$handler->display->display_options['relationships']['field_farm_quantity_value']['table'] = 'field_data_field_farm_quantity';
$handler->display->display_options['relationships']['field_farm_quantity_value']['field'] = 'field_farm_quantity_value';
@ -197,6 +223,13 @@ function farm_log_input_views_default_views() {
$handler->display->display_options['fields']['field_farm_area']['table'] = 'field_data_field_farm_area';
$handler->display->display_options['fields']['field_farm_area']['field'] = 'field_farm_area';
$handler->display->display_options['fields']['field_farm_area']['delta_offset'] = '0';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -244,11 +277,26 @@ function farm_log_input_views_default_views() {
'farm_input' => 'farm_input',
);
$handler->display->display_options['filters']['type']['group'] = 1;
/* 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'] = 'Category';
$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';
@ -263,6 +311,7 @@ function farm_log_input_views_default_views() {
$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';
@ -277,6 +326,7 @@ function farm_log_input_views_default_views() {
$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';

View File

@ -414,10 +414,11 @@ function farm_log_movement_views_default_views() {
'done' => 'done',
'id' => 'id',
'timestamp' => 'timestamp',
'field_farm_asset' => 'field_farm_asset',
'field_farm_move_to' => 'field_farm_move_to',
'name' => 'name',
'field_farm_asset' => 'field_farm_asset',
'type' => 'type',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -447,6 +448,11 @@ function farm_log_movement_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_asset' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_move_to' => array(
'align' => '',
'separator' => '',
@ -459,14 +465,14 @@ function farm_log_movement_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_asset' => array(
'type' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'type' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
@ -576,6 +582,13 @@ function farm_log_movement_views_default_views() {
$handler->display->display_options['fields']['type']['id'] = 'type';
$handler->display->display_options['fields']['type']['table'] = 'log';
$handler->display->display_options['fields']['type']['field'] = 'type';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -623,6 +636,20 @@ function farm_log_movement_views_default_views() {
$handler->display->display_options['filters']['type']['expose']['label'] = 'Log type';
$handler->display->display_options['filters']['type']['expose']['operator'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['identifier'] = 'type';
/* 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'] = 'Category';
$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';

View File

@ -1,40 +0,0 @@
<?php
/**
* @file
* farm_log_observation.features.field_base.inc
*/
/**
* Implements hook_field_default_field_bases().
*/
function farm_log_observation_field_default_field_bases() {
$field_bases = array();
// Exported field_base: 'field_farm_observation_type'.
$field_bases['field_farm_observation_type'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_observation_type',
'indexes' => array(
'tid' => array(
0 => 'tid',
),
),
'locked' => 0,
'module' => 'taxonomy',
'settings' => array(
'allowed_values' => array(
0 => array(
'vocabulary' => 'farm_observation_types',
'parent' => 0,
),
),
),
'translatable' => 0,
'type' => 'taxonomy_term_reference',
);
return $field_bases;
}

View File

@ -22,7 +22,7 @@ function farm_log_observation_field_default_field_instances() {
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_link',
'weight' => 4,
'weight' => 1,
),
),
'entity_type' => 'log',
@ -56,7 +56,7 @@ function farm_log_observation_field_default_field_instances() {
'link' => 1,
),
'type' => 'entityreference_label',
'weight' => 3,
'weight' => 0,
),
),
'entity_type' => 'log',
@ -176,7 +176,7 @@ function farm_log_observation_field_default_field_instances() {
'use_geocoder' => 1,
),
'type' => 'openlayers_geofield',
'weight' => 5,
'weight' => 4,
),
);
@ -231,6 +231,37 @@ function farm_log_observation_field_default_field_instances() {
),
);
// Exported field_instance: 'log-farm_observation-field_farm_log_category'.
$field_instances['log-farm_observation-field_farm_log_category'] = array(
'bundle' => 'farm_observation',
'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' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 4,
),
),
'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' => 9,
),
);
// Exported field_instance: 'log-farm_observation-field_farm_movement'.
$field_instances['log-farm_observation-field_farm_movement'] = array(
'bundle' => 'farm_observation',
@ -245,7 +276,7 @@ function farm_log_observation_field_default_field_instances() {
'view_mode' => 'full',
),
'type' => 'field_collection_fields',
'weight' => 9,
'weight' => 8,
),
),
'entity_type' => 'log',
@ -260,7 +291,7 @@ function farm_log_observation_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 6,
'weight' => 5,
),
);
@ -276,7 +307,7 @@ function farm_log_observation_field_default_field_instances() {
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 1,
'weight' => 3,
),
),
'entity_type' => 'log',
@ -298,38 +329,6 @@ function farm_log_observation_field_default_field_instances() {
),
);
// Exported field_instance:
// 'log-farm_observation-field_farm_observation_type'.
$field_instances['log-farm_observation-field_farm_observation_type'] = array(
'bundle' => 'farm_observation',
'default_value' => NULL,
'deleted' => 0,
'description' => 'What type of observation is this? Use this to organize your observations into categories for easy viewing later. Some default types are provided, and new observation types can be added to the ' . l('Observation Types', 'admin/structure/taxonomy/farm_observation_types') . ' vocabulary.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'taxonomy',
'settings' => array(),
'type' => 'taxonomy_term_reference_plain',
'weight' => 0,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_observation_type',
'label' => 'Type',
'required' => 1,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => 3,
),
);
// Exported field_instance: 'log-farm_observation-field_farm_quantity'.
$field_instances['log-farm_observation-field_farm_quantity'] = array(
'bundle' => 'farm_observation',
@ -359,7 +358,7 @@ function farm_log_observation_field_default_field_instances() {
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 4,
'weight' => 3,
),
);
@ -369,17 +368,17 @@ function farm_log_observation_field_default_field_instances() {
t('Assets');
t('Files');
t('Geometry');
t('Log category');
t('Movement');
t('Notes');
t('Optionally, use this quantity field to record an observed quantity.');
t('Photo(s)');
t('Quantity');
t('This field is optional. It allows you to store geospatial data along with this observation.');
t('Type');
t('Use these fields to record a movement with this log entry. This will be used to define the location of any referenced assets. The current location of any asset is determined by the most recently completed movement log. Only the "to" field is required.');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What areas did this observation take place in?');
t('What assets do this observation log pertain to?');
t('What type of observation is this? Use this to organize your observations into categories for easy viewing later. Some default types are provided, and new observation types can be added to the ' . l('Observation Types', 'admin/structure/taxonomy/farm_observation_types') . ' vocabulary.');
return $field_instances;
}

View File

@ -11,9 +11,6 @@ function farm_log_observation_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "field_group" && $api == "field_group") {
return array("version" => "1");
}
if ($module == "strongarm" && $api == "strongarm") {
return array("version" => "1");
}
}
/**
@ -32,7 +29,7 @@ function farm_log_observation_default_log_type() {
"type" : "farm_observation",
"label" : "Observation",
"weight" : 0,
"name_pattern" : "Observation: [log:field-farm-observation-type] [log:field-farm-asset] [log:field-farm-area]",
"name_pattern" : "Observation: [log:field-farm-asset] [log:field-farm-area] [log:timestamp:short]",
"name_edit" : "1",
"done" : "1",
"rdf_mapping" : []

View File

@ -1,36 +0,0 @@
<?php
/**
* @file
* farm_log_observation.features.taxonomy.inc
*/
/**
* Implements hook_taxonomy_default_vocabularies().
*/
function farm_log_observation_taxonomy_default_vocabularies() {
return array(
'farm_observation_types' => array(
'name' => 'Farm Observation Types',
'machine_name' => 'farm_observation_types',
'description' => 'A vocabulary of farm animal types.',
'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',
),
),
),
),
);
}

View File

@ -68,6 +68,35 @@ function farm_log_observation_field_group_info() {
);
$field_groups['group_farm_assets|log|farm_observation|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_observation|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_observation';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Category',
'weight' => '7',
'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_observation|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;
@ -81,8 +110,8 @@ function farm_log_observation_field_group_info() {
'label' => 'File attachments',
'weight' => '8',
'children' => array(
0 => 'field_farm_images',
1 => 'field_farm_files',
0 => 'field_farm_files',
1 => 'field_farm_images',
),
'format_type' => 'fieldset',
'format_settings' => array(
@ -111,9 +140,8 @@ function farm_log_observation_field_group_info() {
'label' => 'General information',
'weight' => '0',
'children' => array(
0 => 'field_farm_observation_type',
1 => 'name',
2 => 'timestamp',
0 => 'name',
1 => 'timestamp',
),
'format_type' => 'fieldset',
'format_settings' => array(
@ -139,7 +167,7 @@ function farm_log_observation_field_group_info() {
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Notes',
'weight' => '7',
'weight' => '6',
'children' => array(
0 => 'field_farm_notes',
),
@ -161,6 +189,7 @@ function farm_log_observation_field_group_info() {
// Included for use with string extractors like potx.
t('Areas');
t('Assets');
t('Category');
t('File attachments');
t('General information');
t('Notes');

View File

@ -28,18 +28,16 @@ dependencies[] = multiupload_filefield_widget
dependencies[] = multiupload_imagefield_widget
dependencies[] = openlayers_geofield
dependencies[] = options
dependencies[] = strongarm
dependencies[] = taxonomy
dependencies[] = text
dependencies[] = views
dependencies[] = views_data_export
features[ctools][] = field_group:field_group:1
features[ctools][] = strongarm:strongarm:1
features[ctools][] = views:views_default:3.0
features[features_api][] = api:2
features[field_base][] = field_farm_observation_type
features[field_group][] = group_farm_areas|log|farm_observation|form
features[field_group][] = group_farm_assets|log|farm_observation|form
features[field_group][] = group_farm_category|log|farm_observation|form
features[field_group][] = group_farm_files|log|farm_observation|form
features[field_group][] = group_farm_general|log|farm_observation|form
features[field_group][] = group_farm_notes|log|farm_observation|form
@ -48,11 +46,9 @@ features[field_instance][] = log-farm_observation-field_farm_asset
features[field_instance][] = log-farm_observation-field_farm_files
features[field_instance][] = log-farm_observation-field_farm_geofield
features[field_instance][] = log-farm_observation-field_farm_images
features[field_instance][] = log-farm_observation-field_farm_log_category
features[field_instance][] = log-farm_observation-field_farm_movement
features[field_instance][] = log-farm_observation-field_farm_notes
features[field_instance][] = log-farm_observation-field_farm_observation_type
features[field_instance][] = log-farm_observation-field_farm_quantity
features[log_type][] = farm_observation
features[taxonomy][] = farm_observation_types
features[variable][] = pathauto_taxonomy_term_farm_observation_types_pattern
features[views_view][] = farm_log_observation

View File

@ -17,9 +17,6 @@ function farm_log_observation_farm_access_perms($role) {
'log' => array(
'farm_observation',
),
'taxonomy' => array(
'farm_observation_types',
),
);
// Grant different CRUD permissions based on the role.
@ -105,74 +102,3 @@ function farm_log_observation_farm_area_links($id) {
return $links;
}
/**
* Implements hook_form_alter().
*/
function farm_log_observation_form_alter(&$form, &$form_state, $form_id) {
// If this is an observation log form...
if ($form_id == 'log_form' && ($form['#bundle'] == 'farm_observation')) {
// If the observation type field is empty, prepopulate it with "General".
if (empty($form['field_farm_observation_type'][LANGUAGE_NONE]['#default_value'])) {
if (!empty($form['field_farm_observation_type'][LANGUAGE_NONE]['#options'])) {
// If "General" doesn't exist as an option, create it.
if (!in_array('General', $form['field_farm_observation_type'][LANGUAGE_NONE]['#options'])) {
$term = _farm_log_observation_create_general();
if (!empty($term->tid) && !empty($term->name)) {
$form['field_farm_observation_type'][LANGUAGE_NONE]['#options'][$term->tid] = $term->name;
}
}
// Iterate through the options and select "General" by default.
foreach ($form['field_farm_observation_type'][LANGUAGE_NONE]['#options'] as $tid => $name) {
if ($name == 'General') {
$form['field_farm_observation_type'][LANGUAGE_NONE]['#default_value'] = $tid;
}
}
}
}
}
}
/**
* Helper function to create a 'General' observation type.
*
* @return object|bool
* Returns the term object if it is found/created. FALSE if the vocabulary
* doesn't exist.
*/
function _farm_log_observation_create_general() {
// Define the name of the vocabulary.
$vocab_name = 'farm_observation_types';
// Load the Observation Types vocabulary.
$vocab = taxonomy_vocabulary_machine_name_load($vocab_name);
// If the vocab didn't load, bail.
if (empty($vocab->vid)) {
return FALSE;
}
// Check to see if the term already exists.
$term = taxonomy_get_term_by_name('General', $vocab_name);
// If the term already exists, bail.
if (!empty($term->tid)) {
return $term;
}
// Create the term.
$term = new stdClass();
$term->name = 'General';
$term->vid = $vocab->vid;
// Save the term.
taxonomy_term_save($term);
// Return the new term.
return $term;
}

View File

@ -1,21 +0,0 @@
<?php
/**
* @file
* farm_log_observation.strongarm.inc
*/
/**
* Implements hook_strongarm().
*/
function farm_log_observation_strongarm() {
$export = array();
$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_observation_types_pattern';
$strongarm->value = 'farm/observation/[term:name]';
$export['pathauto_taxonomy_term_farm_observation_types_pattern'] = $strongarm;
return $export;
}

View File

@ -38,15 +38,16 @@ function farm_log_observation_views_default_views() {
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'views_bulk_operations' => 'views_bulk_operations',
'id' => 'id',
'done' => 'done',
'id' => 'id',
'field_farm_images' => 'field_farm_images',
'timestamp' => 'timestamp',
'name' => 'name',
'field_farm_asset' => 'field_farm_asset',
'field_farm_area' => 'field_farm_area',
'field_farm_quantity' => 'field_farm_quantity',
'field_farm_observation_type' => 'field_farm_observation_type',
'field_farm_quantity_value' => 'field_farm_quantity_value',
'field_farm_quantity_units' => 'field_farm_quantity_units',
'field_farm_log_category' => 'field_farm_log_category',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
@ -55,14 +56,14 @@ function farm_log_observation_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'id' => array(
'done' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'done' => array(
'id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
@ -98,20 +99,25 @@ function farm_log_observation_views_default_views() {
'separator' => '',
'empty_column' => 0,
),
'field_farm_quantity' => array(
'field_farm_quantity_value' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_observation_type' => array(
'field_farm_quantity_units' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_log_category' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
$handler->display->display_options['style_options']['empty_table'] = TRUE;
/* No results behavior: Global: Unfiltered text */
@ -234,11 +240,13 @@ function farm_log_observation_views_default_views() {
$handler->display->display_options['fields']['field_farm_quantity_units']['field'] = 'field_farm_quantity_units';
$handler->display->display_options['fields']['field_farm_quantity_units']['relationship'] = 'field_farm_quantity_value';
$handler->display->display_options['fields']['field_farm_quantity_units']['type'] = 'taxonomy_term_reference_plain';
/* Field: Log: Type */
$handler->display->display_options['fields']['field_farm_observation_type']['id'] = 'field_farm_observation_type';
$handler->display->display_options['fields']['field_farm_observation_type']['table'] = 'field_data_field_farm_observation_type';
$handler->display->display_options['fields']['field_farm_observation_type']['field'] = 'field_farm_observation_type';
$handler->display->display_options['fields']['field_farm_observation_type']['type'] = 'taxonomy_term_reference_plain';
/* 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'] = 'Category';
$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';
/* Sort criterion: Log: Timestamp */
$handler->display->display_options['sorts']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['sorts']['timestamp']['table'] = 'log';
@ -286,20 +294,20 @@ function farm_log_observation_views_default_views() {
'farm_observation' => 'farm_observation',
);
$handler->display->display_options['filters']['type']['group'] = 1;
/* Filter criterion: Log: Type (field_farm_observation_type) */
$handler->display->display_options['filters']['field_farm_observation_type_tid']['id'] = 'field_farm_observation_type_tid';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['table'] = 'field_data_field_farm_observation_type';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['field'] = 'field_farm_observation_type_tid';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['value'] = '';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['group'] = 1;
$handler->display->display_options['filters']['field_farm_observation_type_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_farm_observation_type_tid']['expose']['operator_id'] = 'field_farm_observation_type_tid_op';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['expose']['label'] = 'Type';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['expose']['operator'] = 'field_farm_observation_type_tid_op';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['expose']['identifier'] = 'field_farm_observation_type_tid';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['vocabulary'] = 'farm_observation_types';
$handler->display->display_options['filters']['field_farm_observation_type_tid']['hierarchy'] = 1;
/* 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'] = 'Category';
$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';
@ -402,7 +410,6 @@ function farm_log_observation_views_default_views() {
t('Areas'),
t('Quantity'),
t('Units'),
t('Type'),
t('All'),
t('%1\'s observations'),
t('Observations in %2'),

View File

@ -524,3 +524,12 @@ function farm_sensor_views_post_render(&$view, &$output, &$cache) {
}
}
}
/**
* Implements hook_farm_log_categories().
*/
function farm_sensor_farm_log_categories() {
// Provide an "Sensors" log category.
return array('Sensors');
}

View File

@ -5,3 +5,12 @@
*/
include_once 'farm_soil.features.inc';
/**
* Implements hook_farm_log_categories().
*/
function farm_soil_farm_log_categories() {
// Provide an "Soil" log category.
return array('Soil');
}

View File

@ -9,6 +9,29 @@
*/
function farm_taxonomy_taxonomy_default_vocabularies() {
return array(
'farm_log_categories' => array(
'name' => 'Farm Log Categories',
'machine_name' => 'farm_log_categories',
'description' => 'Vocabulary of farm log categories.',
'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_materials' => array(
'name' => 'Farm Materials',
'machine_name' => 'farm_materials',

View File

@ -13,9 +13,11 @@ dependencies[] = taxonomy
features[ctools][] = strongarm:strongarm:1
features[features_api][] = api:2
features[field_instance][] = taxonomy_term-farm_season-field_farm_date_range
features[taxonomy][] = farm_log_categories
features[taxonomy][] = farm_materials
features[taxonomy][] = farm_season
features[variable][] = field_bundle_settings_taxonomy_term__farm_materials
features[variable][] = field_bundle_settings_taxonomy_term__farm_season
features[variable][] = pathauto_taxonomy_term_farm_log_categories_pattern
features[variable][] = pathauto_taxonomy_term_farm_materials_pattern
features[variable][] = pathauto_taxonomy_term_farm_season_pattern

View File

@ -14,6 +14,7 @@ function farm_taxonomy_farm_access_perms($role) {
// Assemble a list of entity types provided by this module.
$types = array(
'taxonomy' => array(
'farm_log_categories',
'farm_materials',
'farm_season',
),

View File

@ -73,6 +73,13 @@ function farm_taxonomy_strongarm() {
);
$export['field_bundle_settings_taxonomy_term__farm_season'] = $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_log_categories_pattern';
$strongarm->value = 'farm/log/category/[term:name]';
$export['pathauto_taxonomy_term_farm_log_categories_pattern'] = $strongarm;
$strongarm = new stdClass();
$strongarm->disabled = FALSE; /* Edit this to true to make a default strongarm disabled initially */
$strongarm->api_version = 1;