|
From: <fed...@us...> - 2010-04-13 01:01:53
|
Revision: 297
http://bugzilla-ru.svn.sourceforge.net/bugzilla-ru/?rev=297&view=rev
Author: fedrushkov
Date: 2010-04-13 01:01:47 +0000 (Tue, 13 Apr 2010)
Log Message:
-----------
Work in progress
Modified Paths:
--------------
bugzilla-ru/template/ru/default/filterexceptions.pl
bugzilla-ru/template/ru/default/reports/duplicates-simple.html.tmpl
bugzilla-ru/template/ru/default/reports/duplicates-table.html.tmpl
bugzilla-ru/template/ru/default/reports/duplicates.html.tmpl
bugzilla-ru/template/ru/default/search/form.html.tmpl
Modified: bugzilla-ru/template/ru/default/filterexceptions.pl
===================================================================
--- bugzilla-ru/template/ru/default/filterexceptions.pl 2010-03-31 22:19:36 UTC (rev 296)
+++ bugzilla-ru/template/ru/default/filterexceptions.pl 2010-04-13 01:01:47 UTC (rev 297)
@@ -92,20 +92,6 @@
'request.attach_id',
],
-'reports/duplicates-table.html.tmpl' => [
- 'column.name',
- 'column.description',
- 'bug.count',
- 'bug.delta',
-],
-
-'reports/duplicates.html.tmpl' => [
- 'bug_ids_string',
- 'maxrows',
- 'changedsince',
- 'reverse',
-],
-
'reports/keywords.html.tmpl' => [
'keyword.bug_count',
],
Modified: bugzilla-ru/template/ru/default/reports/duplicates-simple.html.tmpl
===================================================================
--- bugzilla-ru/template/ru/default/reports/duplicates-simple.html.tmpl 2010-03-31 22:19:36 UTC (rev 296)
+++ bugzilla-ru/template/ru/default/reports/duplicates-simple.html.tmpl 2010-04-13 01:01:47 UTC (rev 297)
@@ -15,7 +15,9 @@
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
- # Contributor(s): Gervase Markham <ge...@ge...>
+ # Contributor(s):
+ # Gervase Markham <ge...@ge...>
+ # Max Kanat-Alexander <mk...@bu...>
#
# Russian translation: Vitaly Fedrushkov <fed...@us...>
#%]
@@ -26,8 +28,9 @@
[% PROCESS global/variables.none.tmpl %]
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
<html>
-
[% IF product %]
[% title = "Наиболее частые $terms.bugs продукта $product" %]
[% ELSE %]
@@ -41,5 +44,4 @@
<body>
[% PROCESS "reports/duplicates-table.html.tmpl" %]
</body>
-
</html>
Modified: bugzilla-ru/template/ru/default/reports/duplicates-table.html.tmpl
===================================================================
--- bugzilla-ru/template/ru/default/reports/duplicates-table.html.tmpl 2010-03-31 22:19:36 UTC (rev 296)
+++ bugzilla-ru/template/ru/default/reports/duplicates-table.html.tmpl 2010-04-13 01:01:47 UTC (rev 297)
@@ -15,23 +15,18 @@
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
- # Contributor(s): Gervase Markham <ge...@ge...>
+ # Contributor(s):
+ # Gervase Markham <ge...@ge...>
+ # Max Kanat-Alexander <mk...@bu...>
#
# Russian translation: Vitaly Fedrushkov <fed...@us...>
#%]
[%# INTERFACE:
- # bugs: list of hashes. May be empty. Each hash has nine members:
- # id: integer. The bug number
+ # bugs: list of hashes. May be empty. Each hash has three members:
+ # bug: A Bugzilla::Bug object
# count: integer. The number of dupes
# delta: integer. The change in count in the last $changedsince days
- # component: string. The bug's component
- # bug_severity: string. The bug's severity.
- # op_sys: string. The bug's reported OS.
- # target_milestone: string. The bug's TM.
- # short_desc: string. The bug's summary.
- # bug_status: string. The bug's status.
- # resolution: string. The bug's resolution, if any.
#
# bug_ids: list of integers. May be empty. The IDs of the bugs in $bugs.
#
@@ -40,99 +35,89 @@
# maxrows: integer. Max number of rows to display.
# changedsince: integer. The number of days ago for the changedsince column.
# openonly: boolean. True if we are only showing open bugs.
- # query_products: list of strings. Restrict to these products only.
+ # product: array of strings. Restrict to these products only.
#%]
-[% PROCESS global/variables.none.tmpl %]
+[% PROCESS "global/field-descs.none.tmpl" %]
[%# *** Column Headers *** %]
-[% IF bug_ids.size > 0 %]
- <table border>
- <thead>
- <tr bgcolor="#CCCCCC">
- [% FOREACH column = [ { name => "id", description => "$terms.Bug" },
- { name => "count", description => "Кол-во<br>дублей" },
- { name => "delta",
- description => "Изменения за<br>$changedsince дней" },
- { name => "component", description => "Компонент" },
- { name => "bug_severity", description => "Серьезность" },
- { name => "op_sys", description => "ОС" },
- { name => "target_milestone",
- description => "Запланировано" },
- { name => "short_desc", description => "Аннотация" } ]
- %]
+[% SET columns = [
+ { name => "id", description => "$terms.Bug" },
+ { name => "count", description => "Кол-во<br>дублей" },
+ { name => "delta",
+ description => "Изменения за<br>$changedsince дней" },
+ { name => "component", description => field_descs.component },
+ { name => "bug_severity", description => field_descs.bug_severity },
+ { name => "op_sys", description => field_descs.op_sys },
+ { name => "target_milestone", description => field_descs.target_milestone },
+ { name => "short_desc", description => field_descs.short_desc },
+] %]
- <th>
- [% bug_ids_string = bug_ids.join(',') %]
- <a href="duplicates.cgi?sortby=[% column.name %]
- [% IF sortby == column.name %]
- [% "&reverse=1" IF NOT reverse %]
- [% ELSE %]
- [%-# Some columns start off reversed %]
- [% "&reverse=1" IF column.name.match('delta|count') %]
- [% END %]
- [% IF maxrows %]&maxrows=[% maxrows FILTER html %][% END %]
- [% IF changedsince %]&changedsince=[% changedsince FILTER html %][% END %]
- [% "&openonly=1" IF openonly %]
- [% FOREACH p = query_products %]&product=[% p FILTER html %][% END %]
- [% IF format %]&format=[% format FILTER html %][% END %]
- [% IF sortvisible %]&bug_id=[% bug_ids_string FILTER html %]&sortvisible=1[% END %]">
- [% column.description %]</a>
+[% SET base_args = [] %]
+[% FOREACH param = ['maxrows', 'openonly', 'format', 'sortvisible',
+ 'changedsince', 'product']
+%]
+ [% NEXT IF NOT ${param}.defined %]
+ [% FOREACH value = ${param} %]
+ [% filtered_value = value FILTER url_quote %]
+ [% base_args.push("$param=$filtered_value") %]
+ [% END %]
+[% END %]
+[% IF sortvisible %]
+ [% bug_ids_string = bug_ids.nsort.join(',') FILTER url_quote %]
+ [% base_args.push("bug_id=$bug_ids_string") %]
+[% END %]
+[% base_args_string = base_args.join('&') %]
+
+[% IF bugs.size %]
+ <table id="duplicates_table" cellpadding="0" cellspacing="0">
+ <thead>
+ <tr>
+ [% FOREACH column = columns %]
+ [% IF column.name == sortby %]
+ [%# We add this to the column object so it doesn't affect future
+ # iterations of the loop.
+ #%]
+ [% column.reverse_sort = reverse ? 0 : 1 %]
+ [% END %]
+ <th class="[% column.name FILTER html %]">
+ <a href="duplicates.cgi?sortby=[% column.name FILTER url_quote %]
+ [% IF column.reverse_sort.defined %]
+ [%- %]&reverse=[% column.reverse_sort FILTER url_quote %]
+ [% END %]
+ [% IF base_args_string %]
+ [% "&$base_args_string" FILTER none %]
+ [% END %]"
+ >[% column.description FILTER none %]</a>
</th>
[% END %]
</tr>
</thead>
- [% IF NOT sortby %]
- [% sortby = "count"; reverse = "1" %]
- [% END %]
-
- [% IF sortby == "id" OR sortby == "count" OR sortby == "delta" %]
- [%# Numeric sort %]
- [% sortedbugs = bugs.nsort(sortby) %]
- [% ELSE %]
- [% sortedbugs = bugs.sort(sortby) %]
- [% END %]
-
- [% IF reverse %]
- [% bugs = sortedbugs.reverse %]
- [% ELSE %]
- [% bugs = sortedbugs %]
- [% END %]
-
[%# *** Buglist *** %]
- <tbody>
- [%# We need to keep track of the bug IDs we are actually displaying, because
- # if the user decides to sort the visible list, we need to know what that
- # list actually is. %]
- [% vis_bug_ids = [] %]
-
- [% FOREACH bug = bugs %]
- [% LAST IF loop.index() >= maxrows %]
- [% vis_bug_ids.push(bug.id) %]
-
- <tr [% "class='resolved'" IF bug.resolution != "" %]>
- <td>
- <center>
- [% bug.id FILTER bug_link(bug.id) FILTER none %]
- </center>
+ <tbody>
+ [% FOREACH item = bugs %]
+ [% SET bug = item.bug %]
+ <tr [% " class='resolved'" IF NOT bug.isopened %]>
+ <td class="id">
+ [% bug.id FILTER bug_link(bug) FILTER none %]
</td>
-
- <td>
- <center>
- [% bug.count %]
- </center>
+ <td class="count">[% item.count FILTER html %]</td>
+ <td class="delta">[% item.delta FILTER html %]</td>
+ <td class="component">[% bug.component FILTER html %]</td>
+ <td class="bug_severity">
+ [%- display_value('bug_severity', bug.bug_severity) FILTER html %]
</td>
-
- <td><center>[% bug.delta %]</center></td>
-
- <td>[% bug.component FILTER html %]</td>
- <td><center>[% display_value("bug_severity", bug.bug_severity ) FILTER html %]</center></td>
- <td><center>[% display_value("op_sys", bug.op_sys ) FILTER html %]</center></td>
- <td><center>[% display_value("target_milestone", bug.target_milestone) FILTER html %]</center></td>
- <td>[% bug.short_desc FILTER html %]</td>
+ <td class="op_sys">
+ [%- display_value('op_sys', bug.op_sys) FILTER html %]
+ </td>
+ <td class="target_milestone">
+ [% display_value('target_milestone',
+ bug.target_milestone) FILTER html %]
+ </td>
+ <td class="short_desc">[% bug.short_desc FILTER html %]</td>
</tr>
[% END %]
</tbody>
Modified: bugzilla-ru/template/ru/default/reports/duplicates.html.tmpl
===================================================================
--- bugzilla-ru/template/ru/default/reports/duplicates.html.tmpl 2010-03-31 22:19:36 UTC (rev 296)
+++ bugzilla-ru/template/ru/default/reports/duplicates.html.tmpl 2010-04-13 01:01:47 UTC (rev 297)
@@ -21,14 +21,12 @@
#%]
[%# INTERFACE:
- # products: an array of product objects this user can see.
- #
# sortby: string. the column on which we are sorting the buglist.
# reverse: boolean. True if we are reversing the current sort.
# maxrows: integer. Max number of rows to display.
# changedsince: integer. The number of days ago for the changedsince column.
# openonly: boolean. True if we are only showing open bugs.
- # query_products: list of strings. The set of products we check for dups.
+ # product: array of strings. The set of products we check for dups.
#
# Additionally, you need to fulfill the interface to
# duplicates-table.html.tmpl.
@@ -36,9 +34,10 @@
[% PROCESS global/variables.none.tmpl %]
-[% IF query_products.size %]
+[% IF product.size %]
[% title = BLOCK %]
- Наиболее частые [% terms.Bugs %] для [% query_products.join(', ') FILTER html %]
+ Наиболее частые [% terms.Bugs %] для
+ [%+ product.join(', ') FILTER html %]
[% END %]
[% ELSE %]
[% title = "Наиболее частые $terms.bugs" %]
@@ -46,7 +45,7 @@
[% PROCESS global/header.html.tmpl
title = title
- style = ".resolved { background-color: #d9d9d9; color: #000000; }"
+ style_urls = ['skins/standard/duplicates.css']
%]
<p>
@@ -59,26 +58,26 @@
[%# *** Parameters *** %]
-[% bug_ids_string = vis_bug_ids.join(',') %]
+[% bug_ids_string = bug_ids.join(',') %]
<h3><a name="params">Изменить параметры</a></h3>
<form method="get" action="duplicates.cgi">
<input type="hidden" name="sortby" value="[% sortby FILTER html %]">
- <input type="hidden" name="reverse" value="[% reverse %]">
- <input type="hidden" name="bug_id" value="[% bug_ids_string %]">
+ <input type="hidden" name="reverse" value="[% reverse FILTER html %]">
+ <input type="hidden" name="bug_id" value="[% bug_ids_string FILTER html %]">
<table>
<tr>
<td>Сортировка и фильтр применяются к:</td>
<td>
<input type="radio" name="sortvisible" id="entirelist" value="0"
- [%+ "checked" IF NOT sortvisible %]>
+ [% ' checked="checked"' IF NOT sortvisible %]>
<label for="entirelist">
всему списку
</label>
<br>
<input type="radio" name="sortvisible" id="visiblelist" value="1"
- [%+ "checked" IF sortvisible %]>
+ [% ' checked="checked"' IF sortvisible %]>
<label for="visiblelist">
отображаемой части
</label>
@@ -86,9 +85,9 @@
<td rowspan="4" valign="top">Продукты:</td>
<td rowspan="4" valign="top">
<select name="product" size="5" multiple="multiple">
- [% FOREACH p = products %]
+ [% FOREACH p = user.get_selectable_products %]
<option name="[% p.name FILTER html %]"
- [% " selected" IF lsearch(query_products, p.name) != -1 %]
+ [% ' selected="selected"' IF product.contains(p.name) %]
>[% p.name FILTER html %]</option>
[% END %]
</select>
@@ -96,17 +95,21 @@
</tr>
<tr>
- <td>Ошибок не более:</td>
+ <td><label for="maxrows">Ошибок не более:</label></td>
<td>
- <input size="4" name="maxrows" value="[% maxrows %]">
+ <input size="4" name="maxrows" id="maxrows"
+ value="[% maxrows FILTER html %]">
</td>
</tr>
<tr>
- <td>Изменения за последние </td>
<td>
- <input size="4" name="changedsince" value="[% changedsince %]"> дней
+ <label for="changedsince">Изменения за последние </label>
</td>
+ <td>
+ <input size="4" name="changedsince" id="changedsince"
+ value="[% changedsince FILTER html %]"> дней
+ </td>
</tr>
<tr>
@@ -117,7 +120,7 @@
</td>
<td>
<input type="checkbox" name="openonly" id="openonly" value="1"
- [%+ "checked" IF openonly %]>
+ [% ' checked="checked"' IF openonly %]>
</td>
</tr>
@@ -127,10 +130,9 @@
</form>
<form method="post" action="buglist.cgi">
- <input type="hidden" name="bug_id" value="[% bug_ids_string %]">
- <input type="hidden" name="order" value="Reuse same sort as last time">
+ <input type="hidden" name="bug_id" value="[% bug_ids_string FILTER html %]">
Сформировать новый <input type="submit" id="list"
- value="список [% terms.bugs_gen %]">.
+ value="список [% terms.bugs_gen %]">.
(Порядок сортировки может измениться.)
</form>
@@ -140,14 +142,14 @@
<a name="explanation">Что такое "наиболее частые [% terms.bugs %]"?</a>
</b>
-<blockquote>
+<p>
Список наиболее частых [% terms.bugs_gen %] перечисляет
незакрытые [% terms.bugs %], которые регистрируются наиболее часто. Анализ базы
данных выполняется каждые сутки подсчетом прямых и косвенных дублей
каждой [% terms.bug_gen %]. Эти данные должны способствовать уменьшению
количества повторно регистрируемых [% terms.bugs_gen %] и повышению
производительности разработчиков.
-</blockquote>
+</p>
<b>Как пользоваться списком?</b>
@@ -165,11 +167,11 @@
<ul>
<li>Используйте <a href="query.cgi">форму поиска</a>
- для поиска уже зарегистрированных сообщений об этой проблеме.</li>
+ для поиска уже зарегистрированных сообщений об этой проблеме.</li>
<li>Если проблема уже описана, добавьте комментарий с дополнительными данными
- по проблеме, которые вы собрали.</li>
+ по проблеме, которые вы собрали.</li>
<li>Если описание проблемы не найдено, переходите к
- <a href="enter_bug.cgi">форме регистрации [% terms.bug_gen %]</a>.</li>
+ <a href="enter_bug.cgi">форме регистрации [% terms.bug_gen %]</a>.</li>
</ul>
</ul>
Modified: bugzilla-ru/template/ru/default/search/form.html.tmpl
===================================================================
--- bugzilla-ru/template/ru/default/search/form.html.tmpl 2010-03-31 22:19:36 UTC (rev 296)
+++ bugzilla-ru/template/ru/default/search/form.html.tmpl 2010-04-13 01:01:47 UTC (rev 297)
@@ -540,9 +540,9 @@
<table>
<tr>
<td>
- <select name="bugidtype">
- <option value="include"[% " selected" IF default.bugidtype.0 == "include" %]>Выбрать</option>
- <option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Исключить</option>
+ <select name="bug_id_type">
+ <option value="anyexact"[% " selected" IF default.bug_id_type.0 == "anyexact" %]>Выбрать</option>
+ <option value="nowords"[% " selected" IF default.bug_id_type.0 == "nowords" %]>Исключить</option>
</select>
<label for="bug_id">[% terms.bugs %] номер</label>:
</td>
@@ -629,10 +629,11 @@
<select name="[% sel.name %]" id="[% sel.name %]"
multiple="multiple" size="[% sel.size %]">
[% FOREACH value = ${sel.name} %]
- [% IF value.id %]
- [%# This only applies for Resolution really %]
- <option value="[% value.name OR '---' FILTER html %]"
- [% " selected" IF lsearch(default.${sel.name}, value.name) != -1 %]>
+ [% IF value.id %]
+ [%# This only applies for Resolution really %]
+ [% v = value.name OR '---' -%]
+ <option value="[% v FILTER html %]"
+ [% " selected" IF lsearch(default.${sel.name}, v) != -1 %]>
[% display_value(sel.name, value.name) FILTER html %]
</option>
[% ELSE %]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|