|
@@ -183,9 +183,10 @@ function chado_add_node_form_relationships(&$form, &$form_state, $details) {
|
|
|
tripal_set_message($message, TRIPAL_WARNING);
|
|
|
tripal_report_error('tcprops_form', TRIPAL_ERROR, "Please provide either a
|
|
|
'cv_name' or 'cv_id' as an option for adding relationship to the form", array());
|
|
|
+
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
- return;
|
|
|
}
|
|
|
|
|
|
$form_state['rebuild'] = TRUE;
|
|
@@ -278,14 +279,18 @@ function chado_add_node_form_relationships(&$form, &$form_state, $details) {
|
|
|
$form['relationships'] = array(
|
|
|
'#type' => 'fieldset',
|
|
|
'#title' => t($details['fieldset_title']),
|
|
|
- '#description' => t('You may add relationships between this %nodetype and other
|
|
|
+ '#prefix' => "<div id='relationships-fieldset'>",
|
|
|
+ '#suffix' => '</div>',
|
|
|
+ '#weight' => 10
|
|
|
+ );
|
|
|
+
|
|
|
+ $form['relationships']['descrip'] = array(
|
|
|
+ '#type' => 'item',
|
|
|
+ '#markup' => t('You may add relationships between this %nodetype and other
|
|
|
%nodetype_plural by entering the details below. You may add
|
|
|
as many relationships as desired by clicking the add button on the right. To
|
|
|
remove a relationship, click the remove button. ' . $details['additional_instructions'],
|
|
|
array('%nodetype' => $details['nodetype'], '%nodetype_plural' => $details['nodetype_plural'])),
|
|
|
- '#prefix' => "<div id='relationships-fieldset'>",
|
|
|
- '#suffix' => '</div>',
|
|
|
- '#weight' => 10
|
|
|
);
|
|
|
|
|
|
$form['relationships']['admin_message'] = array(
|
|
@@ -381,7 +386,11 @@ function chado_add_node_form_relationships(&$form, &$form_state, $details) {
|
|
|
foreach ($existing_rels as $relationship) {
|
|
|
if (array_key_exists($relationship->type_id, $type_options)) {
|
|
|
|
|
|
- $rank = (isset($relationship->rank)) ? $relationship->rank : 0;
|
|
|
+ // We're using a unique id as a rank placeholder to ensure all relationships are shown
|
|
|
+ // We can't use the actual rank b/c there can be two relationships with the same type
|
|
|
+ // and rank as long as the subject_id and object_id are switched. For example, you can
|
|
|
+ // have Fred is_paternal_parent_of Max and Max is_paternal_parent_of Lui (both rank=0)
|
|
|
+ $rank = uniqid();
|
|
|
|
|
|
$form['relationships']['relationship_table'][$relationship->type_id]['#type'] = 'markup';
|
|
|
$form['relationships']['relationship_table'][$relationship->type_id]['#type'] = '';
|
|
@@ -649,7 +658,7 @@ function chado_add_node_form_relationships_add_button_submit(&$form, &$form_stat
|
|
|
'object_name' => $form_state['values']['relationship_table']['new']['object_name'],
|
|
|
'subject_id' => $form_state['node']->{$details['base_table']}->{$details['base_foreign_key']},
|
|
|
'subject_name' => $name,
|
|
|
- 'rank' => '0',
|
|
|
+ 'rank' => uniqid(),
|
|
|
);
|
|
|
// we don't want the new element to pick up the values from the previous element so wipe them out
|
|
|
unset($form_state['input']['relationship_table']['new']['object_id']);
|
|
@@ -663,7 +672,7 @@ function chado_add_node_form_relationships_add_button_submit(&$form, &$form_stat
|
|
|
'object_name' => $name,
|
|
|
'subject_id' => $form_state['values']['relationship_table']['new']['subject_id'],
|
|
|
'subject_name' => $form_state['values']['relationship_table']['new']['subject_name'],
|
|
|
- 'rank' => '0',
|
|
|
+ 'rank' => uniqid(),
|
|
|
);
|
|
|
// we don't want the new element to pick up the values from the previous element so wipe them out
|
|
|
unset($form_state['input']['relationship_table']['new']['subject_id']);
|
|
@@ -779,9 +788,9 @@ function theme_chado_add_node_form_relationships_table($variables) {
|
|
|
$details = unserialize($element['details']['#value']);
|
|
|
|
|
|
$header = array(
|
|
|
- 'object_name' => t('Object ' . $details['base_name_field']),
|
|
|
- 'type_name' => t('Type'),
|
|
|
'subject_name' => t('Subject ' . $details['base_name_field']),
|
|
|
+ 'type_name' => t('Type'),
|
|
|
+ 'object_name' => t('Object ' . $details['base_name_field']),
|
|
|
'rel_action' => t('Action')
|
|
|
);
|
|
|
|