Initial commit: provide taxonomies, log_types, and fields for basic farm record keeping.

This commit is contained in:
Michael Stenta 2014-02-04 03:41:17 -05:00
commit 10822e262d
6 changed files with 3256 additions and 0 deletions

2843
farm_log.features.field.inc Normal file

File diff suppressed because it is too large Load Diff

27
farm_log.features.inc Normal file
View File

@ -0,0 +1,27 @@
<?php
/**
* @file
* farm_log.features.inc
*/
/**
* Implements hook_views_api().
*/
function farm_log_views_api() {
return array("version" => "3.0");
}
/**
* Implements hook_default_log_type().
*/
function farm_log_default_log_type() {
$items = array();
$items['farm_failure'] = entity_import('log_type', '{ "type" : "farm_failure", "label" : "Failure", "weight" : 0 }');
$items['farm_fertilization'] = entity_import('log_type', '{ "type" : "farm_fertilization", "label" : "Fertilization", "weight" : 0 }');
$items['farm_harvest'] = entity_import('log_type', '{ "type" : "farm_harvest", "label" : "Harvest", "weight" : 0 }');
$items['farm_issue'] = entity_import('log_type', '{ "type" : "farm_issue", "label" : "Issue", "weight" : 0 }');
$items['farm_seeding'] = entity_import('log_type', '{ "type" : "farm_seeding", "label" : "Seeding", "weight" : 0 }');
$items['farm_threat'] = entity_import('log_type', '{ "type" : "farm_threat", "label" : "Threat", "weight" : 0 }');
$items['farm_transplanting'] = entity_import('log_type', '{ "type" : "farm_transplanting", "label" : "Transplanting", "weight" : 0 }');
return $items;
}

View File

@ -0,0 +1,53 @@
<?php
/**
* @file
* farm_log.features.taxonomy.inc
*/
/**
* Implements hook_taxonomy_default_vocabularies().
*/
function farm_log_taxonomy_default_vocabularies() {
return array(
'farm_areas' => array(
'name' => 'Areas',
'machine_name' => 'farm_areas',
'description' => 'Distinct fields or beds that crops will be planted into.',
'hierarchy' => '0',
'module' => 'taxonomy',
'weight' => '0',
),
'farm_containers' => array(
'name' => 'Containers',
'machine_name' => 'farm_containers',
'description' => 'Various types of containers for growing crops.',
'hierarchy' => '0',
'module' => 'taxonomy',
'weight' => '0',
),
'farm_crops' => array(
'name' => 'Crops',
'machine_name' => 'farm_crops',
'description' => 'A taxonomy of crop types and varieties.',
'hierarchy' => '0',
'module' => 'taxonomy',
'weight' => '0',
),
'farm_fertilizers' => array(
'name' => 'Fertilizers',
'machine_name' => 'farm_fertilizers',
'description' => 'Materials used to fertilize crops, areas, etc.',
'hierarchy' => '0',
'module' => 'taxonomy',
'weight' => '0',
),
'farm_threats' => array(
'name' => 'Threats',
'machine_name' => 'farm_threats',
'description' => 'External forces that threaten your crops.',
'hierarchy' => '0',
'module' => 'taxonomy',
'weight' => '0',
),
);
}

72
farm_log.info Normal file
View File

@ -0,0 +1,72 @@
name = Farm Log
description = A feature that provides taxonomies, log types, and fields for farm recordkeeping.
core = 7.x
package = Farm Features
dependencies[] = ctools
dependencies[] = entity
dependencies[] = features
dependencies[] = field_sql_storage
dependencies[] = image
dependencies[] = log
dependencies[] = number
dependencies[] = options
dependencies[] = taxonomy
dependencies[] = text
dependencies[] = views
features[ctools][] = views:views_default:3.0
features[features_api][] = api:1
features[field][] = log-farm_failure-field_farm_areas
features[field][] = log-farm_failure-field_farm_crops
features[field][] = log-farm_failure-field_farm_images
features[field][] = log-farm_failure-field_farm_notes
features[field][] = log-farm_failure-field_farm_quantity
features[field][] = log-farm_fertilization-field_farm_areas
features[field][] = log-farm_fertilization-field_farm_crops
features[field][] = log-farm_fertilization-field_farm_fertilizers
features[field][] = log-farm_fertilization-field_farm_images
features[field][] = log-farm_fertilization-field_farm_notes
features[field][] = log-farm_fertilization-field_farm_quantity
features[field][] = log-farm_harvest-field_farm_areas
features[field][] = log-farm_harvest-field_farm_crops
features[field][] = log-farm_harvest-field_farm_images
features[field][] = log-farm_harvest-field_farm_notes
features[field][] = log-farm_harvest-field_farm_quantity
features[field][] = log-farm_issue-field_farm_areas
features[field][] = log-farm_issue-field_farm_crops
features[field][] = log-farm_issue-field_farm_images
features[field][] = log-farm_issue-field_farm_notes
features[field][] = log-farm_seeding-field_farm_areas
features[field][] = log-farm_seeding-field_farm_containers
features[field][] = log-farm_seeding-field_farm_crops
features[field][] = log-farm_seeding-field_farm_images
features[field][] = log-farm_seeding-field_farm_measurements
features[field][] = log-farm_seeding-field_farm_notes
features[field][] = log-farm_threat-field_farm_areas
features[field][] = log-farm_threat-field_farm_crops
features[field][] = log-farm_threat-field_farm_images
features[field][] = log-farm_threat-field_farm_notes
features[field][] = log-farm_threat-field_farm_threats
features[field][] = log-farm_transplanting-field_farm_areas
features[field][] = log-farm_transplanting-field_farm_crops
features[field][] = log-farm_transplanting-field_farm_images
features[field][] = log-farm_transplanting-field_farm_notes
features[field][] = taxonomy_term-farm_areas-field_farm_areas
features[field][] = taxonomy_term-farm_areas-field_farm_images
features[field][] = taxonomy_term-farm_areas-field_farm_measurements
features[field][] = taxonomy_term-farm_crops-field_farm_companions
features[field][] = taxonomy_term-farm_crops-field_farm_crop_family
features[field][] = taxonomy_term-farm_crops-field_farm_images
features[field][] = taxonomy_term-farm_crops-field_farm_maturity_days
features[log_type][] = farm_failure
features[log_type][] = farm_fertilization
features[log_type][] = farm_harvest
features[log_type][] = farm_issue
features[log_type][] = farm_seeding
features[log_type][] = farm_threat
features[log_type][] = farm_transplanting
features[taxonomy][] = farm_areas
features[taxonomy][] = farm_containers
features[taxonomy][] = farm_crops
features[taxonomy][] = farm_fertilizers
features[taxonomy][] = farm_threats
features[views_view][] = logs

7
farm_log.module Normal file
View File

@ -0,0 +1,7 @@
<?php
/**
* @file
* Code for the Farm Log feature.
*/
include_once 'farm_log.features.inc';

254
farm_log.views_default.inc Normal file
View File

@ -0,0 +1,254 @@
<?php
/**
* @file
* farm_log.views_default.inc
*/
/**
* Implements hook_views_default_views().
*/
function farm_log_views_default_views() {
$export = array();
$view = new view();
$view->name = 'logs';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'log';
$view->human_name = 'Logs';
$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'] = 'Logs';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'view any 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['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '100';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'lid' => 'lid',
'timestamp' => 'timestamp',
'type' => 'type',
'name' => 'name',
'field_farm_crops' => 'field_farm_crops',
'field_farm_areas' => 'field_farm_areas',
'field_farm_images' => 'field_farm_images',
'nothing' => 'nothing',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
'lid' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'timestamp' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'type' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'name' => array(
'sortable' => 1,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_crops' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_areas' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_farm_images' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'nothing' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
/* 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']['empty'] = TRUE;
$handler->display->display_options['header']['area_text_custom']['content'] = '<a href="/log/add">+ Create a log</a>';
/* Field: Log: Log ID */
$handler->display->display_options['fields']['lid']['id'] = 'lid';
$handler->display->display_options['fields']['lid']['table'] = 'log';
$handler->display->display_options['fields']['lid']['field'] = 'lid';
$handler->display->display_options['fields']['lid']['exclude'] = TRUE;
/* 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']['date_format'] = 'short';
/* Field: Log: Type */
$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: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'log';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['alter']['make_link'] = TRUE;
$handler->display->display_options['fields']['name']['alter']['path'] = 'log/[lid]';
/* Field: Log: Crops */
$handler->display->display_options['fields']['field_farm_crops']['id'] = 'field_farm_crops';
$handler->display->display_options['fields']['field_farm_crops']['table'] = 'field_data_field_farm_crops';
$handler->display->display_options['fields']['field_farm_crops']['field'] = 'field_farm_crops';
$handler->display->display_options['fields']['field_farm_crops']['delta_offset'] = '0';
/* Field: Field: Areas */
$handler->display->display_options['fields']['field_farm_areas']['id'] = 'field_farm_areas';
$handler->display->display_options['fields']['field_farm_areas']['table'] = 'field_data_field_farm_areas';
$handler->display->display_options['fields']['field_farm_areas']['field'] = 'field_farm_areas';
$handler->display->display_options['fields']['field_farm_areas']['delta_offset'] = '0';
/* Field: Field: Images */
$handler->display->display_options['fields']['field_farm_images']['id'] = 'field_farm_images';
$handler->display->display_options['fields']['field_farm_images']['table'] = 'field_data_field_farm_images';
$handler->display->display_options['fields']['field_farm_images']['field'] = 'field_farm_images';
$handler->display->display_options['fields']['field_farm_images']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_farm_images']['settings'] = array(
'image_style' => 'thumbnail',
'image_link' => 'content',
);
$handler->display->display_options['fields']['field_farm_images']['delta_limit'] = '1';
$handler->display->display_options['fields']['field_farm_images']['delta_offset'] = '0';
/* Field: Global: Custom text */
$handler->display->display_options['fields']['nothing']['id'] = 'nothing';
$handler->display->display_options['fields']['nothing']['table'] = 'views';
$handler->display->display_options['fields']['nothing']['field'] = 'nothing';
$handler->display->display_options['fields']['nothing']['label'] = 'Operations';
$handler->display->display_options['fields']['nothing']['alter']['text'] = '<a href="/log/[lid]/edit">Edit</a> | <a href="/log/[lid]/delete">Delete</a>';
/* 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']['expose']['label'] = 'Timestamp';
$handler->display->display_options['sorts']['timestamp']['granularity'] = 'minute';
/* Filter criterion: Log: Name */
$handler->display->display_options['filters']['name']['id'] = 'name';
$handler->display->display_options['filters']['name']['table'] = 'log';
$handler->display->display_options['filters']['name']['field'] = 'name';
$handler->display->display_options['filters']['name']['operator'] = 'contains';
$handler->display->display_options['filters']['name']['group'] = 1;
$handler->display->display_options['filters']['name']['exposed'] = TRUE;
$handler->display->display_options['filters']['name']['expose']['operator_id'] = 'name_op';
$handler->display->display_options['filters']['name']['expose']['label'] = 'Name';
$handler->display->display_options['filters']['name']['expose']['use_operator'] = TRUE;
$handler->display->display_options['filters']['name']['expose']['operator'] = 'name_op';
$handler->display->display_options['filters']['name']['expose']['identifier'] = 'name';
$handler->display->display_options['filters']['name']['expose']['remember_roles'] = array(
2 => '2',
1 => 0,
);
/* Filter criterion: 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']['group'] = 1;
$handler->display->display_options['filters']['type']['exposed'] = TRUE;
$handler->display->display_options['filters']['type']['expose']['operator_id'] = 'type_op';
$handler->display->display_options['filters']['type']['expose']['label'] = 'Type';
$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;
$handler->display->display_options['filters']['type']['expose']['remember_roles'] = array(
2 => '2',
1 => 0,
);
/* Filter criterion: Log: Crops (field_farm_crops) */
$handler->display->display_options['filters']['field_farm_crops_tid']['id'] = 'field_farm_crops_tid';
$handler->display->display_options['filters']['field_farm_crops_tid']['table'] = 'field_data_field_farm_crops';
$handler->display->display_options['filters']['field_farm_crops_tid']['field'] = 'field_farm_crops_tid';
$handler->display->display_options['filters']['field_farm_crops_tid']['group'] = 1;
$handler->display->display_options['filters']['field_farm_crops_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['operator_id'] = 'field_farm_crops_tid_op';
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['label'] = 'Crops';
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['operator'] = 'field_farm_crops_tid_op';
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['identifier'] = 'field_farm_crops_tid';
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['multiple'] = TRUE;
$handler->display->display_options['filters']['field_farm_crops_tid']['expose']['remember_roles'] = array(
2 => '2',
1 => 0,
);
$handler->display->display_options['filters']['field_farm_crops_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_farm_crops_tid']['vocabulary'] = 'farm_crops';
$handler->display->display_options['filters']['field_farm_crops_tid']['hierarchy'] = 1;
/* Filter criterion: Field: Areas (field_farm_areas) */
$handler->display->display_options['filters']['field_farm_areas_tid']['id'] = 'field_farm_areas_tid';
$handler->display->display_options['filters']['field_farm_areas_tid']['table'] = 'field_data_field_farm_areas';
$handler->display->display_options['filters']['field_farm_areas_tid']['field'] = 'field_farm_areas_tid';
$handler->display->display_options['filters']['field_farm_areas_tid']['group'] = 1;
$handler->display->display_options['filters']['field_farm_areas_tid']['exposed'] = TRUE;
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['operator_id'] = 'field_farm_areas_tid_op';
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['label'] = 'Areas';
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['operator'] = 'field_farm_areas_tid_op';
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['identifier'] = 'field_farm_areas_tid';
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['multiple'] = TRUE;
$handler->display->display_options['filters']['field_farm_areas_tid']['expose']['remember_roles'] = array(
2 => '2',
1 => 0,
);
$handler->display->display_options['filters']['field_farm_areas_tid']['type'] = 'select';
$handler->display->display_options['filters']['field_farm_areas_tid']['vocabulary'] = 'farm_areas';
$handler->display->display_options['filters']['field_farm_areas_tid']['hierarchy'] = 1;
/* Filter criterion: Log: Timestamp */
$handler->display->display_options['filters']['timestamp']['id'] = 'timestamp';
$handler->display->display_options['filters']['timestamp']['table'] = 'log';
$handler->display->display_options['filters']['timestamp']['field'] = 'timestamp';
$handler->display->display_options['filters']['timestamp']['group'] = 1;
$handler->display->display_options['filters']['timestamp']['exposed'] = TRUE;
$handler->display->display_options['filters']['timestamp']['expose']['operator_id'] = 'timestamp_op';
$handler->display->display_options['filters']['timestamp']['expose']['label'] = 'Timestamp';
$handler->display->display_options['filters']['timestamp']['expose']['use_operator'] = TRUE;
$handler->display->display_options['filters']['timestamp']['expose']['operator'] = 'timestamp_op';
$handler->display->display_options['filters']['timestamp']['expose']['identifier'] = 'timestamp';
$handler->display->display_options['filters']['timestamp']['expose']['remember_roles'] = array(
2 => '2',
1 => 0,
);
/* Display: All logs */
$handler = $view->new_display('page', 'All logs', 'page');
$handler->display->display_options['path'] = 'logs/all';
$handler->display->display_options['menu']['type'] = 'default tab';
$handler->display->display_options['menu']['title'] = 'Logs';
$handler->display->display_options['menu']['weight'] = '0';
$handler->display->display_options['menu']['context'] = 0;
$handler->display->display_options['menu']['context_only_inline'] = 0;
$handler->display->display_options['tab_options']['type'] = 'normal';
$handler->display->display_options['tab_options']['title'] = 'Logs';
$handler->display->display_options['tab_options']['weight'] = '0';
$handler->display->display_options['tab_options']['name'] = 'management';
$export['logs'] = $view;
return $export;
}