Files @ c0a6a2e6bb2e
Branch filter:

Location: kallithea/rhodecode/templates/pullrequests/pullrequest_show.html - annotation

Marcin Kuzminski
Use lightweight revisions in journal by default
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
79818f546538
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
f29469677319
58c529332e7e
0b2214604c74
d5e42c00f3c1
7224882c4059
acc05c33cc0c
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
7224882c4059
b1822f4a85ca
b1822f4a85ca
b1822f4a85ca
0b86972de820
b1822f4a85ca
7224882c4059
acc05c33cc0c
7224882c4059
acc05c33cc0c
1fd3c043c025
1fd3c043c025
1fd3c043c025
1bc579bcd67a
8eab81115660
731e823d330e
4d3032431d4f
3f50a5e8fc4d
4d3032431d4f
1fd3c043c025
4d3032431d4f
4d3032431d4f
4d3032431d4f
4d3032431d4f
4d3032431d4f
d5e42c00f3c1
4d3032431d4f
c0a6a2e6bb2e
c0a6a2e6bb2e
c0a6a2e6bb2e
c0a6a2e6bb2e
4d3032431d4f
4d3032431d4f
4d3032431d4f
4d3032431d4f
4d3032431d4f
4d3032431d4f
c0a6a2e6bb2e
c0a6a2e6bb2e
c0a6a2e6bb2e
c0a6a2e6bb2e
4d3032431d4f
4d3032431d4f
4d3032431d4f
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
d5e42c00f3c1
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
74364824c1e1
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
d5e42c00f3c1
3f50a5e8fc4d
3f50a5e8fc4d
74364824c1e1
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
d5e42c00f3c1
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
74364824c1e1
3f50a5e8fc4d
3f50a5e8fc4d
d5e42c00f3c1
d5e42c00f3c1
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
a0adf8db1416
3f50a5e8fc4d
3f50a5e8fc4d
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
c0a6a2e6bb2e
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
c0a6a2e6bb2e
1bc579bcd67a
1bc579bcd67a
1bc579bcd67a
a0adf8db1416
d5e42c00f3c1
58c529332e7e
58c529332e7e
d5e42c00f3c1
58c529332e7e
58c529332e7e
58c529332e7e
58c529332e7e
58c529332e7e
58c529332e7e
58c529332e7e
a0adf8db1416
a0adf8db1416
a0adf8db1416
3f50a5e8fc4d
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
a0adf8db1416
d5e42c00f3c1
3f50a5e8fc4d
d5e42c00f3c1
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
3f50a5e8fc4d
a0adf8db1416
a0adf8db1416
a0adf8db1416
f29469677319
f29469677319
f29469677319
<%inherit file="/base/base.html"/>

<%def name="title()">
    ${c.repo_name} ${_('Pull request #%s') % c.pull_request.pull_request_id}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(_(u'Home'),h.url('/'))}
    &raquo;
    ${h.link_to(c.repo_name,h.url('changelog_home',repo_name=c.repo_name))}
    &raquo;
    ${_('Pull request #%s') % c.pull_request.pull_request_id}
</%def>

<%def name="main()">

<div class="box">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
        %if c.pull_request.is_closed():
        <div style="padding:10px; font-size:22px;width:100%;text-align: center; color:#88D882">${_('Closed %s') % (h.age(c.pull_request.updated_on))} ${_('with status %s') % h.changeset_status_lbl(c.current_changeset_status)}</div>
        %endif
    <h3>${_('Title')}: ${c.pull_request.title}</h3>

    <div class="form">
      <div id="summary" class="fields">
         <div class="field">
          <div class="label-summary">
              <label>${_('Status')}:</label>
          </div>
          <div class="input">
            <div class="changeset-status-container" style="float:none;clear:both">
            %if c.current_changeset_status:
              <div title="${_('Pull request status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.current_changeset_status)}]</div>
              <div class="changeset-status-ico" style="padding:1px 4px"><img src="${h.url('/images/icons/flag_status_%s.png' % c.current_changeset_status)}" /></div>
            %endif
            </div>
          </div>
         </div>
         <div class="field">
          <div class="label-summary">
              <label>${_('Still not reviewed by')}:</label>
          </div>
          <div class="input">
            % if len(c.pull_request_pending_reviewers) > 0:
                <div class="tooltip" title="${h.tooltip(','.join([x.username for x in c.pull_request_pending_reviewers]))}">${ungettext('%d reviewer', '%d reviewers',len(c.pull_request_pending_reviewers)) % len(c.pull_request_pending_reviewers)}</div>
            %else:
                <div>${_('pull request was reviewed by all reviewers')}</div>
            %endif
          </div>
         </div>
      </div>
    </div>
    <div style="white-space:pre-wrap;padding:3px 3px 5px 20px">${h.literal(c.pull_request.description)}</div>
    <div style="padding:4px 4px 10px 20px">
      <div>${_('Created on')}: ${h.fmt_date(c.pull_request.created_on)}</div>
    </div>

    <div style="min-height:160px">
      ##DIFF
      <div class="table" style="float:left;clear:none">
          <div id="body" class="diffblock">
              <div style="white-space:pre-wrap;padding:5px">${_('Compare view')}</div>
          </div>
          <div id="changeset_compare_view_content">
              ##CS
              <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Incoming changesets')}</div>
              <%include file="/compare/compare_cs.html" />

              ## FILES
              <div id="affected_files">
              % if c.files:
                <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${_('Files affected')}</div>
                <div class="cs_files">              
                %for fid, change, f, stat in c.files:
                    <div class="cs_${change}">
                      <div class="node">${h.link_to(h.safe_unicode(f),h.url.current(anchor=fid))}</div>
                      <div class="changes">${h.fancy_file_stats(stat)}</div>
                    </div>
                %endfor
               </div>
              %else:
                <div class="ui-btn" style="text-align: center;margin-top:5px">${_('Click to load diff details')}</div>
              %endif
              </div>
          </div>
      </div>
      ## REVIEWERS
       <div style="float:left; border-left:1px dashed #eee">
       <h4>${_('Pull request reviewers')}</h4>
        <div id="reviewers" style="padding:0px 0px 0px 15px">
          ## members goes here !
          <div class="group_members_wrap">
            <ul id="review_members" class="group_members">
            %for member,status in c.pull_request_reviewers:
              <li id="reviewer_${member.user_id}">
                <div class="reviewers_member">
                    <div style="float:left;padding:0px 3px 0px 0px" class="tooltip" title="${h.tooltip(h.changeset_status_lbl(status[0][1].status if status else 'not_reviewed'))}">
                      <img src="${h.url(str('/images/icons/flag_status_%s.png' % (status[0][1].status if status else 'not_reviewed')))}"/>
                    </div>
                  <div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(member.email,14)}"/> </div>
                  <div style="float:left">${member.full_name} (${_('owner')})</div>
                  <input type="hidden" value="${member.user_id}" name="review_members" />
                  %if not c.pull_request.is_closed() and (h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.author.user_id == c.rhodecode_user.user_id):
                  <span class="delete_icon action_button" onclick="removeReviewer(${member.user_id})"></span>
                  %endif
                </div>
              </li>
            %endfor
            </ul>
          </div>
          %if not c.pull_request.is_closed():
          <div class='ac'>
            %if h.HasPermissionAny('hg.admin', 'repository.admin')() or c.pull_request.author.user_id == c.rhodecode_user.user_id:
            <div class="reviewer_ac">
               ${h.text('user', class_='yui-ac-input')}
               <span class="help-block">${_('Add reviewer to this pull request.')}</span>
               <div id="reviewers_container"></div>
            </div>
            <div style="padding:0px 10px">
             <span id="update_pull_request" class="ui-btn xsmall">${_('save')}</span>
            </div>
            %endif
          </div>
          %endif
        </div>
       </div>
    </div>
    <script>
    var _USERS_AC_DATA = ${c.users_array|n};
    var _GROUPS_AC_DATA = ${c.users_groups_array|n};
    AJAX_COMMENT_URL = "${url('pullrequest_comment',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}";
    AJAX_COMMENT_DELETE_URL = "${url('pullrequest_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
    AJAX_UPDATE_PULLREQUEST = "${url('pullrequest_update',repo_name=c.repo_name,pull_request_id=c.pull_request.pull_request_id)}"
    </script>

    ## diff block
    <div id="diff_block_container" style="clear:both;">
    <%namespace name="diff_block" file="/changeset/diff_block.html"/>
    %for fid, change, f, stat in c.files:
      ${diff_block.diff_block_simple([c.changes[fid]])}
    %endfor
    </div>

    ## 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()}

    % 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.current_changeset_status,
                                close_btn=True)}
    %endif

    <script type="text/javascript">
      YUE.onDOMReady(function(){
    	  PullRequestAutoComplete('user', 'reviewers_container', _USERS_AC_DATA, _GROUPS_AC_DATA);

          YUE.on(YUQ('.show-inline-comments'),'change',function(e){
              var show = 'none';
              var target = e.currentTarget;
              if(target.checked){
                  var show = ''
              }
              var boxid = YUD.getAttribute(target,'id_for');
              var comments = YUQ('#{0} .inline-comments'.format(boxid));
              for(c in comments){
                 YUD.setStyle(comments[c],'display',show);
              }
              var btns = YUQ('#{0} .inline-comments-button'.format(boxid));
              for(c in btns){
                  YUD.setStyle(btns[c],'display',show);
               }
          })

          YUE.on(YUQ('.line'),'click',function(e){
              var tr = e.currentTarget;
              injectInlineForm(tr);
          });

          // inject comments into they proper positions
          var file_comments = YUQ('.inline-comment-placeholder');
          renderInlineComments(file_comments);

          YUE.on(YUD.get('update_pull_request'),'click',function(e){

        	  var reviewers_ids = [];
        	  var ids = YUQ('#review_members input');
        	  for(var i=0; i<ids.length;i++){
        		  var id = ids[i].value
        		  reviewers_ids.push(id);
        	  }
        	  updateReviewers(reviewers_ids);
          })
      })
    </script>

</div>

</%def>