|
@@ -1232,7 +1232,7 @@ function tripal_bulk_loader_add_template_field_form(&$form_state = NULL) {
|
|
|
|
|
|
$form['add_fields']['submit-add_field'] = array(
|
|
|
'#type' => 'submit',
|
|
|
- '#value' => 'Add Field'
|
|
|
+ '#value' => 'Save Changes'
|
|
|
);
|
|
|
|
|
|
$form['add_fields']['submit-cancel'] = array(
|
|
@@ -1243,6 +1243,23 @@ function tripal_bulk_loader_add_template_field_form(&$form_state = NULL) {
|
|
|
return $form;
|
|
|
}
|
|
|
|
|
|
+function tripal_bulk_loader_add_template_field_form_validate($form, $form_state) {
|
|
|
+
|
|
|
+ // Don't worry about validation when Cancel button is clicked
|
|
|
+ if ($form_state['clicked_button']['#value'] == 'Save Changes') {
|
|
|
+ $is_unique = tripal_bulk_loader_is_record_name_unique(
|
|
|
+ $form_state['values']['record_name'],
|
|
|
+ $form_state['values']['template_id'],
|
|
|
+ $form_state['storage']['template_array']
|
|
|
+ );
|
|
|
+ $new_record = ($form_state['values']['field_group'] == 'NEW') ? TRUE : FALSE;
|
|
|
+ if ((!$is_unique) AND $new_record) {
|
|
|
+ form_set_error('record_name', "New Record Name must be unique. '".$form_state['values']['record_name']."' is not unique.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* Add Field Submit
|
|
|
*
|
|
@@ -1256,7 +1273,7 @@ function tripal_bulk_loader_add_template_field_form_submit($form, &$form_state)
|
|
|
$op = $form_state['values'][ $form_state['clicked_button']['#name'] ];
|
|
|
|
|
|
if (!$form_state['ahah_submission']) {
|
|
|
- if ($op == 'Add Field') {
|
|
|
+ if ($op == 'Save Changes') {
|
|
|
|
|
|
$template = $form_state['storage']['template_array'];
|
|
|
|
|
@@ -1841,7 +1858,7 @@ function tripal_bulk_loader_edit_template_field_form(&$form_state = NULL) {
|
|
|
|
|
|
$form['edit_fields']['submit-edit_field'] = array(
|
|
|
'#type' => 'submit',
|
|
|
- '#value' => 'Edit Field'
|
|
|
+ '#value' => 'Save Changes'
|
|
|
);
|
|
|
|
|
|
$form['edit_fields']['submit-cancel'] = array(
|
|
@@ -1852,6 +1869,23 @@ function tripal_bulk_loader_edit_template_field_form(&$form_state = NULL) {
|
|
|
return $form;
|
|
|
}
|
|
|
|
|
|
+function tripal_bulk_loader_edit_template_field_form_validate($form, $form_state) {
|
|
|
+
|
|
|
+ // Don't worry about validation when Cancel button is clicked
|
|
|
+ if ($form_state['clicked_button']['#value'] == 'Save Changes') {
|
|
|
+ $is_unique = tripal_bulk_loader_is_record_name_unique(
|
|
|
+ $form_state['values']['record_name'],
|
|
|
+ $form_state['values']['template_id'],
|
|
|
+ $form_state['storage']['template_array']
|
|
|
+ );
|
|
|
+ $new_record = ($form_state['values']['field_group'] == 'NEW') ? TRUE : FALSE;
|
|
|
+ if ((!$is_unique) AND $new_record) {
|
|
|
+ form_set_error('record_name', "New Record Name must be unique. '".$form_state['values']['record_name']."' is not unique.");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* Edit Field Form Submit
|
|
|
*
|
|
@@ -1870,7 +1904,7 @@ function tripal_bulk_loader_edit_template_field_form_submit($form, &$form_state)
|
|
|
$form_state['storage']['test_regex_test'] = NULL;
|
|
|
|
|
|
if (!$form_state['ahah_submission']) {
|
|
|
- if ($op == 'Edit Field') {
|
|
|
+ if ($op == 'Save Changes') {
|
|
|
|
|
|
// If new record
|
|
|
if (preg_match('/NEW/', $form_state['values']['field_group'])) {
|
|
@@ -2074,6 +2108,56 @@ function tripal_bulk_loader_edit_template_field_form_submit($form, &$form_state)
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * @section
|
|
|
+ * Helper Functions
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * Meant to be called from a form_validate function to ensure a newly added bulk loader record
|
|
|
+ * name is unique and not empty.
|
|
|
+ *
|
|
|
+ * @param $new_record_name
|
|
|
+ * The record name to check for uniqueness
|
|
|
+ * @param $template_id
|
|
|
+ * The template_id of the template to add the record to
|
|
|
+ * @param $template_array
|
|
|
+ * The array describing the template. Optional -will be loaded using template_id if not provided
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * TRUE if the record name is not empty and not already in the template_array; FALSE otherwise
|
|
|
+ */
|
|
|
+function tripal_bulk_loader_is_record_name_unique($new_record_name, $template_id, $template_array = NULL) {
|
|
|
+
|
|
|
+ // get the template array if it's not supplied
|
|
|
+ if (empty($template_array)) {
|
|
|
+ $template = db_fetch_object(db_query("SELECT * FROM {tripal_bulk_loader_template} WHERE template_id=%d",$template_id));
|
|
|
+ $template_array = unserialize($template->template_array);
|
|
|
+ if (!is_array($template_array)) {
|
|
|
+ watchdog(
|
|
|
+ 'tripal_bulk_loader',
|
|
|
+ 'Unable to retrieve template array from database where template_id=%template_id',
|
|
|
+ array('%template_id' => $template_id),
|
|
|
+ WATCHDOG_WARNING
|
|
|
+ );
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Check that the new record name is not empty
|
|
|
+ if (empty($new_record_name)) {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Check the new record name is unique
|
|
|
+ foreach ($template_array as $t) {
|
|
|
+ if (strcmp($t['record_id'], $new_record_name) == 0) {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return TRUE;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* @section
|
|
|
* AHAH Callbacks
|