getErrorMessage()); } $query_name = trim(getStringFromRequest('query_name')); $query_type = getStringFromRequest('query_type',0); $_status = getStringFromRequest('_status'); $_assigned_to = getStringFromRequest('_assigned_to'); $_sort_col = getStringFromRequest('_sort_col'); $_sort_ord = getStringFromRequest('_sort_ord'); $extra_fields = getStringFromRequest('extra_fields'); $_moddaterange = getStringFromRequest('_moddaterange'); $_opendaterange = getStringFromRequest('_opendaterange'); $_closedaterange = getStringFromRequest('_closedaterange'); $_summary = getStringFromRequest('_summary'); $_description = getStringFromRequest('_description'); $_followups = getStringFromRequest('_followups'); $query_options = array_keys(getArrayFromRequest('query_options')); if (!$aq->create($query_name,$_status,$_assigned_to,$_moddaterange,$_sort_col,$_sort_ord,$extra_fields,$_opendaterange,$_closedaterange, $_summary,$_description,$_followups,$query_type, $query_options)) { form_release_key(getStringFromRequest('form_key')); exit_error('Error',$aq->getErrorMessage()); } else { $feedback .= 'Successfully Created'; } $aq->makeDefault(); $query_id=$aq->getID(); header('Location: /tracker/?atid='.$atid.'&group_id='.$group_id.'&func=browse'); exit; // /* // Make the displayed query the default // } elseif ($query_action == 2) { $aq = new ArtifactQuery($ath,$query_id); if (!$aq || !is_object($aq)) { exit_error('Error',$aq->getErrorMessage()); } if (!$aq->makeDefault()) { $feedback .= $aq->getErrorMessage(); } else { $feedback .= 'Query Made Default'; } */ // // Update the name and or fields of the displayed saved query // } elseif ($query_action == 3) { if (!form_key_is_valid(getStringFromRequest('form_key'))) { exit_form_double_submit(); } $aq = new ArtifactQuery($ath,$query_id); if (!$aq || !is_object($aq)) { exit_error('Error',$aq->getErrorMessage()); } $query_name = getStringFromRequest('query_name'); $query_type = getStringFromRequest('query_type',0); $_status = getStringFromRequest('_status'); $_assigned_to = getStringFromRequest('_assigned_to'); $_sort_col = getStringFromRequest('_sort_col'); $_sort_ord = getStringFromRequest('_sort_ord'); $_moddaterange = getStringFromRequest('_moddaterange'); $_opendaterange = getStringFromRequest('_opendaterange'); $_closedaterange = getStringFromRequest('_closedaterange'); $_summary = getStringFromRequest('_summary'); $_description = getStringFromRequest('_description'); $_followups = getStringFromRequest('_followups'); $extra_fields = getStringFromRequest('extra_fields'); $query_options = array_keys(getArrayFromRequest('query_options')); if (!$aq->update($query_name,$_status,$_assigned_to,$_moddaterange,$_sort_col,$_sort_ord,$extra_fields,$_opendaterange,$_closedaterange, $_summary,$_description,$_followups,$query_type, $query_options)) { exit_error('Error',$aq->getErrorMessage()); } else { $feedback .= 'Query Updated'; } $aq->makeDefault(); $query_id=$aq->getID(); header('Location: /tracker/?atid='.$atid.'&group_id='.$group_id.'&func=browse'); exit; // // Just load the query // } elseif ($query_action == 4) { $aq = new ArtifactQuery($ath,$query_id); if (!$aq || !is_object($aq)) { exit_error('Error',$aq->getErrorMessage()); } $aq->makeDefault(); // // Delete the query // } elseif ($query_action == 5) { if (!form_key_is_valid(getStringFromRequest('form_key'))) { exit_form_double_submit(); } $aq = new ArtifactQuery($ath,$query_id); if (!$aq || !is_object($aq)) { exit_error('Error',$aq->getErrorMessage()); } if (!$aq->delete()) { $feedback .= $aq->getErrorMessage(); } else { $feedback .= 'Query Deleted'; } $query_id=0; header('Location: /tracker/?atid='.$atid.'&group_id='.$group_id.'&func=browse'); exit; } else { exit_error('Error', 'Missing Build Query Action'); } } else { $user=session_get_user(); $query_id=$user->getPreference('art_query'.$ath->getID()); $aq = new ArtifactQuery($ath,$query_id); if (!$aq || !is_object($aq)) { exit_error('Error',$aq->getErrorMessage()); } $aq->makeDefault(); } // // setup the query // $_assigned_to=$aq->getAssignee(); $_status=$aq->getStatus(); $extra_fields =& $aq->getExtraFields(); $_sort_col=$aq->getSortCol(); $_sort_ord=$aq->getSortOrd(); $_moddaterange=$aq->getModDateRange(); $_opendaterange=$aq->getOpenDateRange(); $_closedaterange=$aq->getCloseDateRange(); $_summary=$aq->getSummary(); $_description=$aq->getDescription(); $_followups=$aq->getFollowups(); $query_type=$aq->getQueryType(); // // creating a custom technician box which includes "any" and "unassigned" $tech_box=$ath->technicianBox ('_assigned_to[]',$_assigned_to,true,'none','-1',false,true); // // custom order by arrays to build a pop-up box // $order_name_arr=array(); $order_name_arr[]=_('ID'); $order_name_arr[]=_('Priority'); $order_name_arr[]=_('Summary'); $order_name_arr[]=_('Open Date'); $order_name_arr[]=_('Close Date'); $order_name_arr[]=_('Submitter'); $order_name_arr[]=_('Assignee'); $order_arr=array(); $order_arr[]='artifact_id'; $order_arr[]='priority'; $order_arr[]='summary'; $order_arr[]='open_date'; $order_arr[]='close_date'; $order_arr[]='submitted_by'; $order_arr[]='assigned_to'; // // custom sort arrays to build pop-up box // $sort_name_arr=array(); $sort_name_arr[]=_('Ascending'); $sort_name_arr[]=_('Descending'); $sort_arr=array(); $sort_arr[]='ASC'; $sort_arr[]='DESC'; // // custom changed arrays to build pop-up box // $changed_name_arr=array(); $changed_name_arr[]=_('Any changes'); $changed_name_arr[]=_('Last 24H'); $changed_name_arr[]=_('Last 7days'); $changed_name_arr[]=_('Last 2weeks'); $changed_name_arr[]=_('Last 1month'); $changed_arr=array(); $changed_arr[]= 0; $changed_arr[]= 3600 * 24; // 24 hour $changed_arr[]= 3600 * 24 * 7; // 1 week $changed_arr[]= 3600 * 24 * 14;// 2 week $changed_arr[]= 3600 * 24 * 30;// 1 month // // get queries for this user // $res = db_query_params ('SELECT artifact_query_id,query_name FROM artifact_query WHERE user_id=$1 AND group_artifact_id=$2', array(user_getid(), $ath->getID())); // Show the new pop-up boxes to select assigned to, status, etc // $ath->header(array('atid'=>$ath->getID(), 'title' =>_('Build Query'))); echo '
' . '
'. _('Build Query'). ''; echo '
'; if(db_numrows($res)>0) { echo html_build_select_box($res,'query_id',$query_id,false).''; } echo '
'; if(db_numrows($res)>0) { if ($query_type == 0 || ($query_type>0 && $ath->userIsAdmin())) { $allow_update = true; $checked[1] = ''; $checked[3] = ' checked="checked"'; } else { $allow_update = false; $checked[1] = ' checked="checked"'; $checked[3] = ''; } echo ' '._('Name and Save Query').'
'._('Load Query').'
'; if ($allow_update) { echo ' '._('Update Query').'
'._('Delete Query'); } } else { echo ' '._('Name and Save Query').'
'; } echo '
'; echo' '; if ($ath->userIsAdmin()) { $default_query = db_result(db_query_params('"SELECT query_name FROM artifact_query WHERE query_type=2 AND group_artifact_id=$1', array ($ath->getID())), 0, 'query_name'); if ($default_query) { if ($default_query == $aq->getName()) { $note = ''; } else { $note= '
'.sprintf(_('Note: The default project query is currently \'%1$s\'.'), $default_query).''; } } else { $note= '
'._('Note: There is no default project query defined.').''; } echo ' '; } echo ''; $ath->renderExtraFields($extra_fields,true,'None',true,'Any','',false,'QUERY'); // Compute the list of fields which can be sorted. // Currently, only scalar artifacts are taken. $efarr = $ath->getExtraFields(ARTIFACT_EXTRAFIELDTYPE_TEXT.",". ARTIFACT_EXTRAFIELDTYPE_TEXTAREA.",". ARTIFACT_EXTRAFIELDTYPE_INTEGER.",". ARTIFACT_EXTRAFIELDTYPE_SELECT.",". ARTIFACT_EXTRAFIELDTYPE_RADIO.",". ARTIFACT_EXTRAFIELDTYPE_STATUS); $keys=array_keys($efarr); for ($k=0; $k   '; echo ' '; echo ''; echo '
'._('Type of query').':
'. _('Private query').'
'. _('Project level query (query is public)').'
'. _('Default project query (for project level query only)').'
'.$note.'
'._('Assignee').':
'. $tech_box .'
'; if (!$ath->usesCustomStatuses()) { echo ''._('State').':
'. $ath->statusBox('_status',$_status,true,_('Any')); } echo '
'. ''._('Last Modified Date range').': (YYYY-MM-DD YYYY-MM-DD Format)

'._('Open Date range').': (YYYY-MM-DD YYYY-MM-DD Format)

'._('Close Date range').': (YYYY-MM-DD YYYY-MM-DD Format)

'. ''._('Summary').': '.$tips.'

'._('Detailed description').': '.$tips.'

'._('Followups').': '.$tips.'

'._('Order by').':
'. html_build_select_box_from_arrays($order_arr,$order_name_arr,'_sort_col',$_sort_col,false) .'
 
'.html_build_select_box_from_arrays($sort_arr,$sort_name_arr,'_sort_ord',$_sort_ord,false) .'
'. '

Options:
getQueryOptions())) ? 'checked="checked"' : '') .'/> Display a short summary box on top of the list (roadmap status).

'; echo '
'; $ath->footer(array()); // Local Variables: // mode: php // c-file-style: "bsd" // End: ?>