You are here

function casetracker_basic_fields_definitions in Case Tracker 7.2

3 calls to casetracker_basic_fields_definitions()
casetracker_case_type_add_default_fields in ./casetracker_case_type.inc
Add default fields to newly created case type. P.S: needs to be in this file, because casetracker.install doesn't found the casetracker.fields file to create and remove fields
casetracker_create_basic_types_form_submit in ./casetracker.forms.inc
casetracker_project_type_add_default_fields in ./casetracker_project_type.inc
Add default fields to newly created project type.

File

./casetracker.fields.inc, line 3

Code

function casetracker_basic_fields_definitions($entity_type, $bundle, $field_names = array()) {
  $fields = array();
  $fields['field_casetracker_description'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_description',
      'type' => 'text_long',
      'entity_types' => array(
        'casetracker_case',
        'casetracker_project',
      ),
      'translatable' => FALSE,
      'locked' => FALSE,
      'module' => 'text',
      'settings' => array(),
      'cardinality' => 1,
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_description',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Description'),
      'required' => FALSE,
      'settings' => array(
        'text_processing' => '1',
        'user_register_form' => FALSE,
      ),
      'widget' => array(
        'weight' => -20,
        'type' => 'text_textarea',
        'module' => 'text',
        'active' => 1,
        'settings' => array(
          'rows' => 5,
        ),
      ),
      'display' => array(
        'default' => array(
          'label' => 'above',
          'type' => 'text_default',
          'settings' => array(),
          'module' => 'text',
          'weight' => 2,
        ),
      ),
    ),
  );
  $fields['field_casetracker_project_ref'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_project_ref',
      'type' => 'entityreference',
      'entity_types' => array(),
      'translatable' => FALSE,
      'locked' => FALSE,
      'settings' => array(
        'target_type' => 'casetracker_project',
        'handler' => 'base',
        'handler_submit' => 'Change handler',
        'handler_settings' => array(
          'target_bundles' => array(),
        ),
      ),
      'cardinality' => 1,
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_project_ref',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Project'),
      'required' => TRUE,
      'settings' => array(
        'user_register_form' => FALSE,
      ),
      'widget' => array(
        'weight' => 20,
        'type' => 'entityreference_autocomplete',
        'module' => 'entityreference',
        'active' => TRUE,
        'settings' => array(
          'match_operator' => 'CONTAINS',
          'size' => 60,
          'path' => '',
        ),
      ),
      'display' => array(
        'default' => array(
          'label' => 'above',
          'type' => 'entityreference_label',
          'module' => 'entityreference',
          'weight' => 3,
          'settings' => array(
            'link' => '',
          ),
        ),
      ),
    ),
  );
  $fields['field_casetracker_assigned_to'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_assigned_to',
      'type' => 'entityreference',
      'entity_types' => array(
        'casetracker_case',
      ),
      'translatable' => TRUE,
      'locked' => FALSE,
      'active' => TRUE,
      'cardinality' => '1',
      'deleted' => '0',
      'foreign keys' => array(
        'node' => array(
          'columns' => array(
            'target_id' => 'uid',
          ),
          'table' => 'users',
        ),
      ),
      'indexes' => array(
        'target_id' => array(
          0 => 'target_id',
        ),
      ),
      'module' => 'casetracker',
      'settings' => array(
        'handler' => 'base',
        'handler_settings' => array(
          'behaviors' => array(
            'views-select-list' => array(
              'status' => 0,
            ),
          ),
          'sort' => array(
            'direction' => 'ASC',
            'field' => 'property',
            'property' => 'name',
            'type' => 'property',
          ),
          'target_bundles' => array(),
        ),
        'handler_submit' => 'Change handler',
        'target_type' => 'user',
      ),
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_assigned_to',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Assign to'),
      'required' => FALSE,
      'widget' => array(
        'weight' => 6,
      ),
      'display' => array(
        'default' => array(
          'label' => 'hidden',
          'type' => 'hidden',
        ),
      ),
      'foreign keys' => array(
        'node' => array(
          'columns' => array(
            'target_id' => 'nid',
          ),
          'table' => 'node',
        ),
      ),
      'indexes' => array(
        'target_id' => array(
          0 => 'target_id',
        ),
      ),
      'locked' => '0',
      'module' => 'entityreference',
      'settings' => array(
        'handler' => 'base',
        'handler_settings' => array(
          'behaviors' => array(
            'views-select-list' => array(
              'status' => 0,
            ),
          ),
          'sort' => array(
            'direction' => 'ASC',
            'field' => 'property',
            'property' => 'name',
            'type' => 'property',
          ),
          'target_bundles' => array(),
        ),
        'handler_submit' => 'Change handler',
        'target_type' => 'user',
      ),
      'translatable' => '0',
      'type' => 'entityreference',
    ),
  );
  $fields['field_casetracker_case_status'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_case_status',
      'type' => 'list_text',
      'entity_types' => array(
        'casetracker_case',
      ),
      'translatable' => TRUE,
      'locked' => FALSE,
      'module' => 'list',
      'settings' => array(
        'allowed_values' => array(
          'open' => t('Open'),
          'resolved' => t('Resolved'),
          'deferred' => t('Deferred'),
          'duplicate' => t('Duplicate'),
          'closed' => t('Closed'),
        ),
      ),
      'cardinality' => 1,
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_case_status',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Status'),
      'required' => TRUE,
      'default_value_function' => 'casetracker_case_status_set_default_value',
      'widget' => array(
        'weight' => 4,
      ),
    ),
  );
  $fields['field_casetracker_case_priority'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_case_priority',
      'type' => 'list_text',
      'entity_types' => array(
        'casetracker_case',
      ),
      'translatable' => TRUE,
      'locked' => FALSE,
      'module' => 'list',
      'settings' => array(
        'allowed_values' => array(
          'high' => t('High'),
          'normal' => t('Normal'),
          'low' => t('Low'),
        ),
      ),
      'cardinality' => 1,
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_case_priority',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Priority'),
      'required' => TRUE,
      'widget' => array(
        'weight' => 5,
      ),
    ),
  );
  $fields['field_casetracker_case_due_date'] = array(
    'field_definition' => array(
      'field_name' => 'field_casetracker_case_due_date',
      'type' => 'datetime',
      'module' => 'date',
      'active' => TRUE,
      'entity_types' => array(
        'casetracker_case',
      ),
      'translatable' => FALSE,
      'locked' => FALSE,
      'settings' => array(
        'repeat' => 0,
        'granularity' => array(
          'month' => 'month',
          'day' => 'day',
          'year' => 'year',
        ),
        'tz_handling' => 'site',
        'timezone_db' => 'UTC',
        'todate' => '',
      ),
      'cardinality' => 1,
    ),
    'field_instance' => array(
      'field_name' => 'field_casetracker_case_due_date',
      'entity_type' => $entity_type,
      'bundle' => $bundle,
      'label' => t('Due Date'),
      'required' => FALSE,
      'settings' => array(
        'default_value' => 'blank',
        'default_value_code' => '',
        'default_value2' => 'blank',
        'default_value_code2' => '',
        'user_register_form' => FALSE,
      ),
      'widget' => array(
        'weight' => 2,
        'type' => 'date_popup',
        'module' => 'date',
        'active' => 1,
        'settings' => array(
          'input_format' => 'm/d/Y',
          'input_format_custom' => '',
          'year_range' => '-3:+3',
          'increment' => '15',
          'label_position' => 'above',
          'text_parts' => array(),
          'repeat_collapsed' => 0,
        ),
      ),
    ),
  );
  if (empty($field_names)) {
    return $fields;
  }
  else {
    $fields_to_retrieve = array();
    foreach ($field_names as $field_name) {
      $fields_to_retrieve[] = $fields[$field_name];
    }
    return $fields_to_retrieve;
  }
}