Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Ivlev
bugzilla
Commits
18b8582d
Commit
18b8582d
authored
Jul 27, 2002
by
gerv%gerv.net
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 150776 - Remembered query options need regrouping. Patch by gerv; r=jouni, burnus.
parent
e7cb77c3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
131 additions
and
97 deletions
+131
-97
buglist.cgi
buglist.cgi
+23
-35
knob.html.tmpl
template/en/default/search/knob.html.tmpl
+108
-62
No files found.
buglist.cgi
View file @
18b8582d
...
@@ -1064,18 +1064,22 @@ sub GenerateSQL {
...
@@ -1064,18 +1064,22 @@ sub GenerateSQL {
# Command Execution
# Command Execution
################################################################################
################################################################################
# Figure out if the user wanted to do anything besides just running the query
# Backwards-compatibility - the old interface had cmdtype="runnamed" to run
# they defined on the query page, and take appropriate action.
# a named command, and we can't break this because it's in bookmarks.
CMD:
for
(
$::FORM
{
'cmdtype'
})
{
if
(
$::FORM
{
'cmdtype'
}
eq
"runnamed"
)
{
/^runnamed$/
&&
do
{
$::FORM
{
'cmdtype'
}
=
"dorem"
;
$::FORM
{
'remaction'
}
=
"run"
;
}
# Take appropriate action based on user's request.
if
(
$::FORM
{
'cmdtype'
}
eq
"dorem"
)
{
if
(
$::FORM
{
'remaction'
}
eq
"run"
)
{
$::buffer
=
LookupNamedQuery
(
$::FORM
{
"namedcmd"
});
$::buffer
=
LookupNamedQuery
(
$::FORM
{
"namedcmd"
});
$vars
->
{
'title'
}
=
"Bug List: $::FORM{'namedcmd'}"
;
$vars
->
{
'title'
}
=
"Bug List: $::FORM{'namedcmd'}"
;
ProcessFormFields
(
$::buffer
);
ProcessFormFields
(
$::buffer
);
$order
=
$::FORM
{
'order'
}
||
$order
;
$order
=
$::FORM
{
'order'
}
||
$order
;
last
CMD
;
}
};
elsif
(
$::FORM
{
'remaction'
}
eq
"load"
)
{
/^editnamed$/
&&
do
{
my
$url
=
"query.cgi?"
.
LookupNamedQuery
(
$::FORM
{
"namedcmd"
});
my
$url
=
"query.cgi?"
.
LookupNamedQuery
(
$::FORM
{
"namedcmd"
});
print
"Refresh: 0; URL=$url\n"
;
print
"Refresh: 0; URL=$url\n"
;
print
"Content-Type: text/html\n\n"
;
print
"Content-Type: text/html\n\n"
;
...
@@ -1086,9 +1090,8 @@ CMD: for ($::FORM{'cmdtype'}) {
...
@@ -1086,9 +1090,8 @@ CMD: for ($::FORM{'cmdtype'}) {
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
||
ThrowTemplateError
(
$template
->
error
());
||
ThrowTemplateError
(
$template
->
error
());
exit
;
exit
;
};
}
elsif
(
$::FORM
{
'remaction'
}
eq
"forget"
)
{
/^forgetnamed$/
&&
do
{
confirm_login
();
confirm_login
();
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
my
$qname
=
SqlQuote
(
$::FORM
{
'namedcmd'
});
my
$qname
=
SqlQuote
(
$::FORM
{
'namedcmd'
});
...
@@ -1112,28 +1115,21 @@ CMD: for ($::FORM{'cmdtype'}) {
...
@@ -1112,28 +1115,21 @@ CMD: for ($::FORM{'cmdtype'}) {
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
||
ThrowTemplateError
(
$template
->
error
());
||
ThrowTemplateError
(
$template
->
error
());
exit
;
exit
;
};
}
}
/^asdefault$/
&&
do
{
elsif
(
$::FORM
{
'cmdtype'
}
eq
"doit"
)
{
if
(
$::FORM
{
'remember'
}
==
1
&&
$::FORM
{
'remtype'
}
eq
"asdefault"
)
{
confirm_login
();
confirm_login
();
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
my
$qname
=
SqlQuote
(
$::defaultqueryname
);
my
$qname
=
SqlQuote
(
$::defaultqueryname
);
my
$qbuffer
=
SqlQuote
(
$::buffer
);
my
$qbuffer
=
SqlQuote
(
$::buffer
);
SendSQL
(
"REPLACE INTO namedqueries (userid, name, query)
SendSQL
(
"REPLACE INTO namedqueries (userid, name, query)
VALUES ($userid, $qname, $qbuffer)"
);
VALUES ($userid, $qname, $qbuffer)"
);
print
"Content-Type: text/html\n\n"
;
# Generate and return the UI (HTML page) from the appropriate template.
# Generate and return the UI (HTML page) from the appropriate template.
$vars
->
{
'title'
}
=
"OK, default is set"
;
$vars
->
{
'message'
}
=
"OK, you now have a new default query. You may
$vars
->
{
'message'
}
=
"OK, you now have a new default query. You may
also bookmark the result of any individual query."
;
also bookmark the result of any individual query."
;
$vars
->
{
'url'
}
=
"query.cgi"
;
}
$vars
->
{
'link'
}
=
"Go back to the query page, using the new default."
;
elsif
(
$::FORM
{
'remember'
}
==
1
&&
$::FORM
{
'remtype'
}
eq
"asnamed"
)
{
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
||
ThrowTemplateError
(
$template
->
error
());
exit
;
};
/^asnamed$/
&&
do
{
confirm_login
();
confirm_login
();
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
my
$userid
=
DBNameToIdAndCheck
(
$::COOKIE
{
"Bugzilla_login"
});
...
@@ -1150,7 +1146,7 @@ CMD: for ($::FORM{'cmdtype'}) {
...
@@ -1150,7 +1146,7 @@ CMD: for ($::FORM{'cmdtype'}) {
$::buffer
=~
s/[\&\?]cmdtype=[a-z]+//
;
$::buffer
=~
s/[\&\?]cmdtype=[a-z]+//
;
my
$qbuffer
=
SqlQuote
(
$::buffer
);
my
$qbuffer
=
SqlQuote
(
$::buffer
);
my
$tofooter
=
$::FORM
{
'tofooter'
}
?
1
:
0
;
my
$tofooter
=
$::FORM
{
'tofooter'
}
?
1
:
0
;
SendSQL
(
"SELECT query FROM namedqueries WHERE userid = $userid AND name = $qname"
);
SendSQL
(
"SELECT query FROM namedqueries WHERE userid = $userid AND name = $qname"
);
if
(
FetchOneColumn
())
{
if
(
FetchOneColumn
())
{
...
@@ -1172,8 +1168,6 @@ CMD: for ($::FORM{'cmdtype'}) {
...
@@ -1172,8 +1168,6 @@ CMD: for ($::FORM{'cmdtype'}) {
}
}
}
}
print
"Content-Type: text/html\n\n"
;
# Generate and return the UI (HTML page) from the appropriate template.
if
(
$new_in_footer
)
{
if
(
$new_in_footer
)
{
my
%
query
=
(
name
=>
$name
,
my
%
query
=
(
name
=>
$name
,
query
=>
$::buffer
,
query
=>
$::buffer
,
...
@@ -1181,14 +1175,8 @@ CMD: for ($::FORM{'cmdtype'}) {
...
@@ -1181,14 +1175,8 @@ CMD: for ($::FORM{'cmdtype'}) {
push
(
@
{
$vars
->
{
'user'
}{
'queries'
}},
\%
query
);
push
(
@
{
$vars
->
{
'user'
}{
'queries'
}},
\%
query
);
}
}
$vars
->
{
'title'
}
=
"OK, query saved."
;
$vars
->
{
'message'
}
=
"OK, you have a new query named <code>$name</code>."
;
$vars
->
{
'message'
}
=
"OK, you have a new query named <code>$name</code>"
;
}
$vars
->
{
'url'
}
=
"query.cgi"
;
$vars
->
{
'link'
}
=
"Go back to the query page."
;
$template
->
process
(
"global/message.html.tmpl"
,
$vars
)
||
ThrowTemplateError
(
$template
->
error
());
exit
;
};
}
}
...
...
template/en/default/search/knob.html.tmpl
View file @
18b8582d
...
@@ -31,69 +31,115 @@
...
@@ -31,69 +31,115 @@
<br>
<br>
[% IF NOT userid %]
[% IF NOT userid %]
<input type="hidden" name="cmdtype" value="doit">
<input type="hidden" name="cmdtype" value="doit">
[% ELSE %]
[% ELSE %]
<input type="radio" name="cmdtype" value="doit" checked="checked">
<script> <!--
Run this query
function remCheckboxChanged() {
<br>
if (document.queryform.remember.checked == true) {
[% IF namedqueries.size > 0 %]
document.queryform.remtype[0].disabled = false;
<br>
document.queryform.remtype[1].disabled = false;
<table cellspacing="0" cellpadding="0">
remTypeChanged();
<tr>
}
<td>
else {
<input type="radio" name="cmdtype" value="editnamed">
document.queryform.remtype[0].disabled = true;
Load my remembered query:
document.queryform.remtype[1].disabled = true;
</td>
document.queryform.newqueryname.disabled = true;
<td rowspan="3">
document.queryform.tofooter.disabled = true;
<select name="namedcmd">
}
[% FOREACH query = namedqueries %]
}
<option value="[% query FILTER html %]">
[% query FILTER html %]</option>
function remTypeChanged() {
[% END %]
if (document.queryform.remtype[0].checked == true) {
</select>
document.queryform.newqueryname.disabled = false;
</td>
document.queryform.tofooter.disabled = false;
</tr>
}
<tr>
else {
<td>
document.queryform.newqueryname.disabled = true;
<input type="radio" name="cmdtype" value="runnamed">
document.queryform.tofooter.disabled = true;
Run my remembered query:
}
</td>
}
</tr>
<tr>
function selectDoRem() {
<td>
document.queryform.cmdtype[1].checked = true;
<input type="radio" name="cmdtype" value="forgetnamed">
}
Forget my remembered query:
// -->
</td>
</script>
</tr>
</table>
<table>
<br>
<tr>
[% END %]
<td>
<input type="radio" name="cmdtype" value="asdefault">
<input type="radio" name="cmdtype" value="doit" checked="checked">
Remember this as my default query
Run this search
<br>
</td>
<input type="radio" name="cmdtype" value="asnamed">
<td> </td>
Remember this query, and name it:
</tr>
<input type="text" name="newqueryname">
<br>
<tr>
<input type="checkbox" name="tofooter" value="1">
<td valign="top">
and put it in my page footer
<input type="checkbox" name="remember" value="1"
onclick="remCheckboxChanged()">
and remember it
</td>
<td>
<input type="radio" name="remtype" value="asnamed"
onclick="remTypeChanged()">
with this name:
<input type="text" name="newqueryname"><br>
<input type="checkbox" name="tofooter" value="1">
and put it in my page footer<br>
<input type="radio" name="remtype" value="asdefault"
onclick="remTypeChanged()">
as my default options for this page<br>
</td>
</tr>
<tr>
<td colspan="2">
[% IF namedqueries.size > 0 %]
<input type="radio" name="cmdtype" value="dorem">
<select name="remaction" onclick="selectDoRem()">
<option value="run">Run</option>
<option value="load">Load</option>
<option value="forget">Forget</option>
</select>
my remembered search:
<select name="namedcmd" onclick="selectDoRem()">
[% FOREACH query = namedqueries %]
<option value="[% query FILTER html %]">
[% query FILTER html %]</option>
[% END %]
</select>
[% END %]
</td>
</tr>
</table>
<script> <!--
remCheckboxChanged();
remTypeChanged();
// -->
</script>
[% END %]
[% END %]
<p>
<p>
Sort results by:
Sort results by:
<select name="order">
<select name="order">
[% FOREACH order = orders %]
[% FOREACH order = orders %]
<option value="[% order FILTER html %]"
<option value="[% order FILTER html %]"
[% " selected" IF default.order.0 == order %]>
[% " selected" IF default.order.0 == order %]>
[% ordersdesc.$order FILTER html %]</option>
[% ordersdesc.$order FILTER html %]</option>
[% END %]
[% END %]
</select>
</select>
<input type="submit" value="[% button_name %]">
[% IF userdefaultquery %]
<p>
<a href="query.cgi?nukedefaultquery=1">
Set my default query back to the system default</a>.
</p>
[% END %]
</p>
<input type="submit" value="[% button_name %]">
[% IF userdefaultquery %]
<p>
<a href="query.cgi?nukedefaultquery=1">
Set my default query back to the system default</a>
</p>
[% END %]
</p>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment