function tripal_stock_add_ONE_dbreference_form_submit

1.x tripal_stock-db_references.inc tripal_stock_add_ONE_dbreference_form_submit($form, &$form_state)

Implements hoook_form_submit(): Actually adds the db reference to the stock

Parameters

$form: An array describing the form that was rendered

$form_state: An array describing the current state of the form including user input

Related topics

File

tripal_stock/includes/tripal_stock-db_references.inc, line 149
@todo Add file header description

Code

function tripal_stock_add_ONE_dbreference_form_submit($form, &$form_state) {

  // FIX: Sometimes on programatic submission of form (drupal_execute) values in the form state get lost
  //     however, the post values always seem to be correct
  if (empty($form_state['values']['db_stock_id'])) {
    $form_state['values']['db_stock_id'] = $form_state['clicked_button']['#post']['db_stock_id'];
  }

  // Only Create if valid
  if ($form_state['values']['database'] > 0) {


    // create dbxref
    chado_query(
    "INSERT INTO {dbxref} (db_id, accession, description) VALUES (%d, '%s', '%s')", 
    $form_state['values']['database'], 
    $form_state['values']['accession'], 
    $form_state['values']['db_description']
    );

    //create stock_dbxref
    $dbxref = tripal_db_get_dbxref_by_accession($form_state['values']['accession'], $form_state['values']['database']);
    if (!empty($dbxref->dbxref_id)) {
      chado_query(
      "INSERT INTO {stock_dbxref} (stock_id, dbxref_id) VALUES (%d, %d)", 
      $form_state['values']['db_stock_id'], 
      $dbxref->dbxref_id
      );

      drupal_set_message(t('Successfully Added Database Reference'));
    }
    else {
      drupal_set_message(t('Database reference NOT successfully created...'), 'error');
    } //end of if dbxref was created successfully
  } //end of if valid db reference

}