[Python-checkins] r85129 - in tracker/instances/python-dev/lib/rietveld: Makefile roundup_helper roundup_helper/__init__.py roundup_helper/middleware.py roundup_helper/models.py roundup_helper/urls.py settings.py templates templates/404.html templates/500.html templates/all.html templates/base.html templates/branch_edit.html templates/branch_new.html templates/diff.html templates/diff2.html templates/diff_navigation.html templates/draft_message.html templates/edit.html templates/feeds templates/file_navigation.html templates/inline_comment.html templates/issue.html templates/issue_base.html templates/issue_heading.html templates/issue_row.html templates/issue_star.html templates/live_revision.html templates/mails templates/new.html templates/patch.html templates/patchset.html templates/publish.html templates/repo_new.html templates/repos.html templates/repos_base.html templates/settings.html templates/starred.html templates/use_uploadpy.html templates/user.html templates/user_popup.html templates/view_details_select.html
martin.v.loewis
python-checkins at python.org
Thu Sep 30 23:07:31 CEST 2010
Author: martin.v.loewis
Date: Thu Sep 30 23:07:30 2010
New Revision: 85129
Log:
Integrate with roundup user management; adjust UI.
Added:
tracker/instances/python-dev/lib/rietveld/roundup_helper/
tracker/instances/python-dev/lib/rietveld/roundup_helper/__init__.py (contents, props changed)
tracker/instances/python-dev/lib/rietveld/roundup_helper/middleware.py (contents, props changed)
tracker/instances/python-dev/lib/rietveld/roundup_helper/models.py (contents, props changed)
tracker/instances/python-dev/lib/rietveld/roundup_helper/urls.py (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/
tracker/instances/python-dev/lib/rietveld/templates/404.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/500.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/all.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/base.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/branch_edit.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/branch_new.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/diff.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/diff2.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/diff_navigation.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/draft_message.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/edit.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/feeds (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/file_navigation.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/inline_comment.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/issue.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/issue_base.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/issue_heading.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/issue_row.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/issue_star.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/live_revision.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/mails (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/new.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/patch.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/patchset.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/publish.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/repo_new.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/repos.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/repos_base.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/settings.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/starred.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/use_uploadpy.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/user.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/user_popup.html (contents, props changed)
tracker/instances/python-dev/lib/rietveld/templates/view_details_select.html (contents, props changed)
Modified:
tracker/instances/python-dev/lib/rietveld/Makefile
tracker/instances/python-dev/lib/rietveld/settings.py
Modified: tracker/instances/python-dev/lib/rietveld/Makefile
==============================================================================
--- tracker/instances/python-dev/lib/rietveld/Makefile (original)
+++ tracker/instances/python-dev/lib/rietveld/Makefile Thu Sep 30 23:07:30 2010
@@ -11,7 +11,7 @@
clean_external: clean_rietveld clean_django
clean_rietveld:
- rm -rf codereview static templates
+ rm -rf codereview static templates_svn
clean_django:
unlink django
@@ -21,9 +21,9 @@
rm -f dev.db
gae2django:
- ln -s ../../gae2django .
+ ln -s ../../gae2django/gae2django .
-dev.db:
+syncdb:
./manage.py syncdb
codereview:
@@ -33,8 +33,8 @@
svn co http://rietveld.googlecode.com/svn/trunk/static@$(RIETVELDREV)
patch -p0 < patches/upload.diff
-templates:
- svn co http://rietveld.googlecode.com/svn/trunk/templates@$(RIETVELDREV)
+templates_svn:
+ svn co http://rietveld.googlecode.com/svn/trunk/templates@$(RIETVELDREV) templates_svn
django:
- ln -s ../../django .
\ No newline at end of file
+ ln -s ../../gae2django/django .
Added: tracker/instances/python-dev/lib/rietveld/roundup_helper/__init__.py
==============================================================================
Added: tracker/instances/python-dev/lib/rietveld/roundup_helper/middleware.py
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/roundup_helper/middleware.py Thu Sep 30 23:07:30 2010
@@ -0,0 +1,48 @@
+from models import Session, User
+from django.contrib import auth
+from django.contrib.auth.backends import RemoteUserBackend
+
+class UserBackend(RemoteUserBackend):
+ def configure_user(self, user):
+ roundup_user = User.objects.filter(_username=user.username)[0]
+ user.email = roundup_user._address
+ user.save()
+ from codereview import models
+ account = models.Account.get_account_for_user(user)
+ account.nickname = user.username
+ account.save()
+ return user
+
+class LookupRoundupUser(object):
+
+ def process_request(self, request):
+ session_key = request.COOKIES.get('roundup_session_Tracker', None)
+ if not session_key:
+ self.logout(request)
+ return
+ session = Session.objects.filter(session_key = session_key)
+ if not session:
+ self.logout(request)
+ return
+ username = eval(session[0].session_value)['user']
+ # the username comes from the cookie, so it really ought to exist
+ roundup_user = User.objects.filter(_username=username)[0]
+ if not roundup_user._address:
+ # Rietveld insists that user objects must have email addresses
+ return
+ # Taken from RemoteUserMiddleware: auto-create the user if it's new
+ if request.user.is_authenticated():
+ if request.user.username == username:
+ return
+ # We are seeing this user for the first time in this session, attempt
+ # to authenticate the user.
+ user = auth.authenticate(remote_user=username)
+ if user:
+ # User is valid. Set request.user and persist user in the session
+ # by logging the user in.
+ request.user = user
+ auth.login(request, user)
+
+ def logout(self, request):
+ # Clear django session if roundup session is gone.
+ auth.logout(request)
Added: tracker/instances/python-dev/lib/rietveld/roundup_helper/models.py
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/roundup_helper/models.py Thu Sep 30 23:07:30 2010
@@ -0,0 +1,15 @@
+# Django mappings for roundup tables
+from django.db import models
+
+class Session(models.Model):
+ session_key = models.CharField(primary_key=True, max_length=255)
+ session_value = models.TextField()
+ class Meta:
+ db_table = 'sessions'
+
+class User(models.Model):
+ _username = models.CharField()
+ _realname = models.CharField()
+ _address = models.CharField()
+ class Meta:
+ db_table = '_user'
Added: tracker/instances/python-dev/lib/rietveld/roundup_helper/urls.py
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/roundup_helper/urls.py Thu Sep 30 23:07:30 2010
@@ -0,0 +1,7 @@
+from django.conf.urls.defaults import *
+from django.contrib import admin
+
+urlpatterns = patterns('',
+ ('python-dev/', 'roundup'),
+ ('review/', include('rietveld_helper.urls')),
+ )
Modified: tracker/instances/python-dev/lib/rietveld/settings.py
==============================================================================
--- tracker/instances/python-dev/lib/rietveld/settings.py (original)
+++ tracker/instances/python-dev/lib/rietveld/settings.py Thu Sep 30 23:07:30 2010
@@ -2,7 +2,7 @@
# NOTE: Keep the settings.py in examples directories in sync with this one!
-import os
+import os, ConfigParser
DEBUG = True
TEMPLATE_DEBUG = DEBUG
@@ -13,19 +13,22 @@
MANAGERS = ADMINS
-DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = 'dev.db' # Or path to database file if using sqlite3.
-DATABASE_USER = '' # Not used with sqlite3.
-DATABASE_PASSWORD = '' # Not used with sqlite3.
-DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
-DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
+_c = ConfigParser.ConfigParser({'password':'', 'port':''})
+_c.read(os.path.dirname(__file__)+"/../../config.ini")
+
+DATABASE_ENGINE = 'postgresql_psycopg2'
+DATABASE_NAME = _c.get('rdbms', 'name')
+DATABASE_USER = _c.get('rdbms', 'user')
+DATABASE_PASSWORD = _c.get('rdbms', 'password')
+DATABASE_HOST = _c.get('rdbms', 'host')
+DATABASE_PORT = _c.get('rdbms', 'port')
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
-TIME_ZONE = 'America/Chicago'
+TIME_ZONE = 'Europe/Amsterdam'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
@@ -44,7 +47,7 @@
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = '/static/'
+MEDIA_URL = '/review/static/'
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
@@ -52,7 +55,7 @@
ADMIN_MEDIA_PREFIX = '/media/'
# Make this unique, and don't share it with anybody.
-SECRET_KEY = 'el at 4s$*(idwm5-87teftxlksckmy8$tyo7(tm!n-5x)zeuheex'
+SECRET_KEY = _c.get('django', 'secret_key')
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
@@ -61,10 +64,12 @@
# 'django.template.loaders.eggs.load_template_source',
)
+AUTHENTICATION_BACKENDS = ('roundup_helper.middleware.UserBackend',)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'roundup_helper.middleware.LookupRoundupUser',
'gae2django.middleware.FixRequestUserMiddleware',
'rietveld_helper.middleware.AddUserToRequestMiddleware',
'django.middleware.doc.XViewMiddleware',
@@ -74,7 +79,7 @@
'django.core.context_processors.request',
)
-ROOT_URLCONF = 'rietveld_helper.urls'
+ROOT_URLCONF = 'roundup_helper.urls'
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates'),
Added: tracker/instances/python-dev/lib/rietveld/templates/404.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/404.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/404.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/500.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/500.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/500.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/all.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/all.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/all.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/base.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/base.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1,250 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <title>
+ {%if is_dev%}
+ (DEV)
+ {%endif%}
+ {%block title1%}
+ {%if patch%}{{patch.filename}} -{%endif%}
+ {%endblock%}
+ {%block title2%}
+ {%if issue%}Issue {{issue.key.id}}: {{issue.subject}} -{%endif%}
+ {%endblock%}
+ Code Review
+ </title>
+ <link rel="icon" href="{{media_url}}favicon.ico" />
+ <link type="text/css" rel="stylesheet" href="{{media_url}}styles.css" />
+ <script type="text/javascript" src="{{media_url}}script.js"></script>
+ <link rel="alternate" type="application/atom+xml"
+ title="Recent Issues"
+ href="{%url django.contrib.syndication.views.feed url="all"%}" />
+ {%if user%}
+ <link rel="alternate" type="application/atom+xml"
+ title="Issues created by me"
+ href="{%url django.contrib.syndication.views.feed url="mine"%}/{%nickname user True%}" />
+ <link rel="alternate" type="application/atom+xml"
+ title="Issues reviewable by me"
+ href="{%url django.contrib.syndication.views.feed url="reviews"%}/{%nickname user True%}" />
+ <link rel="alternate" type="application/atom+xml"
+ title="Issues closed by me"
+ href="{%url django.contrib.syndication.views.feed url="closed"%}/{%nickname user True%}" />
+ {%endif%}
+ {%if issue%}
+ <link rel="alternate" type="application/atom+xml"
+ title="Issue {{issue.key.id}}"
+ href="{%url django.contrib.syndication.views.feed url="issue"%}/{{issue.key.id}}" />
+ {%endif%}
+</head>
+<body onunload="M_unloadPage();">
+
+<!-- Begin help window -->
+<script type="text/javascript"><!--
+var xsrfToken = '{{xsrf_token}}';
+var helpDisplayed = false;
+document.onclick = M_clickCommon;
+var media_url = "{{media_url}}";
+var base_url = "{%url codereview.views.index%}";
+{%if issue%}
+var publish_link = "{%url codereview.views.publish issue.key.id%}";
+{%endif%}
+// -->
+</script>
+<div id="help" style="display: none;">
+{%block help%}{%endblock%}
+<div style="font-size: medium; text-align: center;">Keyboard Shortcuts</div>
+<hr />
+<table width="100%">
+
+ <tr valign="top">
+ <td>
+ <table width="100%">
+ <tr>
+ <td></td><th>File</th>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to issue</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">M</span> <b>:</b></td><td>edit review message</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to file after / before current file</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">J</span> / <span class="letter">K</span> <b>:</b></td><td>jump to next file with a comment after / before current file</td>
+ </tr>
+ <tr>
+ <td></td><th>Side-by-side diff</th>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>toggle intra-line diffs</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">e</span> <b>:</b></td><td>expand all comments</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">c</span> <b>:</b></td><td>collapse all comments</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">s</span> <b>:</b></td><td>toggle showing all comments</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">n</span> / <span class="letter">p</span> <b>:</b></td><td>next / previous diff chunk or comment</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">N</span> / <span class="letter">P</span> <b>:</b></td><td>next / previous comment</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter"><Enter></span> <b>:</b></td><td>respond to / edit current comment</td>
+ </tr>
+ </table>
+ </td>
+ <td>
+ <table width="100%">
+ <tr>
+ <td></td><th>Issue</th>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">u</span> <b>:</b></td><td>up to list of issues</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">m</span> <b>:</b></td><td>publish + mail comments</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to patch after / before current patch</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">o</span> / <span class="letter"><Enter></span> <b>:</b></td><td>open current patch in side-by-side view</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">i</span> <b>:</b></td><td>open current patch in unified diff view</td>
+ </tr>
+ <tr><td> </td></tr>
+ <tr><td></td><th>Issue List</th></tr>
+ <tr>
+ <td class="shortcut"><span class="letter">j</span> / <span class="letter">k</span> <b>:</b></td><td>jump to issue after / before current issue</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">o</span> / <span class="letter"><Enter></span> <b>:</b></td><td>open current issue</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter">#</span> <b>:</b></td>
+ <td>close issue</td>
+ </tr>
+ <tr><td> </td></tr>
+ <tr>
+ <td></td><th>Comment/message editing</th>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter"><Ctrl></span> + <span class="letter">s</span> <b>:</b></td><td>save comment</td>
+ </tr>
+ <tr>
+ <td class="shortcut"><span class="letter"><Esc></span> <b>:</b></td><td>cancel edit</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+</table>
+</div>
+<!-- End help window -->
+
+<div align="right">
+{%if is_dev%}
+<div style="float:left; color:green; font-weight:bold">DEVELOPMENT SERVER</div>
+{%else%}
+<div style="float:left; font-weight:bold"><i>Rietveld</i> Code Review Tool</div>
+{%endif%}
+{%if user%}
+<b>{{user.email}} ({%nickname user True%})</b>
+|
+{%if must_choose_nickname%}
+<span style="color:red">Please choose your nickname with</span>{%endif%}
+<a class="novisit" href="{%url codereview.views.settings%}">Settings</a>
+|
+{%endif%}
+{%if is_dev%}
+<a class="novisit" target="_blank" href="/_ah/admin">Admin</a>
+|
+{%endif%}
+<a class="novisit" target="_blank"
+ href="http://code.google.com/p/rietveld/wiki/CodeReviewHelp">Help</a>
+|
+<a class="novisit" target="_blank"
+ href="http://code.google.com/p/rietveld/issues/list">Bug tracker</a>
+|
+<a class="novisit" target="_blank"
+ href="http://groups.google.com/group/codereview-discuss">Discussion group</a>
+|
+<a class="novisit" target="_blank"
+ href="http://code.google.com/p/rietveld">Source code</a>
+|
+{%if user%}
+<a class="novisit" href="{%url roundup%}?@action=logout">Sign out</a>
+{% else %}
+<a class="novisit" href="{%url roundup%}">Sign in</a>
+{%endif%}
+</div>
+
+<div class="counter">({{counter}})</div>
+<div class="mainmenu">
+ {%block mainmenu%}
+ <a href="{%url codereview.views.index %}">Issues</a>
+ <a href="{%url codereview.views.repos %}">Repositories</a>
+ {%endblock%}
+</div>
+<div class="mainmenu2">
+ {%block mainmenu2%}{%endblock%}
+</div>
+
+<div>
+{%block body%}BODY GOES HERE{%endblock%}
+</div>
+{%block popup%}{%endblock%}
+
+<p />
+<div id="footer" style="float:left; font-size:75%">
+<a href="http://www.python.org/about/website">Website maintained by the Python community</a><br />
+
+<a href="http://www.upfrontsystems.co.za/" title="issue tracker hosting provided by Upfront Systems, South Africa">hosting by Upfront Systems</a> <br/>
+Copyright © 1990-2010, <a href="http://python.org/psf">Python Software Foundation</a><br />
+<a href="http://python.org/about/legal">Legal Statements</a>
+</div>
+
+<div class="extra" style="font-size: 9pt; float: right; text-align: right;">
+ <div style="height:14px;">
+ <img src="{{media_url}}rss.gif" alt="RSS Feeds" width="14" height="14"
+ align="top" />
+ <a href="{%url django.contrib.syndication.views.feed url="all"%}">Recent Issues</a>
+ {%if user%}
+ |
+ <a href="{%url django.contrib.syndication.views.feed url="mine"%}/{%nickname user True%}">My Issues</a>
+ |
+ <a href="{%url django.contrib.syndication.views.feed url="reviews"%}/{%nickname user True%}">My Reviews</a>
+ |
+ <a href="{%url django.contrib.syndication.views.feed url="closed"%}/{%nickname user True%}">My Closed</a>
+ {%endif%}
+ {%if issue%}
+ |
+ <a href="{%url django.contrib.syndication.views.feed url="issue"%}/{{issue.key.id}}">This issue</a>
+ {%endif%}
+ </div>
+ <div style="margin-top: .3em;">{%include "live_revision.html"%}</div>
+</div>
+
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+var pageTracker = _gat._getTracker("UA-4803694-4");
+pageTracker._initData();
+pageTracker._trackPageview();
+</script>
+</body>
+</html>
Added: tracker/instances/python-dev/lib/rietveld/templates/branch_edit.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/branch_edit.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/branch_edit.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/branch_new.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/branch_new.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/branch_new.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/diff.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/diff.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/diff.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/diff2.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/diff2.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/diff2.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/diff_navigation.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/diff_navigation.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/diff_navigation.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/draft_message.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/draft_message.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/draft_message.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/edit.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/edit.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/edit.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/feeds
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/feeds Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/feeds
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/file_navigation.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/file_navigation.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/file_navigation.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/inline_comment.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/inline_comment.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/inline_comment.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/issue.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/issue.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/issue.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/issue_base.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/issue_base.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1,127 @@
+{%extends "base.html"%}
+
+{%block mainmenu%}
+ <a href="{%url codereview.views.index%}" class="active">Issues</a>
+ <a href="{%url codereview.views.repos%}">Repositories</a>
+{%endblock%}
+
+
+{%block mainmenu2%}
+ {%if user%}
+ {%if uploadpy_hint%}
+ <a href="{%url codereview.views.use_uploadpy%}">Create Issue</a>
+ {%else%}
+ <a href="{%url codereview.views.new%}">Create Issue</a>
+ {%endif%}
+ |
+ <a href="{%url codereview.views.mine%}">My Issues</a>
+ |
+ <a href="{%url codereview.views.all%}">Recent Issues</a>
+ |
+ <a href="{%url codereview.views.starred%}">Starred Issues</a>
+ {%else%}
+ <a class="novisit" href="{%url codereview.views.index%}">Recent Issues</a>
+ |
+ <a class="novisit" href="{%url roundup%}">Sign in</a>
+ with your traccer account to create issues and add comments
+ {%endif%}
+{%endblock%}
+
+
+{%block body%}
+ <h2>
+ {%include "issue_star.html"%}
+{%if issue.edit_allowed and not issue.closed%}
+<span class="issue-close" id="issue-close-{{issue.key.id}}">
+ <a href="javascript:M_closeIssue({{issue.key.id}})">
+ <img src="{{media_url}}close.gif" title="Close This Issue" width="15"
+ height="15" border="0"></a>
+</span>
+{%endif%}
+ Issue <a href="{%url codereview.views.show issue.key.id%}"
+ onmouseover="M_showPopUp(this, 'popup-issue');">
+ {{issue.key.id}}</a>:
+ {{issue.subject}} {%if issue.closed %} (Closed) {%endif%}
+ </h2>
+
+ <table class="issue-details" border="0" width="100%">
+ <tr valign="top">
+
+ <td class="meta" width="20%">
+ {%block issue_actions%}
+ <div>
+ {%if issue.edit_allowed%}
+ <a class="novisit"
+ href="{%url codereview.views.edit issue.key.id%}">
+ Edit Issue
+ </a>
+ {%else%}
+ <span class="disabled">Can't Edit</span>
+ {%endif%}
+ <br/>
+ {%if user%}
+ <a class="novisit"
+ href="{%url codereview.views.publish issue.key.id%}">
+ Publish+Mail Comments
+ </a> ('m')
+ {%else%}
+ <span class="disabled">Can't Publish+Mail</span>
+ {%endif%}
+ {%if last_patchset and first_patch%}
+ <br/>
+ <a class="novisit"
+ href="{%url codereview.views.diff issue.key.id,last_patchset.key.id,first_patch.key.id%}">
+ <b>Start Review</b>
+ </a>
+ {%endif%}
+ </div>
+ {%endblock%}
+ <div class="issue_details_sidebar">
+ <div><b>Created:</b><br/>
+ {{issue.created|timesince}} ago by {{issue.owner|show_user}}
+ </div>
+ <div><b>Modified:</b><br/>
+ {{issue.modified|timesince}} ago
+ </div>
+ <div><b>Reviewers:</b><br/>
+ {{issue.reviewers|show_users}}
+ </div>
+ <div><b>CC:</b><br/>
+ {%nicknames issue.cc%}
+ </div>
+ <div><b>SVN Base:</b><br/>
+ {%firstof issue.base%}
+ </div>
+ <div><b>Visibility:</b><br/>
+ {%if issue.private%}
+ Private. Only viewable by reviewers and CCs.
+ {% else %}
+ Public.
+ {%endif%}
+ </div>
+ </div>
+ </td>
+
+ <td style="padding-left: .8em; padding-right: .8em;" width="80%">
+ {%block issue_body%}BODY GOES HERE{%endblock%}
+ </td>
+ </tr>
+ </table>
+{%endblock%}
+
+
+{%block popup%}
+ {%if issue%}
+ <div class="popup" id="popup-issue">
+ <b>Issue {{issue.key.id}}: {{issue.subject}}
+ {%if issue.closed %} (Closed) {%endif%}</b><br/>
+ Created {{issue.created|timesince}} ago by {%nickname issue.owner%}<br/>
+ Modified {{issue.modified|timesince}} ago<br/>
+ Reviewers: {%nicknames issue.reviewers%}<br/>
+ SVN Base: {{issue.base}}<br/>
+ Comments: {{issue.num_comments}}
+ {%if issue.num_drafts%} <span style="color: red;">+
+ {{issue.num_drafts}} drafts</span>{%endif%}
+ </div>
+ {%endif%}
+{%endblock%}
Added: tracker/instances/python-dev/lib/rietveld/templates/issue_heading.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/issue_heading.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/issue_heading.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/issue_row.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/issue_row.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/issue_row.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/issue_star.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/issue_star.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/issue_star.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/live_revision.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/live_revision.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/live_revision.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/mails
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/mails Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/mails
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/new.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/new.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/new.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/patch.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/patch.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/patch.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/patchset.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/patchset.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/patchset.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/publish.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/publish.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/publish.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/repo_new.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/repo_new.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/repo_new.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/repos.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/repos.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/repos.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/repos_base.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/repos_base.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1,15 @@
+{%extends "base.html"%}
+{%block mainmenu%}
+<a href="{%url codereview.views.index%}">Issues</a>
+<a href="{%url codereview.views.repos%}" class="active">Repositories</a>
+{%endblock%}
+
+{%block mainmenu2%}
+ <a href="{%url codereview.views.repos%}">Repositories and Branches</a>
+ {%if is_admin%}
+ |
+ <a href="{%url codereview.views.repo_init%}">Initialize Repositories</a>
+ {%endif%}
+{%endblock%}
+
+{%block body%}BODY GOES HERE{%endblock%}
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/settings.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/settings.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/settings.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/starred.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/starred.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/starred.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/use_uploadpy.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/use_uploadpy.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/use_uploadpy.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/user.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/user.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/user.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/user_popup.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/user_popup.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/user_popup.html
\ No newline at end of file
Added: tracker/instances/python-dev/lib/rietveld/templates/view_details_select.html
==============================================================================
--- (empty file)
+++ tracker/instances/python-dev/lib/rietveld/templates/view_details_select.html Thu Sep 30 23:07:30 2010
@@ -0,0 +1 @@
+link ../templates_svn/view_details_select.html
\ No newline at end of file
More information about the Python-checkins
mailing list