|
@@ -103,7 +103,7 @@ function chado_feature_form($node, &$form_state) {
|
|
|
}
|
|
|
// if we are re constructing the form from a failed validation or ajax callback
|
|
|
// then use the $form_state['values'] values
|
|
|
- if (array_key_exists('values', $form_state)) {
|
|
|
+ if (array_key_exists('values', $form_state) and isset($form_state['values']['uniquename'])) {
|
|
|
$uniquename = $form_state['values']['uniquename'];
|
|
|
$fname = $form_state['values']['fname'];
|
|
|
$feature_type = $form_state['values']['feature_type'];
|
|
@@ -210,6 +210,28 @@ function chado_feature_form($node, &$form_state) {
|
|
|
'#default_value' => $checked,
|
|
|
'#description' => t('Check this box if this sequence should be retired'),
|
|
|
);
|
|
|
+
|
|
|
+ // PROPERTIES FORM
|
|
|
+ //---------------------------------------------
|
|
|
+ $details = array(
|
|
|
+ 'property_table' => 'featureprop', // the name of the prop table
|
|
|
+ 'base_foreign_key' => 'feature_id', // the name of the key in your base chado table
|
|
|
+ 'base_key_value' => $feature_id, // the value of feature_id for this record
|
|
|
+ 'cv_name' => 'feature_property' // the cv.name of the cv governing featureprop.type_id
|
|
|
+ );
|
|
|
+ // Adds the form elements to your current form
|
|
|
+ chado_node_properties_form($form, $form_state, $details);
|
|
|
+
|
|
|
+ // ADDITIONAL DBXREFS FORM
|
|
|
+ //---------------------------------------------
|
|
|
+ $details = array(
|
|
|
+ 'linking_table' => 'feature_dbxref', // the name of the _dbxref table
|
|
|
+ 'base_foreign_key' => 'feature_id', // the name of the key in your base chado table
|
|
|
+ 'base_key_value' => $feature_id // the value of feature_id for this record
|
|
|
+ );
|
|
|
+ // Adds the form elements to your current form
|
|
|
+ chado_node_additional_dbxrefs_form($form, $form_state, $details);
|
|
|
+
|
|
|
return $form;
|
|
|
}
|
|
|
|
|
@@ -409,6 +431,24 @@ function chado_feature_insert($node) {
|
|
|
|
|
|
// add the genbank accession and synonyms
|
|
|
chado_feature_add_synonyms($node->synonyms, $feature_id);
|
|
|
+
|
|
|
+ // * Properties Form *
|
|
|
+ $details = array(
|
|
|
+ 'property_table' => 'featureprop', // the name of the prop table
|
|
|
+ 'base_table' => 'feature', // the name of your chado base table
|
|
|
+ 'foreignkey_name' => 'feature_id', // the name of the key in your base table
|
|
|
+ 'foreignkey_value' => $feature_id // the value of the feature_id key
|
|
|
+ );
|
|
|
+ chado_node_properties_form_update_properties($node, $details);
|
|
|
+
|
|
|
+ // * Additional DBxrefs Form *
|
|
|
+ $details = array(
|
|
|
+ 'linking_table' => 'feature_dbxref', // the name of your _dbxref table
|
|
|
+ 'foreignkey_name' => 'feature_id', // the name of the key in your base table
|
|
|
+ 'foreignkey_value' => $feature_id // the value of the feature_id key
|
|
|
+ );
|
|
|
+ chado_node_additional_dbxrefs_form_update_dbxrefs($node, $details);
|
|
|
+
|
|
|
}
|
|
|
else {
|
|
|
$feature_id = $node->feature_id;
|
|
@@ -475,6 +515,24 @@ function chado_feature_update($node) {
|
|
|
|
|
|
// add the genbank synonyms
|
|
|
chado_feature_add_synonyms($node->synonyms, $feature_id);
|
|
|
+
|
|
|
+ // * Properties Form *
|
|
|
+ $details = array(
|
|
|
+ 'property_table' => 'featureprop', // the name of the prop table
|
|
|
+ 'base_table' => 'feature', // the name of your chado base table
|
|
|
+ 'foreignkey_name' => 'feature_id', // the name of the key in your base table
|
|
|
+ 'foreignkey_value' => $feature_id // the value of the feature_id key
|
|
|
+ );
|
|
|
+ chado_node_properties_form_update_properties($node, $details);
|
|
|
+
|
|
|
+ // * Additional DBxrefs Form *
|
|
|
+ $details = array(
|
|
|
+ 'linking_table' => 'feature_dbxref', // the name of your _dbxref table
|
|
|
+ 'foreignkey_name' => 'feature_id', // the name of the key in your base table
|
|
|
+ 'foreignkey_value' => $feature_id // the value of the feature_id key
|
|
|
+ );
|
|
|
+ chado_node_additional_dbxrefs_form_update_dbxrefs($node, $details);
|
|
|
+
|
|
|
}
|
|
|
else {
|
|
|
drupal_set_message(t('Unable to update feature.'), 'warning');
|