# HG changeset patch # User Paul Boddie # Date 1275833945 -7200 # Node ID 5d31df11531b8cda1ba81d54d08a0a7017163241 Import of the Roundup classic templates with copyright and licensing information. diff -r 000000000000 -r 5d31df11531b COPYING.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COPYING.txt Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,24 @@ +Roundup Licensing +----------------- + +Copyright (c) 2003-2009 Richard Jones (richard@mechanicalcat.net) +Copyright (c) 2002 eKit.com Inc (http://www.ekit.com/) +Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.404.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.404.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,9 @@ + + +Item Not Found + + + +There is no with id + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.calendar.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.calendar.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,18 @@ + + + + + + + + + + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.collision.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.collision.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,16 @@ + +<span tal:replace="python:context._classname.capitalize()" + i18n:name="class" /> Edit Collision - <span i18n:name="tracker" + tal:replace="config/TRACKER_NAME" /> + Edit Collision + + + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.help-empty.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.help-empty.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,8 @@ + + + Empty page (no search performed yet) + + +

Please specify your search parameters!

+ + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.help-list.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.help-list.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,83 @@ + + + Search result for user helper + + + + + + +
+
+  

You are not + allowed to view this page.

+ + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + +
 x
+ + + +
+
+
+
+ +
+     
+  
+
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.help-search.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/themes/mercurialroundup/html/_generic.help-search.html	Sun Jun 06 16:19:05 2010 +0200
@@ -0,0 +1,13 @@
+
+  
+    Frame for search input fields
+  
+  
+    

Generic template + help-search + or version for class + user + is not yet implemented

+ + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.help-submit.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.help-submit.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,73 @@ + + + + + + Generic submit page for framed helper windows + + + + + +
+ 
+
+ +
+ + + + +
+ + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.help.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.help.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,98 @@ + + + + + + + <tal:x i18n:name="property" + tal:content="property" i18n:translate="" /> help - <span i18n:name="tracker" + tal:replace="config/TRACKER_NAME" /> + + + + + +
+ +
+ + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + +
 x
+ + + +
 x
+ +
+ + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.index.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,71 @@ + + + +<span tal:replace="python:context._classname.capitalize()" + i18n:name="class" /> editing - <span i18n:name="tracker" + tal:replace="config/TRACKER_NAME" /> + editing + + + +You are not allowed to view this page. + +Please login with your username and password. + + + +

+ You may edit the contents of the + + class using this form. Commas, newlines and double quotes (") must be + handled delicately. You may include commas and newlines by enclosing the + values in double-quotes ("). Double quotes themselves must be quoted by + doubling (""). +

+ +

+ Multilink properties have their multiple values colon (":") separated + (... ,"one:two:three", ...) +

+ +

+ Remove entries by deleting their line. Add new entries by appending + 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. +

+
+
+ +
+ + +
+
+ + + + + + + + + + +
 
 
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/_generic.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/_generic.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,58 @@ + +<span tal:replace="python:context._classname.capitalize()" + i18n:name="class" /> editing - <span i18n:name="tracker" + tal:replace="config/TRACKER_NAME" /> + editing + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ +
+ +
+ + + + + + + + + + + + + + + +
  + submit button will go here +
+ +
+ + +

Showing 10 items. +Show all history +(warning: this could be VERY long)

+ +
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/file.index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/file.index.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,31 @@ + + +List of files - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" /> +List of files + + + + + + + + + + + + + + + + + +
DownloadContent TypeUploaded ByDate
+ dld link + content typecreator's namecreation date
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/file.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/file.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,53 @@ + +File display - <span + i18n:name="tracker" tal:replace="config/TRACKER_NAME" /> +File display + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ +
+ + + + + + + + + + + + + + + +
Name
Content Type
+   + + + + submit button here
+
+ +download + + + + + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/help.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/help.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,38 @@ + + + + + + x + + + + + + + + + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/help_controls.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/help_controls.js Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,324 @@ +// initial values for either Nosy, Superseder, Keyword and Waiting On, +// depending on which has called +original_field = form[field].value; + +// Some browsers (ok, IE) don't define the "undefined" variable. +undefined = document.geez_IE_is_really_friggin_annoying; + +function trim(value) { + var temp = value; + var obj = /^(\s*)([\W\w]*)(\b\s*$)/; + if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } + var obj = / /g; + while (temp.match(obj)) { temp = temp.replace(obj, " "); } + return temp; +} + +function determineList() { + // generate a comma-separated list of the checked items + var list = new String(''); + + // either a checkbox object or an array of checkboxes + var check = document.frm_help.check; + + if ((check.length == undefined) && (check.checked != undefined)) { + // only one checkbox on page + if (check.checked) { + list = check.value; + } + } else { + // array of checkboxes + for (box=0; box < check.length; box++) { + if (check[box].checked) { + if (list.length == 0) { + separator = ''; + } + else { + separator = ','; + } + // we used to use an Array and push / join, but IE5.0 sux + list = list + separator + check[box].value; + } + } + } + return list; +} + +/** + * update the field in the opening window; + * the text_field variable must be set in the calling page + */ +function updateOpener() { + // write back to opener window + if (document.frm_help.check==undefined) { return; } + form[field].value = text_field.value; +} + +function updateList() { + // write back to opener window + if (document.frm_help.check==undefined) { return; } + form[field].value = determineList(); +} + +function updatePreview() { + // update the preview box + if (document.frm_help.check==undefined) { return; } + writePreview(determineList()); +} + +function clearList() { + // uncheck all checkboxes + if (document.frm_help.check==undefined) { return; } + for (box=0; box < document.frm_help.check.length; box++) { + document.frm_help.check[box].checked = false; + } +} + +function reviseList_framed(form, textfield) { + // update the checkboxes based on the preview field + // alert('reviseList_framed') + // alert(form) + if (form.check==undefined) + return; + // alert(textfield) + var to_check; + var list = textfield.value.split(","); + if (form.check.length==undefined) { + check = form.check; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } else { + for (box=0; box < form.check.length; box++) { + check = form.check[box]; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } + } +} + +function reviseList(vals) { + // update the checkboxes based on the preview field + if (document.frm_help.check==undefined) { return; } + var to_check; + var list = vals.split(","); + if (document.frm_help.check.length==undefined) { + check = document.frm_help.check; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } else { + for (box=0; box < document.frm_help.check.length; box++) { + check = document.frm_help.check[box]; + to_check = false; + for (val in list) { + if (check.value==trim(list[val])) { + to_check = true; + break; + } + } + check.checked = to_check; + } + } +} + +function resetList() { + // reset preview and check boxes to initial values + if (document.frm_help.check==undefined) { return; } + writePreview(original_field); + reviseList(original_field); +} + +function writePreview(val) { + // writes a value to the text_preview + document.frm_help.text_preview.value = val; +} + +function focusField(name) { + for(i=0; i < document.forms.length; ++i) { + var obj = document.forms[i].elements[name]; + if (obj && obj.focus) {obj.focus();} + } +} + +function selectField(name) { + for(i=0; i < document.forms.length; ++i) { + var obj = document.forms[i].elements[name]; + if (obj && obj.focus){obj.focus();} + if (obj && obj.select){obj.select();} + } +} + +function checkRequiredFields(fields) +{ + var bonk=''; + var res=''; + var argv = checkRequiredFields.arguments; + var argc = argv.length; + var input = ''; + var val=''; + + for (var i=0; i < argc; i++) { + fi = argv[i]; + input = document.getElementById(fi); + if (input) { + val = input.value + if (val == '' || val == '-1' || val == -1) { + if (res == '') { + res = fi; + bonk = input; + } else { + res += ', '+fi; + } + } + } else { + alert('Field with id='+fi+' not found!') + } + } + if (res == '') { + return submit_once(); + } else { + alert('Missing value here ('+res+')!'); + if (window.event && window.event.returnvalue) { + event.returnValue = 0; // work-around for IE + } + bonk.focus(); + return false; + } +} + +/** + * seeks the given value (2nd argument) + * in the value of the given input element (1st argument), + * which is considered a list of values, separated by commas + */ +function has_value(input, val) +{ + var actval = input.value + var arr = feld.value.split(','); + var max = arr.length; + for (i=0;i remove_val() + * + * This will work nicely even for batched lists + */ +function append_val(name, val) +{ + var feld = document.itemSynopsis[name]; + var actval = feld.value; + if (actval == '') { + feld.value = val + } else { + var arr = feld.value.split(','); + var max = arr.length; + for (i=0;i append_val() + */ +function remove_val(name, val) +{ + var feld = document.itemSynopsis[name]; + var actval = feld.value; + var changed=false; + if (actval == '') { + return + } else { + var arr = feld.value.split(','); + var max = arr.length; + var neu = '' + for (i=0;i +List of classes - <span + i18n:name="tracker" tal:replace="config/TRACKER_NAME" /> +List of classes + + + + + + + + + + + + + +
+ classname +
nametype
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/home.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/home.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,10 @@ + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/issue.index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/issue.index.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,166 @@ + + + + <span tal:omit-tag="true" i18n:translate="" >List of issues</span> + <span tal:condition="request/dispname" + tal:replace="python:' - %s '%request.dispname" + /> - <span tal:replace="config/TRACKER_NAME" /> + + + List of issues + + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PriorityIDCreationActivityActorKeywordTitleStatusCreatorAssigned To
+ + + +
       + title +    
+ + + + + + +
+
+ +Download as CSV + +
+ + + + + + + + + + + + + + + + + + + +
+ Sort on: + + + Descending: +
+ Group on: + + + Descending: +
+ + +
+
+ +
+ + +
vim: sw=1 ts=8 et si + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/issue.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/issue.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,197 @@ + + + +<tal:block condition="context/id" i18n:translate="" + >Issue <tal:x tal:content="context/id" i18n:name="id" + />: <tal:x content="context/title" i18n:name="title" + /> - <tal:x content="config/TRACKER_NAME" i18n:name="tracker" +/></tal:block> +<tal:block condition="not:context/id" i18n:translate="" + >New Issue - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" +/></tal:block> + + + New Issue + New Issue Editing + Issue + Issue Editing + + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Titletitle
PrioritypriorityStatusstatus
Superseder + + + +
View: + +
+
Nosy List + +
+
Assigned Toassignedto menuKeywords + + +
Change Note + +
File
+   + + + + submit button + Make a copy +
+
+ + + + + + + + +
Note: highlighted fields are required.
+
+ +

+ Created on + by , + last changed + by . +

+ + + + + + + + + + + + + + + + +
Files
File nameUploadedTypeEditRemove
+ dld link + + creator's name, + creation date + + edit + +
+ + + +
+
+ + + + + + + + + + + + + + +
Messages
msg (view)Author: Date: +
+ + + +
+
+
content
+
+ + + +
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/issue.search.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/issue.search.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,234 @@ + +Issue searching - <span + i18n:name="tracker" tal:replace="config/TRACKER_NAME" /> +Issue searching + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Filter onDisplaySort onGroup on
All text*:   
Title: 
Keyword: + +
ID: 
Creation Date:
Creator: + +
Activity: 
Actor: + +  
Priority: + +
Status: + + + + +
Assigned to: + + + + +
No Sort or group:  
Pagesize:
Start With:
Sort Descending: +
Group Descending: +
Query name**: + + +
+   + +
  + + *: The "all text" field will look in message bodies and issue titles +
+ + **: If you supply a name, the query will be saved off and available as a + link in the sidebar + +
+ +
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/keyword.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/keyword.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,55 @@ + + +Keyword editing - <span + i18n:name="tracker" tal:replace="config/TRACKER_NAME" /> +Keyword editing + + + + + + + + + + +
Existing Keywords
+ keyword here +
+ To edit an existing keyword (for spelling or typing errors), + click on its entry above. +
+ +

+ To create a new keyword, enter it below and click "Submit New Entry". +

+ +
+ + + + + + + + + + + +
Keywordname
+   + + + + submit button will go here +
+
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/msg.index.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/msg.index.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,25 @@ + +List of messages - <span tal:replace="config/TRACKER_NAME" + i18n:name="tracker"/> +Message listing + + + + + + + + + + + + + + + +
Messages
authordate
content
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/msg.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/msg.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,83 @@ + + + +<tal:block condition="context/id" i18n:translate="" + >Message <span tal:replace="context/id" i18n:name="id" + /> - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" +/></tal:block> +<tal:block condition="not:context/id" i18n:translate="" + >New Message - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" +/></tal:block> + + + New Message + New Message Editing + Message + Message Editing + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ +
+ + + + + + + + + + + + + + + + +
Author
Recipients
Date
+ + + + + + +
Content
+ + + + + + + + + + + +
Files
File nameUploaded
+ dld link + + creator's name, + creation date +
+ + + +
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/page.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/page.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,347 @@ + + + +title goes here + + + + + + + + + + + + + + + + + + + + + + + +
  + +
+

body title

+
+
+

+

+ + clear this message +

+
Page content goes here
+ +
+
+ + + +
+ + + + + + + + + + + + + + + + (cal) + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
  • + +
  • +
  • + + +
  • +
+ + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/query.edit.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/query.edit.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,111 @@ + + +"Your Queries" Editing - <span tal:replace="config/TRACKER_NAME" + i18n:name="tracker" /> +"Your Queries" Editing + + + +You are not allowed to edit queries. + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
QueryInclude in "Your Queries"EditPrivate to you? 
query + + + [query is retired]
query + + edit + + + +
query + + + edit + [not yours to edit]
+ + + +
+ +
+ +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/query.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/query.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,3 @@ + + + diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/style.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/style.css Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,438 @@ +/* main page styles */ +body.body { + font-family: sans-serif, Arial, Helvetica; + background-color: white; + color: #333; + margin: 0; +} +a[href]:hover { + color:blue; + text-decoration: underline; +} +a[href], a[href]:link { + color:blue; + text-decoration: none; +} + +table.body { + border: 0; + padding: 0; + border-spacing: 0; + border-collapse: separate; +} + +td.page-header-left { + padding: 5px; + border-bottom: 1px solid #444; +} +td.sidebar { + padding: 1px 0 0 1px; + white-space: nowrap; +} + +/* don't display the sidebar when printing */ +@media print { + td.page-header-left { + display: none; + } + td.sidebar { + display: none; + } + .index-controls { + display: none; + } + #searchbox { + display: none; + } +} + +td.page-header-top { + padding: 5px; + border-bottom: 1px solid #444; +} + +div#searchbox { + float: right; + padding-top: 1em; +} + +div#searchbox input#search-text { + width: 10em; +} + +form { + margin: 0; +} + +textarea { + font-family: monospace; +} + +td.sidebar p.classblock { + padding: 2px 5px 2px 5px; + margin: 1px; + border: 1px solid #444; + background-color: #eee; +} + +td.sidebar p.userblock { + padding: 2px 5px 2px 5px; + margin: 1px 1px 1px 1px; + border: 1px solid #444; + background-color: #eef; +} + +.form-small { + padding: 0; + font-size: 75%; +} + + +td.content { + padding: 1px 5px 1px 5px; + vertical-align: top; + width: 100%; +} + +td.date, th.date { + white-space: nowrap; +} + +p.ok-message { + background-color: #22bb22; + padding: 5px; + color: white; + font-weight: bold; +} +p.error-message { + background-color: #bb2222; + padding: 5px; + color: white; + font-weight: bold; +} +p.error-message a[href] { + color: white; + text-decoration: underline; +} + + +/* style for search forms */ +ul.search-checkboxes { + display: inline; + padding: 0; + list-style: none; +} +ul.search-checkboxes > li { + display: inline; + padding-right: .5em; +} + + +/* style for forms */ +table.form { + padding: 2px; + border-spacing: 0; + border-collapse: separate; +} + +table.form th { + color: #338; + text-align: right; + vertical-align: top; + font-weight: normal; + white-space: nowrap; +} + +table.form th.header { + font-weight: bold; + background-color: #eef; + text-align: left; +} + +table.form th.required { + font-weight: bold; +} + +table.form td { + color: #333; + empty-cells: show; + vertical-align: top; +} + +table.form td.optional { + font-weight: bold; + font-style: italic; +} + +table.form td.html { + color: #777; +} + +/* style for lists */ +table.list { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.list th { + padding: 0 4px 0 4px; + color: #404070; + background-color: #eef; + border: 1px solid white; + vertical-align: top; + empty-cells: show; +} +table.list th a[href]:hover { color: #404070 } +table.list th a[href]:link { color: #404070 } +table.list th a[href] { color: #404070 } +table.list th.group { + background-color: #f4f4ff; + text-align: center; +} + +table.list td { + padding: 0 4px 0 4px; + border: 1px solid white; + color: #404070; + background-color: #efefef; + vertical-align: top; + empty-cells: show; +} + +table.list tr.navigation th { + width: 33%; + border-style: hidden; + text-align: center; +} +table.list tr.navigation td { + border: none +} +table.list tr.navigation th:first-child { + text-align: left; +} +table.list tr.navigation th:last-child { + text-align: right; +} + + +/* style for message displays */ +table.messages { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.messages th.header{ + padding-top: 10px; + border-bottom: 1px solid gray; + font-weight: bold; + background-color: white; + color: #707040; +} + +table.messages th { + font-weight: bold; + color: black; + text-align: left; + border-bottom: 1px solid #afafaf; +} + +table.messages td { + font-family: monospace; + background-color: #efefef; + border-bottom: 1px solid #afafaf; + color: black; + empty-cells: show; + border-right: 1px solid #afafaf; + vertical-align: top; + padding: 2px 5px 2px 5px; +} + +table.messages td:first-child { + border-left: 1px solid #afafaf; + border-right: 1px solid #afafaf; +} + +/* style for file displays */ +table.files { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.files th.header{ + padding-top: 10px; + border-bottom: 1px solid gray; + font-weight: bold; + background-color: white; + color: #707040; +} + +table.files th { + border-bottom: 1px solid #afafaf; + font-weight: bold; + text-align: left; +} + +table.files td { + font-family: monospace; + empty-cells: show; +} + +/* style for history displays */ +table.history { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.history th.header{ + padding-top: 10px; + border-bottom: 1px solid gray; + font-weight: bold; + background-color: white; + color: #707040; + font-size: 100%; +} + +table.history th { + border-bottom: 1px solid #afafaf; + font-weight: bold; + text-align: left; + font-size: 90%; +} + +table.history td { + font-size: 90%; + vertical-align: top; + empty-cells: show; +} + + +/* style for class list */ +table.classlist { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.classlist th.header{ + padding-top: 10px; + border-bottom: 1px solid gray; + font-weight: bold; + background-color: white; + color: #707040; +} + +table.classlist th { + font-weight: bold; + text-align: left; +} + + +/* style for class help display */ +table.classhelp { /* the table-layout: fixed; */ + table-layout: fixed; /* compromises quality for speed */ + overflow: hidden; + font-size: .9em; + padding-bottom: 3em; +} + +table.classhelp th { + font-weight: normal; + text-align: left; + color: #444; + background-color: #efefef; + border-bottom: 1px solid #afafaf; + border-top: 1px solid #afafaf; + text-transform: uppercase; + vertical-align: middle; + line-height:1.5em; +} + +table.classhelp td { + vertical-align: middle; + padding-right: .2em; + border-bottom: 1px solid #efefef; + text-align: left; + empty-cells: show; + white-space: nowrap; + vertical-align: middle; +} + +table.classhelp tr:hover { + background-color: #eee; +} + +label.classhelp-label { + cursor: pointer; +} + +#classhelp-controls { + position: fixed; + display: block; + top: auto; + right: 0; + bottom: 0; + left: 0; + padding: .5em; + border-top: 2px solid #444; + background-color: #eee; +} + +#classhelp-controls input.apply { + width: 7em; + font-weight: bold; + margin-right: 2em; + margin-left: 2em; +} + +#classhelp-controls input.preview { + margin-right: 3em; + margin-left: 1em; +} + +/* style for "other" displays */ +table.otherinfo { + border-spacing: 0; + border-collapse: separate; + width: 100%; +} + +table.otherinfo th.header{ + padding-top: 10px; + border-bottom: 1px solid gray; + font-weight: bold; + background-color: white; + color: #707040; +} + +table.otherinfo th { + border-bottom: 1px solid #afafaf; + font-weight: bold; + text-align: left; +} + +input[type="text"]:focus, +input[type="checkbox"]:focus, +input[type="radio"]:focus, +input[type="password"]:focus, +textarea:focus, select:focus { + 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 +*/ diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.forgotten.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user.forgotten.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,43 @@ + + +Password reset request - <span + i18n:name="tracker" tal:replace="config/TRACKER_NAME" /> +Password reset request + + +

You have two options if you have forgotten your password. +If you know the email address you registered with, enter it below.

+ +
+ + + + + + + + + +
Email Address:
  + + + +
+ +

Or, if you know your username, then enter it below.

+ + + + +
Username:
+
+ +

A confirmation email will be sent to you - +please follow the instructions within it to complete the reset process.

+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.help-search.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user.help-search.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,85 @@ + + + Search input for user helper + + + + + +
+    
+ + + + + + + + + + + + + + + + + + + + + + + + +
Name
Phone
role + +
  + + + + + + +
+ +
+
+
+  
+
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.help.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/themes/mercurialroundup/html/user.help.html	Sun Jun 06 16:19:05 2010 +0200
@@ -0,0 +1,49 @@
+
+
+  
+      
+      
+      
+      <tal:x i18n:translate=""><tal:x i18n:name="property"
+       tal:content="property" i18n:translate="" /> help - <span i18n:name="tracker"
+	       tal:replace="config/TRACKER_NAME" /></tal:x>
+      
+      
+      
+  
+
+  
+  
+  
+  
+  
+
+
+  <body>
+<p i18n:translate="">
+Your browser is not capable of using frames; you should be redirected immediately,
+or visit <a href="#" tal:attributes="href string:?${qs}&template=help-noframes"
+i18n:name="link">this link</a>.
+</p>
+</body>
+
+
+
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.index.html
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/themes/mercurialroundup/html/user.index.html	Sun Jun 06 16:19:05 2010 +0200
@@ -0,0 +1,49 @@
+
+
+User listing - <span
+ i18n:name="tracker" tal:replace="config/TRACKER_NAME" />
+User listing
+
+
+You are not allowed to view this page.
+
+Please login with your username and password.
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
UsernameReal nameOrganisationEmail addressPhone numberRetire
+ username +      +
+ + + +
+
+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.item.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user.item.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,169 @@ + + + +<tal:if condition="context/id" i18n:translate="" + >User <tal:x content="context/id" i18n:name="id" + />: <tal:x content="context/username" i18n:name="title" + /> - <tal:x content="config/TRACKER_NAME" i18n:name="tracker" +/></tal:if> +<tal:if condition="not:context/id" i18n:translate="" + >New User - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker" +/></tal:if> + + + + + + + New User + New User Editing + User + User Editing + + + + +

+ You are not allowed to view this page.

+ +

+ Please login with your username and password.

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Login Name
Login Password
Confirm Password
+ + + + + + + (to give the user more than one role, + enter a comma,separated,list) +
Phone
Organisation
Timezone + (this is a numeric hour offset, the default is + ) +
E-mail address + calvin@the-z.org + + + +   +
+ +
+   + + + + +
+
+ + + + + + + + +
Note: highlighted fields are required.
+
+ + + +
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.register.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user.register.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,81 @@ + + +Registering with <span i18n:name="tracker" + tal:replace="db/config/TRACKER_NAME" /> +Registering with + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Namerealname
Login Nameusername
Login Passwordpassword
Confirm Passwordpassword
Rolesroles + +
Phonephone
Organisationorganisation
E-mail addressaddress
Alternate E-mail addresses
One address per line
alternate_addresses
  + + + + +
+
+ + + + + + + + +
Note: highlighted fields are required.
+
+ + + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user.rego_progress.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user.rego_progress.html Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,16 @@ + + +Registration in progress - <span i18n:name="tracker" + tal:replace="config/TRACKER_NAME" /> +Registration in progress... + + +

You will shortly receive an email +to confirm your registration. To complete the registration process, +visit the link indicated in the email. +

+ + +
diff -r 000000000000 -r 5d31df11531b themes/mercurialroundup/html/user_utils.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/themes/mercurialroundup/html/user_utils.js Sun Jun 06 16:19:05 2010 +0200 @@ -0,0 +1,114 @@ +// User Editing Utilities + +/** + * for new users: + * Depending on the input field which calls it, takes the value + * and dispatches it to certain other input fields: + * + * address + * +-> username + * | `-> realname + * `-> organisation + */ +function split_name(that) { + var raw = that.value + var val = trim(raw) + if (val == '') { + return + } + var username='' + var realname='' + var address='' + switch (that.name) { + case 'address': + address=val + break + case 'username': + username=val + break + case 'realname': + realname=val + break + case 'firstname': + case 'lastname': + return + default: + alert('Ooops - unknown name field '+that.name+'!') + return + } + var the_form = that.form; + + function field_empty(name) { + return the_form[name].value == '' + } + + // no break statements - on purpose! + switch (that.name) { + case 'address': + var split1 = address.split('@') + if (field_empty('username')) { + username = split1[0] + the_form.username.value = username + } + if (field_empty('organisation')) { + the_form.organisation.value = default_organisation(split1[1]) + } + case 'username': + if (field_empty('realname')) { + realname = Cap(username.split('.').join(' ')) + the_form.realname.value = realname + } + case 'realname': + if (field_empty('username')) { + username = Cap(realname.replace(' ', '.')) + the_form.username.value = username + } + if (the_form.firstname && the_form.lastname) { + var split2 = realname.split(' ') + var firstname='', lastname='' + firstname = split2[0] + lastname = split2.slice(1).join(' ') + if (field_empty('firstname')) { + the_form.firstname.value = firstname + } + if (field_empty('lastname')) { + the_form.lastname.value = lastname + } + } + } +} + +function SubCap(str) { + switch (str) { + case 'de': case 'do': case 'da': + case 'du': case 'von': + return str; + } + if (str.toLowerCase().slice(0,2) == 'mc') { + return 'Mc'+str.slice(2,3).toUpperCase()+str.slice(3).toLowerCase() + } + return str.slice(0,1).toUpperCase()+str.slice(1).toLowerCase() +} + +function Cap(str) { + var liz = str.split(' ') + for (var i=0; i