<%inherit file="/base/base.html"/> <%def name="title()"> ${_('%s Pull Request #%s') % (c.repo_name, c.pull_request.pull_request_id)} %if c.rhodecode_name: · ${h.branding(c.rhodecode_name)} %endif <%def name="breadcrumbs_links()"> ${c.pull_request.title} %if c.pull_request.is_closed(): (${_('Closed')}) %endif <%def name="menu_bar_nav()"> ${self.menu_items(active='repositories')} <%def name="menu_bar_subnav()"> ${self.repo_menu(active='showpullrequest')} <%def name="main()">
${self.repo_page_title(c.rhodecode_db_repo)}
${self.breadcrumbs()}
<%summary = lambda n:{False:'summary-short'}.get(n)%>
${_('Pull request #%s') % c.pull_request.pull_request_id} ${_('From')} ${h.format_date(c.pull_request.created_on)} %if c.allowed_to_update: ${_('Edit')} %endif
## branch link is only valid if it is a branch %if c.pull_request.source_ref_parts.type == 'branch': ${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name} %else: ${c.pull_request.source_ref_parts.type}: ${c.pull_request.source_ref_parts.name} %endif ${c.pull_request.source_repo.clone_url()}
%if h.is_hg(c.pull_request.source_repo): %elif h.is_git(c.pull_request.source_repo): %endif
## branch link is only valid if it is a branch %if c.pull_request.target_ref_parts.type == 'branch': ${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name} %else: ${c.pull_request.target_ref_parts.type}: ${c.pull_request.target_ref_parts.name} %endif ${c.pull_request.target_repo.clone_url()}
%if c.pull_request_review_status:
%if c.pull_request.is_closed(): ${_('Closed')}, %endif ${h.commit_status_lbl(c.pull_request_review_status)} - ${ungettext('calculated based on %s reviewer vote', 'calculated based on %s reviewers votes', len(c.pull_request_reviewers)) % len(c.pull_request_reviewers)} %endif
${h.urlify_commit_message(c.pull_request.description, c.repo_name)}
%if c.comments: ${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)}, %else: ${ungettext("%d Pull request comment", "%d Pull request comments", len(c.comments)) % len(c.comments)} %endif %if c.inline_cnt: ## this is replaced with a proper link to first comment via JS linkifyComments() func ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt} %else: ${ungettext("%d Inline Comment", "%d Inline Comments", c.inline_cnt) % c.inline_cnt} %endif % if c.outdated_cnt: ,${ungettext("%d Outdated Comment", "%d Outdated Comments", c.outdated_cnt) % c.outdated_cnt} ${_('(Show)')} % endif
## AUTHOR
${_('Author')}
  • ${self.gravatar_with_user(c.pull_request.author.email, 16)}
## REVIEWERS
${_('Pull request reviewers')} %if c.allowed_to_update: ${_('Edit')} %endif
## members goes here !
    %for member,status in c.pull_request_reviewers:
  • ${self.gravatar_with_user(member.email, 16)} (${_('owner') if c.pull_request.user_id == member.user_id else _('reviewer')}) %if c.allowed_to_update: %endif
  • %endfor
%if not c.pull_request.is_closed(): %endif
##DIFF
##CS % if c.missing_requirements:
${_('Missing requirements:')} ${_('These commits cannot be displayed, because this repository uses the Mercurial largefiles extension, which was not enabled.')}
% elif c.missing_commits:
${_('Missing commits')}: ${_('This pull request cannot be displayed, because one or more commits no longer exist in the source repository.')} ${_('Please update this pull request, push the commits back into the source repository, or consider closing this pull request.')}
% endif
% if c.allowed_to_update and not c.pull_request.is_closed(): % endif % if len(c.commit_ranges):

${ungettext('Compare View: %s commit','Compare View: %s commits', len(c.commit_ranges)) % len(c.commit_ranges)}

% endif
% if not c.missing_commits: <%include file="/compare/compare_commits.html" /> ## FILES
${_('Expand All')} | ${_('Collapse All')}

${diff_block.diff_summary_text(len(c.files), c.lines_added, c.lines_deleted, c.limited_diff)}

% endif
%if not c.files and not c.missing_commits: ${_('No files')} %endif <%namespace name="diff_block" file="/changeset/diff_block.html"/> %for FID, change, path, stats in c.files: ## Loop through inline comments % if c.outdated_comments.get(path,False): % endif %endfor ## Loop through inline comments for deleted files %for path in c.deleted_files: % if path in c.outdated_comments: % endif %endfor
${h.fancy_file_stats(stats)}
${diff_block.diff_block_simple([c.changes[FID]])}

${_('Outdated Inline Comments')}:

% for line, comments in c.outdated_comments[path].iteritems():
% for co in comments: ${comment.comment_block_outdated(co)} % endfor
% endfor
${path}
(${_('Removed')})

${_('Outdated Inline Comments')}:

% for line, comments in c.outdated_comments[path].iteritems():
% for co in comments: ${comment.comment_block_outdated(co)} % endfor
% endfor
% if c.limited_diff:
${_('Commit was too big and was cut off...')} ${_('Show full diff')}
% endif
% if c.limited_diff:

${_('Commit was too big and was cut off...')} ${_('Show full diff')}

% endif ## template for inline comment form <%namespace name="comment" file="/changeset/changeset_file_comment.html"/> ${comment.comment_inline_form()} ## render comments and inlines ${comment.generate_comments(include_pull_request=True, is_pull_request=True)} % if not c.pull_request.is_closed(): ## main comment form and it status ${comment.comments(h.url('pullrequest_comment', repo_name=c.repo_name, pull_request_id=c.pull_request.pull_request_id), c.pull_request_review_status, is_pull_request=True, change_status=c.allowed_to_change_status)} %endif