Index: stormticket/stormticket.module =================================================================== --- stormticket/stormticket.module (revision 783) +++ stormticket/stormticket.module (working copy) @@ -310,7 +310,7 @@ } // TICKET CREATE / EDIT FORM -function stormticket_form(&$node) { +function stormticket_form(&$node, $form_state) { $breadcrumb = array(); $breadcrumb[] = l(t('Storm'), 'storm'); $breadcrumb[] = l(t('Tickets'), 'storm/tickets'); @@ -357,6 +357,21 @@ if (array_key_exists('organization_nid', $_GET)) $node->organization_nid = $_GET['organization_nid']; if (array_key_exists('project_nid', $_GET)) $node->project_nid = $_GET['project_nid']; if (array_key_exists('task_nid', $_GET)) $node->task_nid = $_GET['task_nid']; + + + if (empty($node->organization_nid) && !empty($form_state['post']['organization_nid'])) { + $node->organization_nid = $form_state['post']['organization_nid']; + } + if (empty($node->project_nid) && !empty($form_state['post']['project_nid'])) { + $node->project_nid = $form_state['post']['project_nid']; + } + if (empty($node->task_nid) && !empty($form_state['post']['task_nid'])) { + $node->task_nid = $form_state['post']['task_nid']; + } + if (empty($node->assigned_nid) && !empty($form_state['post']['assigned_nid'])) { + $node->assigned_nid = $form_state['post']['assigned_nid']; + } + $s_org = "SELECT n.nid, n.title FROM {stormorganization} so INNER JOIN {node} n ON so.nid=n.nid WHERE n.status=1 AND so.isactive=1 AND so.iscustomer=1 AND n.type='stormorganization' ORDER BY n.title"; } @@ -572,6 +587,28 @@ return $form; } + +/** + * Implementation of hook_form_alter() + * @param unknown_type $form + * @param unknown_type $form_state + * @param unknown_type $form_id + */ +function stormticket_form_alter(&$form, $form_state, $form_id) { + + + switch ($form_id) { + + case 'stormticket_node_form': + // AVOID FETCHING THE FORM FROM THE CACHE + unset($form['form_build_id']); + break; + + } + +} + + // INSERT / UPDATE FUNCTIONS function stormticket_insert($node) { _stormticket_beforesave($node);