array( 'title' => t('Add a crop'), 'href' => 'admin/structure/taxonomy/farm_crops/add', 'paths' => array( 'farm/crops', ), ), 'harvest' => array( 'title' => t('Add a harvest'), 'href' => 'log/add/farm_harvest', 'paths' => array( 'farm/asset/%/harvests', 'farm/crops/harvests', ), 'assets' => array( 'planting' ), ), 'input' => array( 'title' => t('Add an input'), 'href' => 'log/add/farm_input', 'paths' => array( 'farm/area/%/inputs', 'farm/asset/%/inputs', 'farm/crops/inputs', 'taxonomy/term/%', ), 'assets' => array( 'planting' ), ), 'planting' => array( 'title' => t('Add a planting'), 'href' => 'farm/asset/add/planting', 'paths' => array( 'farm/area/%/plantings', 'farm/crop/%/plantings', 'farm/crops', 'farm/crops/plantings', ), ), 'seeding' => array( 'title' => t('Add a seeding'), 'href' => 'log/add/farm_seeding', 'paths' => array( 'farm/asset/%/seedings', 'farm/crops/seedings', ), 'assets' => array( 'planting' ), ), 'transplanting' => array( 'title' => t('Add a transplanting'), 'href' => 'log/add/farm_transplanting', 'paths' => array( 'farm/asset/%/transplantings', 'farm/crops/transplantings', ), 'assets' => array( 'planting' ), ), ); return $actions; } /** * Implements hook_form_alter(). */ function farm_crop_form_alter(&$form, &$form_state, $form_id) { // If this is a log form with a planting reference field... if ($form_id == 'log_form' && !empty($form['field_farm_planting'])) { // Alter the form with the farm_log helper function. farm_log_form_prepopulate_asset($form, 'field_farm_planting'); } } /** * Implements hook_farm_area_links(). */ function farm_crop_farm_area_links($id) { return array( array( 'title' => t('Inputs'), 'href' => 'farm/area/' . $id . '/inputs', 'weight' => 10, ), array( 'title' => t('Plantings'), 'href' => 'farm/area/' . $id . '/plantings', ), ); }