Continuing the endless quest to purge all HTML generation from
ViewVC's core libraries, turn the form hidden-values objects from HTML strings to iterable objects that templates can use to *make* HTML strings. * lib/viewvc.py (Request.get_form): Now prepare hidden values as an iterable list of objects with .name and .value attributes. (common_template_data): Don't add 'change_root_action' and 'change_root_hidden_values' data dictionary items. (prepare_hidden_values): Remove as unused. * templates/include/diff_form.ezt, * templates/include/dir_footer.ezt, * templates/include/dir_header.ezt, * templates/include/paging.ezt, * templates/include/pathrev_form.ezt, * templates/include/sort.ezt, * templates/diff.ezt, * templates/log_table.ezt, * templates/query_form.ezt, * templates/revision.ezt Iterate over hidden-values items to generate <input type="hidden" .../> output. * docs/upgrading-howto.html, * docs/template-authoring-guide.html Note these changes. git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1894 8cb11bc2-c004-0410-86c3-e597b4017df7remotes/tags/1.1.0-beta1
parent
263920a326
commit
43f5b14afa
|
@ -113,16 +113,6 @@ td {
|
|||
<var>show_logs</var> variable in the <var>options</var> section
|
||||
of the configuration file.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">change_root_action</td>
|
||||
<td>String</td>
|
||||
<td>Form action URL for the root selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">change_root_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the root selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">docroot</td>
|
||||
<td>String</td>
|
||||
|
@ -331,8 +321,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">pathrev_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the revision/tag selection form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the revision/tag selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">pathrev_clear_action</td>
|
||||
|
@ -341,8 +331,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">pathrev_clear_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the path revision clear button.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the path revision clear button.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -720,8 +710,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">diff_format_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the diff format selection form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the diff format selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">left</td>
|
||||
|
@ -900,8 +890,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">dir_paging_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the page selection form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the page selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">entries</td>
|
||||
|
@ -1098,8 +1088,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">search_re_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the regular expression search form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the regular expression search form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">show_attic_href</td>
|
||||
|
@ -1244,8 +1234,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">diff_select_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the diff selection form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the diff selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">entries</td>
|
||||
|
@ -1525,8 +1515,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">log_paging_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the page selection form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the page selection form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">logsort</td>
|
||||
|
@ -1541,8 +1531,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">logsort_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for the log sort drop down box</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for the log sort drop down box</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">mime_type</td>
|
||||
|
@ -2012,8 +2002,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">query_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for query form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for query form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">querysort</td>
|
||||
|
@ -2152,8 +2142,8 @@ td {
|
|||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">jump_rev_hidden_values</td>
|
||||
<td>String</td>
|
||||
<td>Hidden value HTML markup for revision jump form.</td>
|
||||
<td>List</td>
|
||||
<td>Hidden value name/value pairs for revision jump form.</td>
|
||||
</tr>
|
||||
<tr class="varlevel1">
|
||||
<td class="varname">limit_changes</td>
|
||||
|
|
|
@ -302,6 +302,16 @@ allow_tar = 1
|
|||
<td><em>all templates</em></td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="removed">
|
||||
<td class="varname">change_root_action</td>
|
||||
<td><em>all templates</em></td>
|
||||
<td>removed</td>
|
||||
</tr>
|
||||
<tr class="removed">
|
||||
<td class="varname">change_root_hidden_values</td>
|
||||
<td><em>all templates</em></td>
|
||||
<td>removed</td>
|
||||
</tr>
|
||||
<tr class="removed">
|
||||
<td class="varname">roots</td>
|
||||
<td><em>all templates</em> except roots.ezt</td>
|
||||
|
@ -409,26 +419,16 @@ allow_tar = 1
|
|||
<td>annotate.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">diff_format_hidden_values</td>
|
||||
<td>diff.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">diff_type</td>
|
||||
<td>diff.ezt</td>
|
||||
<td>new value: <code>f</code></td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">entries.log</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now always contains untruncated log message</td>
|
||||
</tr>
|
||||
<tr class="added">
|
||||
<td class="varname">entries.short_log</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="added">
|
||||
<td class="varname">rss_link_href</td>
|
||||
<td>query.ezt, rss.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">date_left</td>
|
||||
<td>diff.ezt</td>
|
||||
|
@ -539,31 +539,96 @@ allow_tar = 1
|
|||
<td>diff.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">dir_paging_hidden_values</td>
|
||||
<td>directory.ezt, , dir_alternate.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">entries.log</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now always contains untruncated log message</td>
|
||||
</tr>
|
||||
<tr class="added">
|
||||
<td class="varname">entries.short_log</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">search_re_hidden_values</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">search_tag_hidden_values</td>
|
||||
<td>directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">pathrev_clear_hidden_values</td>
|
||||
<td>log.ezt, log_table.ezt, directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">pathrev_hidden_values</td>
|
||||
<td>log.ezt, log_table.ezt, directory.ezt, dir_alternate.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">annotate_href</td>
|
||||
<td>log.ezt</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>renamed to <code>head_annotate_href</code></td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">diff_form_hidden_values</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">download_href</td>
|
||||
<td>log.ezt</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>renamed to <code>head_download_href</code></td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">download_text_href</td>
|
||||
<td>log.ezt</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>renamed to <code>head_download_text_href</code></td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">log_paging_hidden_values</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">logsort_hidden_values</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">prefer_markup</td>
|
||||
<td>log.ezt</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>renamed to <code>head_prefer_markup</code></td>
|
||||
</tr>
|
||||
<tr class="renamed">
|
||||
<td class="varname">view_href</td>
|
||||
<td>log.ezt</td>
|
||||
<td>log.ezt, log_table.ezt</td>
|
||||
<td>renamed to <code>head_view_href</code></td>
|
||||
</tr>
|
||||
<tr class="added">
|
||||
<td class="varname">rss_link_href</td>
|
||||
<td>query.ezt, rss.ezt</td>
|
||||
<td>added</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">query_hidden_values</td>
|
||||
<td>query_form.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
<tr class="changed">
|
||||
<td class="varname">jump_rev_hidden_values</td>
|
||||
<td>revision.ezt</td>
|
||||
<td>now is an iterable list of objects with .name and .value attributes</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
|
|
@ -412,13 +412,16 @@ class Request:
|
|||
|
||||
def get_form(self, **args):
|
||||
"""Constructs a link to another ViewVC page just like the get_link
|
||||
function except that it returns a base URL suitable for use as an HTML
|
||||
form action and a string of HTML input type=hidden tags with the link
|
||||
parameters."""
|
||||
function except that it returns a base URL suitable for use as an
|
||||
HTML form action, and an iterable object with .name and .value
|
||||
attributes representing stuff that should be in <input
|
||||
type=hidden> tags with the link parameters."""
|
||||
|
||||
url, params = apply(self.get_link, (), args)
|
||||
action = self.server.escape(urllib.quote(url, _URL_SAFE_CHARS))
|
||||
hidden_values = prepare_hidden_values(params)
|
||||
hidden_values = []
|
||||
for name, value in params.items():
|
||||
hidden_values.append(_item(name=name, value=value))
|
||||
return action, hidden_values
|
||||
|
||||
def get_link(self, view_func=None, where=None, pathtype=None, params=None):
|
||||
|
@ -1181,10 +1184,6 @@ def common_template_data(request):
|
|||
elif request.pathtype == vclib.FILE:
|
||||
data['pathtype'] = 'file'
|
||||
|
||||
data['change_root_action'], data['change_root_hidden_values'] = \
|
||||
request.get_form(view_func=view_directory, where='', pathtype=vclib.DIR,
|
||||
params={'root': None})
|
||||
|
||||
if request.path_parts:
|
||||
dir = _path_join(request.path_parts[:-1])
|
||||
data['up_href'] = request.get_url(view_func=view_directory,
|
||||
|
@ -1635,15 +1634,6 @@ def revcmp(rev1, rev2):
|
|||
rev2 = map(int, string.split(rev2, '.'))
|
||||
return cmp(rev1, rev2)
|
||||
|
||||
def prepare_hidden_values(params):
|
||||
"""returns variables from params encoded as a invisible HTML snippet.
|
||||
"""
|
||||
hidden_values = []
|
||||
for name, value in params.items():
|
||||
hidden_values.append('<input type="hidden" name="%s" value="%s" />' %
|
||||
(name, value))
|
||||
return string.join(hidden_values, '')
|
||||
|
||||
def sort_file_data(file_data, roottype, sortdir, sortby, group_dirs):
|
||||
# convert sortdir into a sign bit
|
||||
s = sortdir == "down" and -1 or 1
|
||||
|
|
|
@ -196,7 +196,7 @@
|
|||
<td>
|
||||
<form method="get" action="[diff_format_action]">
|
||||
<div>
|
||||
[diff_format_hidden_values]
|
||||
[for diff_format_hidden_values]<input type="hidden" name="[diff_format_hidden_values.name]" value="[diff_format_hidden_values.value]"/>[end]
|
||||
<select name="diff_format" onchange="submit()">
|
||||
<option value="h" [is diff_format "h"]selected="selected"[end]>Colored Diff</option>
|
||||
<option value="l" [is diff_format "l"]selected="selected"[end]>Long Colored Diff</option>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<tr>
|
||||
<td> </td>
|
||||
<td>
|
||||
[diff_select_hidden_values]
|
||||
[for diff_select_hidden_values]<input type="hidden" name="[diff_select_hidden_values.name]" value="[diff_select_hidden_values.value]"/>[end]
|
||||
Diffs between
|
||||
[if-any tags]
|
||||
<select name="r1">
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<td>
|
||||
<form method="get" action="[search_re_action]">
|
||||
<div>
|
||||
[search_re_hidden_values]
|
||||
[for search_re_hidden_values]<input type="hidden" name="[search_re_hidden_values.name]" value="[search_re_hidden_values.value]"/>[end]
|
||||
<input type="text" name="search" value="[search_re]" />
|
||||
<input type="submit" value="Show" />
|
||||
</div>
|
||||
|
@ -20,7 +20,7 @@
|
|||
<td>
|
||||
<form method="get" action="[search_tag_action]">
|
||||
<div>
|
||||
[search_tag_hidden_values]
|
||||
[for search_tag_hidden_values]<input type="hidden" name="[search_tag_hidden_values.name]" value="[search_tag_hidden_values.value]"/>[end]
|
||||
<input type="submit" value="Show all files" />
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
[is picklist_len "1"]
|
||||
[else]
|
||||
<form method="get" action="[dir_paging_action]">
|
||||
[dir_paging_hidden_values]
|
||||
[for dir_paging_hidden_values]<input type="hidden" name="[dir_paging_hidden_values.name]" value="[dir_paging_hidden_values.value]"/>[end]
|
||||
<input type="submit" value="Go to:" />
|
||||
<select name="dir_pagestart" onchange="submit()">
|
||||
[for picklist]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[else]
|
||||
<hr />
|
||||
<form method="get" action="[log_paging_action]">
|
||||
[log_paging_hidden_values]
|
||||
[for log_paging_hidden_values]<input type="hidden" name="[log_paging_hidden_values.name]" value="[log_paging_hidden_values.value]"/>[end]
|
||||
<input type="submit" value="Go to:">
|
||||
<select name="log_pagestart" onchange="submit()">
|
||||
[for picklist]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<form method="get" action="[pathrev_action]" style="display: inline">
|
||||
<div style="display: inline">
|
||||
[pathrev_hidden_values]
|
||||
[for pathrev_hidden_values]<input type="hidden" name="[pathrev_hidden_values.name]" value="[pathrev_hidden_values.value]"/>[end]
|
||||
[is roottype "cvs"]
|
||||
[define pathrev_selected][pathrev][end]
|
||||
<select name="pathrev" onchange="submit()">
|
||||
|
@ -41,7 +41,7 @@
|
|||
[if-any pathrev]
|
||||
<form method="get" action="[pathrev_clear_action]" style="display: inline">
|
||||
<div style="display: inline">
|
||||
[pathrev_clear_hidden_values]
|
||||
[for pathrev_clear_hidden_values]<input type="hidden" name="[pathrev_clear_hidden_values.name]" value="[pathrev_clear_hidden_values.value]"/>[end]
|
||||
[if-any lastrev]
|
||||
[is pathrev lastrev][else]<input type="submit" value="Set to [lastrev]" />[end]
|
||||
(<i>Current path doesn't exist after revision <strong>[lastrev]</strong></i>)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<div>
|
||||
<hr />
|
||||
<a name="logsort"></a>
|
||||
[logsort_hidden_values]
|
||||
[for logsort_hidden_values]<input type="hidden" name="[logsort_hidden_values.name]" value="[logsort_hidden_values.value]"/>[end]
|
||||
Sort log by:
|
||||
<select name="logsort" onchange="submit()">
|
||||
<option value="cvs" [is logsort "cvs"]selected="selected"[end]>Not sorted</option>
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
[# Tags ]
|
||||
[if-any entries.tags]
|
||||
<form method=get action="[pathrev_action]" >
|
||||
[pathrev_hidden_values]
|
||||
[for pathrev_hidden_values]<input type="hidden" name="[pathrev_hidden_values.name]" value="[pathrev_hidden_values.value]"/>[end]
|
||||
<select name="pathrev" onChange="submit()">
|
||||
<option value="" [is pathrev ""]selected[end]>Show all tags</option>
|
||||
[for entries.tags]
|
||||
|
|
|
@ -12,7 +12,7 @@ Browse Directory</a></p>
|
|||
<form action="[query_action]" method="get">
|
||||
|
||||
<div class="vc_query_form">
|
||||
[query_hidden_values]
|
||||
[for query_hidden_values]<input type="hidden" name="[query_hidden_values.name]" value="[query_hidden_values.value]"/>[end]
|
||||
<table cellspacing="0" cellpadding="5" class="auto">
|
||||
[is roottype "cvs"]
|
||||
[# For subversion, the branch field is not used ]
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<tr align="left">
|
||||
<th>Jump to revision:</th>
|
||||
<td>
|
||||
[jump_rev_hidden_values]
|
||||
[for jump_rev_hidden_values]<input type="hidden" name="[jump_rev_hidden_values.name]" value="[jump_rev_hidden_values.value]"/>[end]
|
||||
<input type="text" name="revision" value="[rev]" />
|
||||
<input type="submit" value="Go" />
|
||||
[if-any prev_href]
|
||||
|
|
Loading…
Reference in New Issue