[Python-checkins] r88888 - in tracker/instances: board/html/_generic.index.html board/html/_generic.item.html board/html/_generic.keywords_expr.html board/html/issue.search.html board/html/page.html board/html/style.css board/schema.py jobs/html/_generic.index.html jobs/html/_generic.item.html jobs/html/_generic.keywords_expr.html jobs/html/offer.search.html jobs/html/page.html jobs/html/style.css jython/html/_generic.index.html jython/html/_generic.item.html jython/html/_generic.keywords_expr.html jython/html/issue.search.html jython/html/page.html jython/html/style.css meta/html/_generic.index.html meta/html/_generic.item.html meta/html/issue.search.html meta/html/page.html meta/html/style.css security/html/_generic.index.html security/html/_generic.item.html security/html/_generic.keywords_expr.html security/html/issue.search.html security/html/page.html security/html/style.css security/schema.py setuptools/html/_generic.index.html setuptools/html/_generic.item.html setuptools/html/_generic.keywords_expr.html setuptools/html/issue.search.html setuptools/html/page.html setuptools/html/style.css
ezio.melotti
python-checkins at python.org
Sun Aug 21 17:55:28 CEST 2011
Author: ezio.melotti
Date: Sun Aug 21 17:55:28 2011
New Revision: 88888
Log:
#411: Upgrade the other instances to 1.4.19.
Added:
tracker/instances/board/html/_generic.keywords_expr.html
tracker/instances/jobs/html/_generic.keywords_expr.html
tracker/instances/jython/html/_generic.keywords_expr.html
tracker/instances/security/html/_generic.keywords_expr.html
tracker/instances/setuptools/html/_generic.keywords_expr.html
Modified:
tracker/instances/board/html/_generic.index.html
tracker/instances/board/html/_generic.item.html
tracker/instances/board/html/issue.search.html
tracker/instances/board/html/page.html
tracker/instances/board/html/style.css
tracker/instances/board/schema.py
tracker/instances/jobs/html/_generic.index.html
tracker/instances/jobs/html/_generic.item.html
tracker/instances/jobs/html/offer.search.html
tracker/instances/jobs/html/page.html
tracker/instances/jobs/html/style.css
tracker/instances/jython/html/_generic.index.html
tracker/instances/jython/html/_generic.item.html
tracker/instances/jython/html/issue.search.html
tracker/instances/jython/html/page.html
tracker/instances/jython/html/style.css
tracker/instances/meta/html/_generic.index.html
tracker/instances/meta/html/_generic.item.html
tracker/instances/meta/html/issue.search.html
tracker/instances/meta/html/page.html
tracker/instances/meta/html/style.css
tracker/instances/security/html/_generic.index.html
tracker/instances/security/html/_generic.item.html
tracker/instances/security/html/issue.search.html
tracker/instances/security/html/page.html
tracker/instances/security/html/style.css
tracker/instances/security/schema.py
tracker/instances/setuptools/html/_generic.index.html
tracker/instances/setuptools/html/_generic.item.html
tracker/instances/setuptools/html/issue.search.html
tracker/instances/setuptools/html/page.html
tracker/instances/setuptools/html/style.css
Modified: tracker/instances/board/html/_generic.index.html
==============================================================================
--- tracker/instances/board/html/_generic.index.html (original)
+++ tracker/instances/board/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -37,7 +37,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/board/html/_generic.item.html
==============================================================================
--- tracker/instances/board/html/_generic.item.html (original)
+++ tracker/instances/board/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Added: tracker/instances/board/html/_generic.keywords_expr.html
==============================================================================
--- (empty file)
+++ tracker/instances/board/html/_generic.keywords_expr.html Sun Aug 21 17:55:28 2011
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="@@file/style.css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8;" />
+ <title tal:content="string:Roundup Keywords Expression Editor"></title>
+ </head>
+ <body class="body"
+ tal:content="structure python:utils.keywords_expressions(request)">
+ </body>
+</html>
Modified: tracker/instances/board/html/issue.search.html
==============================================================================
--- tracker/instances/board/html/issue.search.html (original)
+++ tracker/instances/board/html/issue.search.html Sun Aug 21 17:55:28 2011
@@ -12,10 +12,10 @@
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'priority';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -23,6 +23,7 @@
sort_input templates/page/macros/sort_input;
group_input templates/page/macros/group_input;
search_select templates/page/macros/search_select;
+ search_select_keywords templates/page/macros/search_select_keywords;
search_select_translated templates/page/macros/search_select_translated;
search_multiselect templates/page/macros/search_multiselect;">
@@ -191,7 +192,7 @@
db_klass string:keyword;
db_content string:name;">
<th i18n:translate="">Keyword:</th>
- <td metal:use-macro="search_select_translated">
+ <td metal:use-macro="search_select_keywords">
<option metal:fill-slot="extra_options" value="-1" i18n:translate=""
tal:attributes="selected python:value == '-1'">not set</option>
</td>
@@ -244,8 +245,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""/></td>
- <td><input type="radio" name="@group" value=""/></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''" /></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''" /></td>
</tr>
<tr>
Modified: tracker/instances/board/html/page.html
==============================================================================
--- tracker/instances/board/html/page.html (original)
+++ tracker/instances/board/html/page.html Sun Aug 21 17:55:28 2011
@@ -130,7 +130,7 @@
</li>
<li>
<a href="user?@template=register"
- tal:condition="python:request.user.hasPermission('Create', 'user')"
+ tal:condition="python:request.user.hasPermission('Register', 'user')"
i18n:translate="">Register</a>
</li>
<li><a href="user?@template=forgotten" i18n:translate="">Lost your login?</a>
@@ -283,7 +283,7 @@
<input tal:attributes="value python:request.form.getvalue(name) or nothing;
name name;
id name"/>
- <span tal:replace="structure python:db.issue.classhelp(columns,
+ <span tal:replace="structure python:db[db_klass].classhelp(columns,
property=name)" />
</td>
@@ -299,6 +299,22 @@
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
+
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/board/html/style.css
==============================================================================
--- tracker/instances/board/html/style.css (original)
+++ tracker/instances/board/html/style.css Sun Aug 21 17:55:28 2011
@@ -33,13 +33,6 @@
#searchbox { display: none;}
}
-#searchbox { float: right;}
-
-div#body-title {
- float: left;
-}
-
-
div#searchbox
{
float: right;
@@ -456,6 +449,17 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
#demowarning {
position: absolute;
Modified: tracker/instances/board/schema.py
==============================================================================
--- tracker/instances/board/schema.py (original)
+++ tracker/instances/board/schema.py Sun Aug 21 17:55:28 2011
@@ -80,6 +80,8 @@
roles=String(), # comma-separated string of Role names
timezone=String())
user.setkey("username")
+db.security.addPermission(name='Register', klass='user',
+ description='User is allowed to register new user')
# FileClass automatically gets this property in addition to the Class ones:
# content = String() [saved to disk in <tracker home>/db/files/]
@@ -287,6 +289,9 @@
description="User is allowed to view their own and public queries")
for r in 'User', 'Board', 'Coordinator':
db.security.addPermissionToRole(r, p)
+p = db.security.addPermission(name='Search', klass='query')
+for r in 'User', 'Board', 'Coordinator':
+ db.security.addPermissionToRole(r, p)
p = db.security.addPermission(name='Edit', klass='query', check=edit_query,
description="User is allowed to edit their queries")
for r in 'User', 'Board', 'Coordinator':
@@ -315,7 +320,7 @@
# Assign the appropriate permissions to the anonymous user's Anonymous
# Role. Choices here are:
# - Allow anonymous users to register
-#db.security.addPermissionToRole('Anonymous', 'Create', 'user')
+#db.security.addPermissionToRole('Anonymous', 'Register', 'user')
# Allow anonymous users access to view issues (and the related, linked
# information).
Modified: tracker/instances/jobs/html/_generic.index.html
==============================================================================
--- tracker/instances/jobs/html/_generic.index.html (original)
+++ tracker/instances/jobs/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -37,7 +37,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/jobs/html/_generic.item.html
==============================================================================
--- tracker/instances/jobs/html/_generic.item.html (original)
+++ tracker/instances/jobs/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Added: tracker/instances/jobs/html/_generic.keywords_expr.html
==============================================================================
--- (empty file)
+++ tracker/instances/jobs/html/_generic.keywords_expr.html Sun Aug 21 17:55:28 2011
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="@@file/style.css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8;" />
+ <title tal:content="string:Roundup Keywords Expression Editor"></title>
+ </head>
+ <body class="body"
+ tal:content="structure python:utils.keywords_expressions(request)">
+ </body>
+</html>
Modified: tracker/instances/jobs/html/offer.search.html
==============================================================================
--- tracker/instances/jobs/html/offer.search.html (original)
+++ tracker/instances/jobs/html/offer.search.html Sun Aug 21 17:55:28 2011
@@ -12,10 +12,10 @@
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'status';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -156,8 +156,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""/></td>
- <td><input type="radio" name="@group" value=""/></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''" /></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''" /></td>
</tr>
<tr>
Modified: tracker/instances/jobs/html/page.html
==============================================================================
--- tracker/instances/jobs/html/page.html (original)
+++ tracker/instances/jobs/html/page.html Sun Aug 21 17:55:28 2011
@@ -272,7 +272,7 @@
<input tal:attributes="value python:request.form.getvalue(name) or nothing;
name name;
id name"/>
- <span tal:replace="structure python:db.offer.classhelp(columns,
+ <span tal:replace="structure python:db[db_klass].classhelp(columns,
property=name)" />
</td>
@@ -288,6 +288,22 @@
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
+
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/jobs/html/style.css
==============================================================================
--- tracker/instances/jobs/html/style.css (original)
+++ tracker/instances/jobs/html/style.css Sun Aug 21 17:55:28 2011
@@ -33,13 +33,6 @@
#searchbox { display: none;}
}
-#searchbox { float: right;}
-
-div#body-title {
- float: left;
-}
-
-
div#searchbox
{
float: right;
@@ -452,6 +445,17 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
#demowarning {
position: absolute;
Modified: tracker/instances/jython/html/_generic.index.html
==============================================================================
--- tracker/instances/jython/html/_generic.index.html (original)
+++ tracker/instances/jython/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -37,7 +37,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/jython/html/_generic.item.html
==============================================================================
--- tracker/instances/jython/html/_generic.item.html (original)
+++ tracker/instances/jython/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Added: tracker/instances/jython/html/_generic.keywords_expr.html
==============================================================================
--- (empty file)
+++ tracker/instances/jython/html/_generic.keywords_expr.html Sun Aug 21 17:55:28 2011
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="@@file/style.css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8;" />
+ <title tal:content="string:Roundup Keywords Expression Editor"></title>
+ </head>
+ <body class="body"
+ tal:content="structure python:utils.keywords_expressions(request)">
+ </body>
+</html>
Modified: tracker/instances/jython/html/issue.search.html
==============================================================================
--- tracker/instances/jython/html/issue.search.html (original)
+++ tracker/instances/jython/html/issue.search.html Sun Aug 21 17:55:28 2011
@@ -12,10 +12,10 @@
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'priority';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -23,6 +23,7 @@
sort_input templates/page/macros/sort_input;
group_input templates/page/macros/group_input;
search_select templates/page/macros/search_select;
+ search_select_keywords templates/page/macros/search_select_keywords;
search_select_translated templates/page/macros/search_select_translated;
search_multiselect templates/page/macros/search_multiselect;">
@@ -191,9 +192,9 @@
db_klass string:keyword;
db_content string:name;">
<th i18n:translate="">Keyword:</th>
- <td metal:use-macro="search_select_translated">
+ <td metal:use-macro="search_select_keywords">
<option metal:fill-slot="extra_options" value="-1" i18n:translate=""
- tal:attributes="selected python:value == '-1'">not set</option>
+ tal:attributes="selected python:value == '-1'">not selected</option>
</td>
<td metal:use-macro="column_input"></td>
<td metal:use-macro="sort_input"></td>
@@ -244,8 +245,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""/></td>
- <td><input type="radio" name="@group" value=""/></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''" /></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''" /></td>
</tr>
<tr>
Modified: tracker/instances/jython/html/page.html
==============================================================================
--- tracker/instances/jython/html/page.html (original)
+++ tracker/instances/jython/html/page.html Sun Aug 21 17:55:28 2011
@@ -349,7 +349,7 @@
string (eg. "id,title" or "id,name,description") as well as name
-->
<input tal:attributes="value python:request.form.getvalue(name) or nothing; name name; id name" />
- <span tal:replace="structure python:db.issue.classhelp(columns, property=name)" />
+ <span tal:replace="structure python:db[db_klass].classhelp(columns, property=name)" />
</td>
<td metal:define-macro="search_select">
<select tal:attributes="name name; id name"
@@ -363,6 +363,21 @@
tal:content="python:s[db_content]"></option>
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/jython/html/style.css
==============================================================================
--- tracker/instances/jython/html/style.css (original)
+++ tracker/instances/jython/html/style.css Sun Aug 21 17:55:28 2011
@@ -33,13 +33,6 @@
#searchbox { display: none;}
}
-#searchbox { float: right;}
-
-div#body-title {
- float: left;
-}
-
-
div#searchbox
{
float: right;
@@ -453,6 +446,17 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
#demowarning {
position: absolute;
Modified: tracker/instances/meta/html/_generic.index.html
==============================================================================
--- tracker/instances/meta/html/_generic.index.html (original)
+++ tracker/instances/meta/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -39,7 +39,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/meta/html/_generic.item.html
==============================================================================
--- tracker/instances/meta/html/_generic.item.html (original)
+++ tracker/instances/meta/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Modified: tracker/instances/meta/html/issue.search.html
==============================================================================
--- tracker/instances/meta/html/issue.search.html (original)
+++ tracker/instances/meta/html/issue.search.html Sun Aug 21 17:55:28 2011
@@ -7,15 +7,15 @@
<form method="GET" name="itemSynopsis"
tal:attributes="action request/classname">
-
+
<table class="form" tal:define="
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'priority';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -164,8 +164,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""></td>
- <td><input type="radio" name="@group" value=""></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''"></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''"></td>
</tr>
<tr>
Modified: tracker/instances/meta/html/page.html
==============================================================================
--- tracker/instances/meta/html/page.html (original)
+++ tracker/instances/meta/html/page.html Sun Aug 21 17:55:28 2011
@@ -28,9 +28,6 @@
<tr>
<td class="page-header-left"> </td>
<td class="page-header-top">
- <div id="body-title">
- <h2><span metal:define-slot="body_title">body title</span></h2>
- </div>
<div id="searchbox">
<form method="GET" action="issue">
<input type="hidden" name="@columns"
@@ -41,7 +38,10 @@
<input id="search-text" name="@search_text" size="10"/>
<input type="submit" id="submit" name="submit" value="Search" i18n:attributes="value" />
</form>
- </div>
+ </div>
+ <div id="body-title">
+ <h2><span metal:define-slot="body_title">body title</span></h2>
+ </div>
</td>
</tr>
@@ -162,7 +162,7 @@
</p>
<p class="userblock">
<b i18n:translate="">Help</b><br>
- <a href="http://roundup.sourceforge.net/doc-1.0/"
+ <a href="http://www.roundup-tracker.org"
i18n:translate="">Roundup docs</a>
</p>
</td>
@@ -229,7 +229,7 @@
<input tal:attributes="value python:request.form.getvalue(name) or nothing;
name name;
id name">
- <span tal:replace="structure python:db.issue.classhelp(columns,
+ <span tal:replace="structure python:db[db_klass].classhelp(columns,
property=name)" />
</td>
@@ -245,6 +245,22 @@
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
+
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/meta/html/style.css
==============================================================================
--- tracker/instances/meta/html/style.css (original)
+++ tracker/instances/meta/html/style.css Sun Aug 21 17:55:28 2011
@@ -50,14 +50,6 @@
padding: 5px;
border-bottom: 1px solid #444;
}
-#searchbox {
- float: right;
-}
-
-div#body-title {
- float: left;
-}
-
div#searchbox {
float: right;
@@ -431,6 +423,7 @@
font-weight: bold;
text-align: left;
}
+
input[type="text"]:focus,
input[type="checkbox"]:focus,
input[type="radio"]:focus,
@@ -440,6 +433,18 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
+
/* vim: sts=2 sw=2 et
*/
/* SHA: 7243da9b4e481a0b95a5367b45baaaa45fab8998 */
Modified: tracker/instances/security/html/_generic.index.html
==============================================================================
--- tracker/instances/security/html/_generic.index.html (original)
+++ tracker/instances/security/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -37,7 +37,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/security/html/_generic.item.html
==============================================================================
--- tracker/instances/security/html/_generic.item.html (original)
+++ tracker/instances/security/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Added: tracker/instances/security/html/_generic.keywords_expr.html
==============================================================================
--- (empty file)
+++ tracker/instances/security/html/_generic.keywords_expr.html Sun Aug 21 17:55:28 2011
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="@@file/style.css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8;" />
+ <title tal:content="string:Roundup Keywords Expression Editor"></title>
+ </head>
+ <body class="body"
+ tal:content="structure python:utils.keywords_expressions(request)">
+ </body>
+</html>
Modified: tracker/instances/security/html/issue.search.html
==============================================================================
--- tracker/instances/security/html/issue.search.html (original)
+++ tracker/instances/security/html/issue.search.html Sun Aug 21 17:55:28 2011
@@ -12,10 +12,10 @@
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'priority';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -23,6 +23,7 @@
sort_input templates/page/macros/sort_input;
group_input templates/page/macros/group_input;
search_select templates/page/macros/search_select;
+ search_select_keywords templates/page/macros/search_select_keywords;
search_select_translated templates/page/macros/search_select_translated;
search_multiselect templates/page/macros/search_multiselect;">
@@ -191,7 +192,7 @@
db_klass string:keyword;
db_content string:name;">
<th i18n:translate="">Keyword:</th>
- <td metal:use-macro="search_select_translated">
+ <td metal:use-macro="search_select_keywords">
<option metal:fill-slot="extra_options" value="-1" i18n:translate=""
tal:attributes="selected python:value == '-1'">not set</option>
</td>
@@ -244,8 +245,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""/></td>
- <td><input type="radio" name="@group" value=""/></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''" /></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''" /></td>
</tr>
<tr>
Modified: tracker/instances/security/html/page.html
==============================================================================
--- tracker/instances/security/html/page.html (original)
+++ tracker/instances/security/html/page.html Sun Aug 21 17:55:28 2011
@@ -130,7 +130,7 @@
</li>
<li>
<a href="user?@template=register"
- tal:condition="python:request.user.hasPermission('Create', 'user')"
+ tal:condition="python:request.user.hasPermission('Register', 'user')"
i18n:translate="">Register</a>
</li>
<li><a href="user?@template=forgotten" i18n:translate="">Lost your login?</a>
@@ -283,7 +283,7 @@
<input tal:attributes="value python:request.form.getvalue(name) or nothing;
name name;
id name"/>
- <span tal:replace="structure python:db.issue.classhelp(columns,
+ <span tal:replace="structure python:db[db_klass].classhelp(columns,
property=name)" />
</td>
@@ -299,6 +299,22 @@
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
+
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/security/html/style.css
==============================================================================
--- tracker/instances/security/html/style.css (original)
+++ tracker/instances/security/html/style.css Sun Aug 21 17:55:28 2011
@@ -33,13 +33,6 @@
#searchbox { display: none;}
}
-#searchbox { float: right;}
-
-div#body-title {
- float: left;
-}
-
-
div#searchbox
{
float: right;
@@ -456,6 +449,17 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
#demowarning {
position: absolute;
Modified: tracker/instances/security/schema.py
==============================================================================
--- tracker/instances/security/schema.py (original)
+++ tracker/instances/security/schema.py Sun Aug 21 17:55:28 2011
@@ -87,6 +87,8 @@
roles=String(), # comma-separated string of Role names
timezone=String())
user.setkey("username")
+db.security.addPermission(name='Register', klass='user',
+ description='User is allowed to register new user')
# FileClass automatically gets this property in addition to the Class ones:
# content = String() [saved to disk in <tracker home>/db/files/]
@@ -299,6 +301,9 @@
description="User is allowed to view their own and public queries")
for r in 'User', 'Developer', 'Coordinator':
db.security.addPermissionToRole(r, p)
+p = db.security.addPermission(name='Search', klass='query')
+for r in 'User', 'Developer', 'Coordinator':
+ db.security.addPermissionToRole(r, p)
p = db.security.addPermission(name='Edit', klass='query', check=edit_query,
description="User is allowed to edit their queries")
for r in 'User', 'Developer', 'Coordinator':
@@ -327,7 +332,7 @@
# Assign the appropriate permissions to the anonymous user's Anonymous
# Role. Choices here are:
# - Allow anonymous users to register
-#db.security.addPermissionToRole('Anonymous', 'Create', 'user')
+#db.security.addPermissionToRole('Anonymous', 'Register', 'user')
# Allow anonymous users access to view issues (and the related, linked
# information).
Modified: tracker/instances/setuptools/html/_generic.index.html
==============================================================================
--- tracker/instances/setuptools/html/_generic.index.html (original)
+++ tracker/instances/setuptools/html/_generic.index.html Sun Aug 21 17:55:28 2011
@@ -39,7 +39,8 @@
<p class="form-help">
Remove entries by deleting their line. Add new entries by appending
- them to the table - put an X in the id column.
+ them to the table - put an X in the id column. If you wish to restore a
+ removed item and you know its id then just put that id in the id column.
</p>
</tal:block>
<form onSubmit="return submit_once()" method="POST"
Modified: tracker/instances/setuptools/html/_generic.item.html
==============================================================================
--- tracker/instances/setuptools/html/_generic.item.html (original)
+++ tracker/instances/setuptools/html/_generic.item.html Sun Aug 21 17:55:28 2011
@@ -44,7 +44,12 @@
</form>
-<tal:block tal:condition="context/id" tal:replace="structure context/history" />
+<tal:block tal:condition="context/id"
+ tal:define="limit python:[10, None][request.form.has_key('show_all_history')]"
+ tal:replace="structure python:context.history(limit=limit)" />
+<p tal:condition="not:exists:request/form/show_all_history" i18n:translate="">Showing 10 items.
+<a tal:attributes="href string:${context/_classname}${context/id}?show_all_history=yes">Show all history</a>
+(warning: this could be VERY long)</p>
</div>
Added: tracker/instances/setuptools/html/_generic.keywords_expr.html
==============================================================================
--- (empty file)
+++ tracker/instances/setuptools/html/_generic.keywords_expr.html Sun Aug 21 17:55:28 2011
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="@@file/style.css" />
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8;" />
+ <title tal:content="string:Roundup Keywords Expression Editor"></title>
+ </head>
+ <body class="body"
+ tal:content="structure python:utils.keywords_expressions(request)">
+ </body>
+</html>
Modified: tracker/instances/setuptools/html/issue.search.html
==============================================================================
--- tracker/instances/setuptools/html/issue.search.html (original)
+++ tracker/instances/setuptools/html/issue.search.html Sun Aug 21 17:55:28 2011
@@ -12,10 +12,10 @@
cols python:request.columns or 'id activity title status assignedto'.split();
sort_on python:request.sort and request.sort[0] or nothing;
sort_desc python:sort_on and sort_on[0] == '-';
- sort_on python:(sort_on and sort_on[1]) or 'activity';
+ sort_on python:(sort_on and sort_on[1]) or (not request.nodeid and 'activity') or '';
group_on python:request.group and request.group[0] or nothing;
group_desc python:group_on and group_on[0] == '-';
- group_on python:(group_on and group_on[1]) or 'priority';
+ group_on python:(group_on and group_on[1]) or (not request.nodeid and 'priority') or '';
search_input templates/page/macros/search_input;
search_date templates/page/macros/search_date;
@@ -23,6 +23,7 @@
sort_input templates/page/macros/sort_input;
group_input templates/page/macros/group_input;
search_select templates/page/macros/search_select;
+ search_select_keywords templates/page/macros/search_select_keywords;
search_select_translated templates/page/macros/search_select_translated;
search_multiselect templates/page/macros/search_multiselect;">
@@ -54,7 +55,7 @@
db_klass string:keyword;
db_content string:name;">
<th i18n:translate="">Keyword:</th>
- <td metal:use-macro="search_select">
+ <td metal:use-macro="search_select_keywords">
<option metal:fill-slot="extra_options" value="-1" i18n:translate=""
tal:attributes="selected python:value == '-1'">not selected</option>
</td>
@@ -167,8 +168,8 @@
<th i18n:translate="">No Sort or group:</th>
<td> </td>
<td> </td>
- <td><input type="radio" name="@sort" value=""></td>
- <td><input type="radio" name="@group" value=""></td>
+ <td><input type="radio" name="@sort" value="" tal:attributes="checked python:sort_on == ''"></td>
+ <td><input type="radio" name="@group" value="" tal:attributes="checked python:group_on == ''"></td>
</tr>
<tr>
Modified: tracker/instances/setuptools/html/page.html
==============================================================================
--- tracker/instances/setuptools/html/page.html (original)
+++ tracker/instances/setuptools/html/page.html Sun Aug 21 17:55:28 2011
@@ -28,9 +28,6 @@
<tr>
<td class="page-header-left"> </td>
<td class="page-header-top">
- <div id="body-title">
- <h2><span metal:define-slot="body_title">body title</span></h2>
- </div>
<div id="searchbox">
<form method="GET" action="issue">
<input type="hidden" name="@columns"
@@ -43,7 +40,10 @@
<input type="submit" id="submit" name="submit" value="Search"
i18n:attributes="value" />
</form>
- </div>
+ </div>
+ <div id="body-title">
+ <h2><span metal:define-slot="body_title">body title</span></h2>
+ </div>
</td>
</tr>
@@ -164,7 +164,7 @@
</p>
<p class="userblock">
<b i18n:translate="">Help</b><br>
- <a href="http://roundup.sourceforge.net/doc-1.0/"
+ <a href="http://www.roundup-tracker.org"
i18n:translate="">Roundup docs</a>
</p>
</td>
@@ -231,7 +231,7 @@
<input tal:attributes="value python:request.form.getvalue(name) or nothing;
name name;
id name">
- <span tal:replace="structure python:db.issue.classhelp(columns,
+ <span tal:replace="structure python:db[db_klass].classhelp(columns,
property=name)" />
</td>
@@ -247,6 +247,22 @@
</select>
</td>
+<td metal:define-macro="search_select_keywords">
+ <div tal:attributes="id python:'''keywords_%s'''%name">
+ <select tal:attributes="name name; id name"
+ tal:define="value python:request.form.getvalue(name)">
+ <option value="" i18n:translate="">don't care</option>
+ <metal:slot define-slot="extra_options" />
+ <option value="" i18n:translate="" disabled="disabled">------------</option>
+ <option tal:repeat="s python:db[db_klass].list()"
+ tal:attributes="value s/id; selected python:value == s.id"
+ tal:content="python:s[db_content]"></option>
+ </select>
+ <a class="classhelp"
+ tal:attributes="href python:'''javascript:help_window('issue?@template=keywords_expr&property=%s&form=itemSynopsis', 350, 200)'''%name">(expr)</a>
+ </div>
+</td>
+
<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
Modified: tracker/instances/setuptools/html/style.css
==============================================================================
--- tracker/instances/setuptools/html/style.css (original)
+++ tracker/instances/setuptools/html/style.css Sun Aug 21 17:55:28 2011
@@ -50,14 +50,6 @@
padding: 5px;
border-bottom: 1px solid #444;
}
-#searchbox {
- float: right;
-}
-
-div#body-title {
- float: left;
-}
-
div#searchbox {
float: right;
@@ -421,6 +413,7 @@
font-weight: bold;
text-align: left;
}
+
input[type="text"]:focus,
input[type="checkbox"]:focus,
input[type="radio"]:focus,
@@ -429,6 +422,18 @@
background-color: #ffffc0;
}
+.calendar_display {
+ text-align: center;
+}
+
+.calendar_display td {
+ padding: 1px 4px 1px 4px;
+}
+
+.calendar_display .today {
+ background-color: #afafaf;
+}
+
/* vim: sts=2 sw=2 et
*/
/* SHA: 7243da9b4e481a0b95a5367b45baaaa45fab8998 */
More information about the Python-checkins
mailing list