|
@@ -74,8 +74,12 @@ class TripalBundleUIController extends EntityDefaultUIController {
|
|
|
function tripal_entities_tripal_bundle_form($form, &$form_state, $entityDataType) {
|
|
|
|
|
|
$entity_type = $form_state['build_info']['args'][0];
|
|
|
- $chado_basetable = $entity_type->data['data_table'];
|
|
|
- $cvterm = chado_generate_var('cvterm', array('cvterm_id' => $entity_type->data['cvterm_id']));
|
|
|
+ $chado_basetable = $entity_type->label;
|
|
|
+ $cvterm = chado_generate_var('cvterm', array('name' => $entity_type->label));
|
|
|
+
|
|
|
+ // Add a validate and submit handler to save the data in this form.
|
|
|
+ $form['#validate'] = array('tripal_entities_tripal_bundle_form_validate');
|
|
|
+ $form['#submit'] = array('tripal_entities_tripal_bundle_form_submit');
|
|
|
|
|
|
// @TODO: Move this into a css file.
|
|
|
$form['#attached']['css'] = array(
|
|
@@ -186,6 +190,41 @@ function tripal_entities_tripal_bundle_form($form, &$form_state, $entityDataType
|
|
|
return $form;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * Validate: Tripal content type edit form.
|
|
|
+ */
|
|
|
+function tripal_entities_tripal_bundle_form_validate($form, $form_state) {
|
|
|
+
|
|
|
+ $tokens_available = unserialize($form_state['values']['set_titles']['tokens']);
|
|
|
+ if (preg_match_all('/(\[\w+\.\w+\])/', $form_state['values']['set_titles']['title_format'], $matches)) {
|
|
|
+
|
|
|
+ // The matches of the first and only pattern will be our tokens.
|
|
|
+ $tokens_used = $matches[1];
|
|
|
+ // Determine if any of the tokens used were not in the original list of available tokens.
|
|
|
+ $tokens_missing = array_diff($tokens_used, array_keys($tokens_available));
|
|
|
+
|
|
|
+ if ($tokens_missing) {
|
|
|
+ $msg = t('You must only use tokens listed under available tokens. You used the following incorrect tokens: %tokens',
|
|
|
+ array('%tokens' => implode(', ', $tokens_missing)));
|
|
|
+ form_set_error('set_titles][title_format', $msg);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $msg = t('You should use at least one token in your title format or the title for all %type pages will be the same.',
|
|
|
+ array('%type' => $form_state['build_info']['args'][0]->label));
|
|
|
+ form_set_error('set_titles][title_format', $msg);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * Submit: Tripal content type edit form.
|
|
|
+ */
|
|
|
+function tripal_entities_tripal_bundle_form_submit($form, $form_state) {
|
|
|
+
|
|
|
+ //dpm($form_state, 'form state in submit');
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* Access callback for the entity API.
|
|
|
*/
|