@@ -930,6 +930,25 @@ class Repository(Base, BaseModel):
def last_db_change(self):
return self.updated_on
def clone_url(self, **override):
from pylons import url
from urlparse import urlparse
import urllib
parsed_url = urlparse(url('home', qualified=True))
default_clone_uri = '%(scheme)s://%(user)s%(pass)s%(netloc)s%(prefix)s%(path)s'
decoded_path = safe_unicode(urllib.unquote(parsed_url.path))
args = {
'user': '',
'pass': '',
'scheme': parsed_url.scheme,
'netloc': parsed_url.netloc,
'prefix': decoded_path,
'path': self.repo_name
}
args.update(override)
return default_clone_uri % args
#==========================================================================
# SCM PROPERTIES
@@ -1794,6 +1813,14 @@ class PullRequest(Base, BaseModel):
def revisions(self, val):
self._revisions = ':'.join(val)
@property
def org_ref_parts(self):
return self.org_ref.split(':')
def other_ref_parts(self):
return self.other_ref.split(':')
author = relationship('User', lazy='joined')
reviewers = relationship('PullRequestReviewers',
cascade="all, delete, delete-orphan")
@@ -2778,7 +2778,9 @@ h3.files_location {
margin: 0px 2px;
.right .logtags .branchtag,.logtags .branchtag {
.right .logtags .branchtag,
.logtags .branchtag,
.spantag {
padding: 1px 3px 1px 3px;
background-color: #bfbfbf;
font-size: 10px;
@@ -51,6 +51,24 @@
%endif
</div>
<div class="field">
<div class="label-summary">
<label>${_('Origin repository')}:</label>
<div class="input">
<div>
##%if h.is_hg(c.pull_request.org_repo):
## <img class="icon" title="${_('Mercurial repository')}" alt="${_('Mercurial repository')}" src="${h.url('/images/icons/hgicon.png')}"/>
##%elif h.is_git(c.pull_request.org_repo):
## <img class="icon" title="${_('Git repository')}" alt="${_('Git repository')}" src="${h.url('/images/icons/giticon.png')}"/>
##%endif
<span class="spantag">${c.pull_request.org_ref_parts[0]}</span>
:
<span class="spantag">${c.pull_request.org_ref_parts[1]}</span>
<span>${c.pull_request.org_repo.clone_url()}</span>
<div style="white-space:pre-wrap;padding:3px 3px 5px 20px">${h.literal(c.pull_request.description)}</div>
Status change: