You are here

function party_edit_form_form in Party 8.2

Same name and namespace in other branches
  1. 7 plugins/content_types/party_edit_form.inc \party_edit_form_form()

Form

1 string reference to 'party_edit_form_form'
party_edit_form_render in plugins/content_types/party_edit_form.inc
Render the Party Attached Entity Edit Form

File

plugins/content_types/party_edit_form.inc, line 63
CTools content for user edit form

Code

function party_edit_form_form($form, &$form_state, $party, $conf = NULL) {
  form_load_include($form_state, 'inc', 'party', 'party.pages');
  form_load_include($form_state, 'inc', 'party', 'plugins/content_types/party_edit_form');
  $form['#party'] = $party;
  if (isset($party->pid)) {
    $form['pid'] = array(
      '#type' => 'value',
      '#value' => $party->pid,
    );
  }
  $form_state['#party'] = $party;
  $form_state['#party_unchanged'] = $party;

  // So that other modules can react to changes. Must be a better way
  $form_state['#data_set_controllers'] = $form_state['#attached_entities'] = array();
  $form['#validate'][] = 'party_edit_form_validate';
  $form['#submit'][] = 'party_edit_form_submit';
  field_attach_form('party', $party, $form, $form_state);

  // Attach data set forms.
  if (!empty($conf['show_data_sets'])) {
    $data_sets = party_get_party_data_sets($party);
    foreach ($data_sets as $data_set) {

      // Get our controller
      $controller = party_get_crm_controller($party, $data_set);
      $form_state['#data_set_controllers'][$data_set] = $controller;
      party_data_set_attach_form($form, $form_state, $controller);
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
    '#weight' => 99,
  );

  // Add our submit handler and set the action
  $form['#submit'][] = 'party_edit_form_save';
  $form['#submit'][] = 'party_edit_form_form_submit';
  $form['#action'] = base_path() . str_replace('ajax', 'nojs', request_path());
  return $form;
}