3
0
Fork 0
mirror of https://github.com/farmOS/farmOS.git synced 2024-02-23 11:37:38 +01:00

Initial commit of Farm Log: Sale module. Provides a sale log type.

This commit is contained in:
Michael Stenta 2017-05-31 21:52:52 -04:00
parent d77c633a38
commit 66d66b135c
6 changed files with 842 additions and 0 deletions

View file

@ -0,0 +1,86 @@
<?php
/**
* @file
* farm_log_sale.features.field_base.inc
*/
/**
* Implements hook_field_default_field_bases().
*/
function farm_log_sale_field_default_field_bases() {
$field_bases = array();
// Exported field_base: 'field_farm_customer'.
$field_bases['field_farm_customer'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_customer',
'indexes' => array(
'format' => array(
0 => 'format',
),
),
'locked' => 0,
'module' => 'text',
'settings' => array(
'max_length' => 255,
),
'translatable' => 0,
'type' => 'text',
);
// Exported field_base: 'field_farm_invoice_number'.
$field_bases['field_farm_invoice_number'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_invoice_number',
'indexes' => array(
'format' => array(
0 => 'format',
),
),
'locked' => 0,
'module' => 'text',
'settings' => array(
'max_length' => 255,
),
'translatable' => 0,
'type' => 'text',
);
// Exported field_base: 'field_farm_total_price'.
$field_bases['field_farm_total_price'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_total_price',
'indexes' => array(),
'locked' => 0,
'module' => 'fraction',
'settings' => array(),
'translatable' => 0,
'type' => 'fraction',
);
// Exported field_base: 'field_farm_unit_price'.
$field_bases['field_farm_unit_price'] = array(
'active' => 1,
'cardinality' => 1,
'deleted' => 0,
'entity_types' => array(),
'field_name' => 'field_farm_unit_price',
'indexes' => array(),
'locked' => 0,
'module' => 'fraction',
'settings' => array(),
'translatable' => 0,
'type' => 'fraction',
);
return $field_bases;
}

View file

@ -0,0 +1,469 @@
<?php
/**
* @file
* farm_log_sale.features.field_instance.inc
*/
/**
* Implements hook_field_default_field_instances().
*/
function farm_log_sale_field_default_field_instances() {
$field_instances = array();
// Exported field_instance: 'log-farm_sale-field_farm_asset'.
$field_instances['log-farm_sale-field_farm_asset'] = array(
'bundle' => 'farm_sale',
'deleted' => 0,
'description' => 'What assets do this sale log pertain to?',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'entityreference',
'settings' => array(
'bypass_access' => 0,
'link' => 1,
),
'type' => 'entityreference_label',
'weight' => 0,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_asset',
'label' => 'Assets',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'entityreference_view_widget',
'settings' => array(
'allow_duplicates' => 0,
'close_modal' => 1,
'pass_argument' => 1,
'pass_arguments' => '',
'rendered_entity' => 0,
'view' => 'farm_asset_entityreference_view|entityreference_view_widget',
'view_mode' => 'full',
),
'type' => 'entityreference_view_widget',
'weight' => 2,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_customer'.
$field_instances['log-farm_sale-field_farm_customer'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 1,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_customer',
'label' => 'Customer',
'required' => 0,
'settings' => array(
'text_processing' => 0,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'text',
'settings' => array(
'size' => 60,
),
'type' => 'text_textfield',
'weight' => 3,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_files'.
$field_instances['log-farm_sale-field_farm_files'] = array(
'bundle' => 'farm_sale',
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'above',
'module' => 'file',
'settings' => array(),
'type' => 'file_table',
'weight' => 11,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_files',
'label' => 'Files',
'required' => 0,
'settings' => array(
'description_field' => 1,
'file_directory' => 'farm/log/sale',
'file_extensions' => 'csv doc docx odt odp ods pdf ppt pptx txt xls xlsx kml kmz zip tar gz',
'max_filesize' => '',
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'multiupload_filefield_widget',
'settings' => array(
'progress_indicator' => 'bar',
),
'type' => 'file_mfw',
'weight' => 8,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_images'.
$field_instances['log-farm_sale-field_farm_images'] = array(
'bundle' => 'farm_sale',
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'above',
'module' => 'colorbox',
'settings' => array(
'colorbox_caption' => 'auto',
'colorbox_caption_custom' => '',
'colorbox_gallery' => 'post',
'colorbox_gallery_custom' => '',
'colorbox_image_style' => '',
'colorbox_multivalue_index' => NULL,
'colorbox_node_style' => 'thumbnail',
'colorbox_node_style_first' => 'large',
),
'type' => 'colorbox',
'weight' => 10,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_images',
'label' => 'Photos',
'required' => 0,
'settings' => array(
'alt_field' => 0,
'default_image' => 0,
'file_directory' => 'farm/log/sale',
'file_extensions' => 'png gif jpg jpeg',
'max_filesize' => '',
'max_resolution' => '',
'min_resolution' => '',
'title_field' => 0,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'multiupload_imagefield_widget',
'settings' => array(
'preview_image_style' => 'thumbnail',
'progress_indicator' => 'bar',
),
'type' => 'image_miw',
'weight' => 7,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_invoice_number'.
$field_instances['log-farm_sale-field_farm_invoice_number'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 2,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_invoice_number',
'label' => 'Invoice number',
'required' => 0,
'settings' => array(
'text_processing' => 0,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'text',
'settings' => array(
'size' => 60,
),
'type' => 'text_textfield',
'weight' => 4,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_log_category'.
$field_instances['log-farm_sale-field_farm_log_category'] = array(
'bundle' => 'farm_sale',
'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' => 5,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_log_owner'.
$field_instances['log-farm_sale-field_farm_log_owner'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => 'Optionally assign this task to one or more people.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'entityreference',
'settings' => array(
'bypass_access' => FALSE,
'link' => FALSE,
),
'type' => 'entityreference_label',
'weight' => 9,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_log_owner',
'label' => 'Owner',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'options',
'settings' => array(),
'type' => 'options_select',
'weight' => 10,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_lot_number'.
$field_instances['log-farm_sale-field_farm_lot_number'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => 'If this sale is from a specific harvest lot, enter the lot number here.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 3,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_lot_number',
'label' => 'Lot number',
'required' => 0,
'settings' => array(
'text_processing' => 0,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'text',
'settings' => array(
'size' => 60,
),
'type' => 'text_textfield',
'weight' => 5,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_notes'.
$field_instances['log-farm_sale-field_farm_notes'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'text',
'settings' => array(),
'type' => 'text_default',
'weight' => 7,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_notes',
'label' => 'Notes',
'required' => 0,
'settings' => array(
'text_processing' => 1,
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'text',
'settings' => array(
'rows' => 5,
),
'type' => 'text_textarea',
'weight' => 5,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_quantity'.
$field_instances['log-farm_sale-field_farm_quantity'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => 'Use this field to specify the total quantity that was sold.',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'field_collection',
'settings' => array(
'view_mode' => 'full',
),
'type' => 'field_collection_fields',
'weight' => 4,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_quantity',
'label' => 'Quantity',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 0,
'module' => 'field_collection',
'settings' => array(),
'type' => 'field_collection_embed',
'weight' => 1,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_total_price'.
$field_instances['log-farm_sale-field_farm_total_price'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'fraction',
'settings' => array(
'auto_precision' => TRUE,
'precision' => 0,
),
'type' => 'fraction_decimal',
'weight' => 6,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_total_price',
'label' => 'Total price',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'fraction',
'settings' => array(
'auto_precision' => 1,
'precision' => 0,
),
'type' => 'fraction_decimal',
'weight' => 7,
),
);
// Exported field_instance: 'log-farm_sale-field_farm_unit_price'.
$field_instances['log-farm_sale-field_farm_unit_price'] = array(
'bundle' => 'farm_sale',
'default_value' => NULL,
'deleted' => 0,
'description' => '',
'display' => array(
'default' => array(
'label' => 'inline',
'module' => 'fraction',
'settings' => array(
'auto_precision' => TRUE,
'precision' => 0,
),
'type' => 'fraction_decimal',
'weight' => 5,
),
),
'entity_type' => 'log',
'field_name' => 'field_farm_unit_price',
'label' => 'Unit price',
'required' => 0,
'settings' => array(
'user_register_form' => FALSE,
),
'widget' => array(
'active' => 1,
'module' => 'fraction',
'settings' => array(
'auto_precision' => 1,
'precision' => 0,
),
'type' => 'fraction_decimal',
'weight' => 6,
),
);
// Translatables
// Included for use with string extractors like potx.
t('Assets');
t('Customer');
t('Files');
t('If this sale is from a specific harvest lot, enter the lot number here.');
t('Invoice number');
t('Log category');
t('Lot number');
t('Notes');
t('Optionally assign this task to one or more people.');
t('Owner');
t('Photos');
t('Quantity');
t('Total price');
t('Unit price');
t('Use this field to specify the total quantity that was sold.');
t('Use this to organize your logs into categories for easier searching and filtering later.');
t('What assets do this sale log pertain to?');
return $field_instances;
}

View file

@ -0,0 +1,31 @@
<?php
/**
* @file
* farm_log_sale.features.inc
*/
/**
* Implements hook_ctools_plugin_api().
*/
function farm_log_sale_ctools_plugin_api($module = NULL, $api = NULL) {
if ($module == "field_group" && $api == "field_group") {
return array("version" => "1");
}
}
/**
* Implements hook_default_log_type().
*/
function farm_log_sale_default_log_type() {
$items = array();
$items['farm_sale'] = entity_import('log_type', '{
"type" : "farm_sale",
"label" : "Sale",
"weight" : 0,
"name_pattern" : "[log:field-farm-customer] [log:field-farm-invoice-number] [log:field-farm-asset]",
"name_edit" : "0",
"done" : "1",
"rdf_mapping" : []
}');
return $items;
}

View file

@ -0,0 +1,202 @@
<?php
/**
* @file
* farm_log_sale.field_group.inc
*/
/**
* Implements hook_field_group_info().
*/
function farm_log_sale_field_group_info() {
$field_groups = array();
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_assets|log|farm_sale|form';
$field_group->group_name = 'group_farm_assets';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Assets',
'weight' => '2',
'children' => array(
0 => 'field_farm_asset',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Assets',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-assets field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_assets|log|farm_sale|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_assignment|log|farm_sale|form';
$field_group->group_name = 'group_farm_assignment';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Assignment',
'weight' => '5',
'children' => array(
0 => 'field_farm_log_owner',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Assignment',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-assignment field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_assignment|log|farm_sale|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_attachments|log|farm_sale|form';
$field_group->group_name = 'group_farm_attachments';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'File attachments',
'weight' => '6',
'children' => array(
0 => 'field_farm_files',
1 => 'field_farm_images',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'File attachments',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-attachments field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_attachments|log|farm_sale|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_sale|form';
$field_group->group_name = 'group_farm_category';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Category',
'weight' => '4',
'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_sale|form'] = $field_group;
$field_group = new stdClass();
$field_group->disabled = FALSE; /* Edit this to true to make a default field_group disabled initially */
$field_group->api_version = 1;
$field_group->identifier = 'group_farm_general|log|farm_sale|form';
$field_group->group_name = 'group_farm_general';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'General information',
'weight' => '0',
'children' => array(
0 => 'field_farm_lot_number',
1 => 'field_farm_unit_price',
2 => 'field_farm_total_price',
3 => 'field_farm_customer',
4 => 'field_farm_invoice_number',
5 => 'timestamp',
),
'format_type' => 'fieldset',
'format_settings' => array(
'formatter' => 'collapsible',
'instance_settings' => array(
'description' => '',
'classes' => 'group-farm-general field-group-fieldset',
'required_fields' => 1,
'id' => '',
),
),
);
$field_groups['group_farm_general|log|farm_sale|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_notes|log|farm_sale|form';
$field_group->group_name = 'group_farm_notes';
$field_group->entity_type = 'log';
$field_group->bundle = 'farm_sale';
$field_group->mode = 'form';
$field_group->parent_name = '';
$field_group->data = array(
'label' => 'Notes',
'weight' => '3',
'children' => array(
0 => 'field_farm_notes',
),
'format_type' => 'fieldset',
'format_settings' => array(
'label' => 'Notes',
'instance_settings' => array(
'required_fields' => 1,
'id' => '',
'classes' => 'group-farm-notes field-group-fieldset',
'description' => '',
),
'formatter' => 'collapsed',
),
);
$field_groups['group_farm_notes|log|farm_sale|form'] = $field_group;
// Translatables
// Included for use with string extractors like potx.
t('Assets');
t('Assignment');
t('Category');
t('File attachments');
t('General information');
t('Notes');
return $field_groups;
}

View file

@ -0,0 +1,47 @@
name = Farm Log: Sale
description = Provides a sale log type.
core = 7.x
package = farmOS
dependencies[] = colorbox
dependencies[] = ctools
dependencies[] = entity
dependencies[] = entityreference
dependencies[] = entityreference_view_widget
dependencies[] = farm_fields
dependencies[] = farm_quantity
dependencies[] = features
dependencies[] = field_collection
dependencies[] = field_group
dependencies[] = file
dependencies[] = fraction
dependencies[] = log
dependencies[] = multiupload_filefield_widget
dependencies[] = multiupload_imagefield_widget
dependencies[] = options
dependencies[] = taxonomy
dependencies[] = text
features[ctools][] = field_group:field_group:1
features[features_api][] = api:2
features[field_base][] = field_farm_customer
features[field_base][] = field_farm_invoice_number
features[field_base][] = field_farm_total_price
features[field_base][] = field_farm_unit_price
features[field_group][] = group_farm_assets|log|farm_sale|form
features[field_group][] = group_farm_assignment|log|farm_sale|form
features[field_group][] = group_farm_attachments|log|farm_sale|form
features[field_group][] = group_farm_category|log|farm_sale|form
features[field_group][] = group_farm_general|log|farm_sale|form
features[field_group][] = group_farm_notes|log|farm_sale|form
features[field_instance][] = log-farm_sale-field_farm_asset
features[field_instance][] = log-farm_sale-field_farm_customer
features[field_instance][] = log-farm_sale-field_farm_files
features[field_instance][] = log-farm_sale-field_farm_images
features[field_instance][] = log-farm_sale-field_farm_invoice_number
features[field_instance][] = log-farm_sale-field_farm_log_category
features[field_instance][] = log-farm_sale-field_farm_log_owner
features[field_instance][] = log-farm_sale-field_farm_lot_number
features[field_instance][] = log-farm_sale-field_farm_notes
features[field_instance][] = log-farm_sale-field_farm_quantity
features[field_instance][] = log-farm_sale-field_farm_total_price
features[field_instance][] = log-farm_sale-field_farm_unit_price
features[log_type][] = farm_sale

View file

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