r1395: - Searching of custom fields now works, but we break all saved searches
authorRobert Sesek <rsesek@bluestatic.org>
Mon, 12 Feb 2007 04:40:00 +0000 (04:40 +0000)
committerRobert Sesek <rsesek@bluestatic.org>
Mon, 12 Feb 2007 04:40:00 +0000 (04:40 +0000)
- All the custom field templates no longer need the custom array naming scheme because everything uses the form "custom<ID>"

search.php
templates/bugfield_input_checkbox.tpl
templates/bugfield_input_text.tpl
templates/bugfield_select_single.tpl

index c976aaa72b3fdaf548d7d423a1a1c477ef334695..8c5a0702f12d0e207f427c15479a18adcd013d22 100644 (file)
@@ -23,6 +23,7 @@ $fetchtemplates = array(
        'search',
        'search_results',
        'search_update',
+       'search_save',
        'trackerhome_bits',
        'list_head',
        'pagenav_bit',
@@ -231,20 +232,20 @@ if ($_REQUEST['do'] == 'process')
        );
        while ($field = $bugsys->db->fetch_array($fields_fetch))
        {
-               if (!empty($bugsys->in["field$field[fieldid]"]) OR ($field['type'] == 'select_single' AND isset($bugsys->in["field$field[fieldid]"])))
+               if (!empty($bugsys->in["custom$field[fieldid]"]) OR ($field['type'] == 'select_single' AND isset($bugsys->in["custom$field[fieldid]"])))
                {
-                       if ($field['type'] == 'input_checkbox' AND $bugsys->input_clean("field$field[fieldid]", TYPE_INT) != 0)
+                       if ($field['type'] == 'input_checkbox' AND $bugsys->input_clean("custom$field[fieldid]", TYPE_INT) != 0)
                        {
-                               $querybuild[] = "AND bugfieldvalue.field$field[fieldid] = " . (($bugsys->in["field$field[fieldid]"] > 0) ? 1 : 0);
+                               $querybuild[] = "AND bug.custom$field[fieldid] = " . ($bugsys->in["custom$field[fieldid]"] > 0 ? 1 : 0);
                        }
                        else if ($field['type'] == 'input_text')
                        {
-                               $querybuild[] = "AND bugfieldvalue.field$field[fieldid] LIKE '%" . $bugsys->in["field$field[fieldid]"] . "%'";
+                               $querybuild[] = "AND bug.custom$field[fieldid] LIKE '%" . $bugsys->in["custom$field[fieldid]"] . "%'";
                        }
-                       else if ($field['type'] == 'select_single' AND $bugsys->in["field$field[fieldid]"] != -1)
+                       else if ($field['type'] == 'select_single' AND $bugsys->in["custom$field[fieldid]"] != -1)
                        {
                                $temp = unserialize($field['selects']);
-                               $querybuild[] = "AND bugfieldvalue.field$field[fieldid] = '" . trim($temp[ intval($bugsys->in["field$field[fieldid]"]) ]) . "'";
+                               $querybuild[] = "AND bug.custom$field[fieldid] = '" . trim($temp[ intval($bugsys->in["custom$field[fieldid]"]) ]) . "'";
                        }
                }
        }
@@ -263,8 +264,6 @@ if ($_REQUEST['do'] == 'process')
                FROM " . TABLE_PREFIX . "bug AS bug
                LEFT JOIN "  . TABLE_PREFIX . "comment AS comment
                        ON (bug.bugid = comment.bugid)
-               LEFT JOIN " . TABLE_PREFIX . "bugvaluefill AS bugfieldvalue
-                       ON (bug.bugid = bugfieldvalue.bugid)
                WHERE bug.bugid <> 0
                AND bug.product IN (#<'ONBITS:VIEW'>#)
                AND (!bug.hidden OR (bug.hidden AND bug.product IN (#<'ONBITS:HIDDEN'>#))" . (can_perform('canviewownhidden') ? " OR (bug.hidden AND bug.userid = " . $bugsys->userinfo['userid'] . " AND bug.product IN (#<'ONBITS:OWNHIDDEN'>#))" : "") . ")
@@ -491,9 +490,7 @@ if ($_POST['do'] == 'doupdate')
                {
                        continue;
                }
-               
-               // TODO - need to add logging for custom fields
-               
+                               
                $api = new BugApi($bugsys);
                $log = new Logging();
                $log->set_bugid($bug['bugid']);
@@ -529,7 +526,7 @@ if ($_POST['do'] == 'doupdate')
                
                $log->add_data(false, $api->values, $log->getCommonFields());
                
-               process_custom_fields($bug['bugid'], $message);
+               process_custom_fields($api, $message);
                
                $api->update();
                $log->update_history();
@@ -642,8 +639,6 @@ if ($_REQUEST['do'] == 'save')
                $message->error_permission();
        }
        
-       $message-
-       
        eval('$template->flush("' . $template->fetch('search_save') . '");');
 }
 
index 5045a99b30059ecf17b4f5f70f05241f642f6762..acad0e05b47ba213e3450b8f13bdbfe62cf1304e 100644 (file)
@@ -1,6 +1,6 @@
        <!-- custom field$field[fieldid] -->
        <fieldset>
                <legend>$field[name] $help[field$field[fieldid]]</legend>
-               <div class="field"><if condition="$searchMode"><select name="<if condition="$show['search']">custom[$field[fieldid]]<else />field$field[fieldid]</if>"><option value="0">{@"Ignore"}</option><option value="1">{@"Yes"}</option><option value="-1">{@"No"}</option></select><else /><input name="<if condition="$show['search']">custom[$field[fieldid]]<else />custom$field[fieldid]</if>" type="checkbox" value="1"$selected /></if></div>
+               <div class="field"><if condition="$searchMode"><select name="custom$field[fieldid]"><option value="0">{@"Ignore"}</option><option value="1">{@"Yes"}</option><option value="-1">{@"No"}</option></select><else /><input name="custom$field[fieldid]" type="checkbox" value="1"$selected /></if></div>
        </fieldset>
        <!-- / custom field$field[fieldid] -->
\ No newline at end of file
index 69da9d0d39e18660878b1410e7cf9bcf45df033e..b321b1e7ed7d23c1212953410d9b80c07ff04f50 100644 (file)
@@ -1,6 +1,6 @@
        <!-- custom field$field[fieldid] -->
        <fieldset>
                <legend>$field[name] $help[field$field[fieldid]]</legend>
-               <div class="field"><input name="<if condition="$show['search']">custom[$field[fieldid]]<else />custom$field[fieldid]</if>" type="text" value="$value" size="35"<if condition="$field['maxlength']">maxlength="$field[maxlength]</if> /></div>
+               <div class="field"><input name="custom$field[fieldid]" type="text" value="$value" size="35"<if condition="$field['maxlength']">maxlength="$field[maxlength]</if> /></div>
        </fieldset>
        <!-- / custom field$field[fieldid] -->
index 80dd9711a95663945790bf2e0af4e096fc2cef73..919adab90e62f3f0254ac0b4b5b83cbe3d51a9c2 100644 (file)
@@ -1,6 +1,6 @@
        <!-- custom field$field[fieldid] -->
        <fieldset>
                <legend>$field[name] $help[field$field[fieldid]]</legend>
-               <div class="field"><select name="<if condition="$show['search']">custom[$field[fieldid]]<else />custom$field[fieldid]</if>">$options</select></div>
+               <div class="field"><select name="custom$field[fieldid]">$options</select></div>
        </fieldset>
        <!-- / custom field$field[fieldid] -->
\ No newline at end of file