Files @ 7276b170ce8b
Branch filter:

Location: kallithea/rhodecode/templates/changeset/changeset.html - annotation

Marcin Kuzminski
#71 code-review
- simple inline comments
1cecc7db3106
1cecc7db3106
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
28524453bb76
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
ffd07396d315
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1cecc7db3106
1e757ac98988
1e757ac98988
1e757ac98988
1cecc7db3106
1cecc7db3106
1cecc7db3106
1cecc7db3106
1cecc7db3106
1e757ac98988
1e757ac98988
1e757ac98988
e86191684f4b
1e757ac98988
f57aaf673743
f57aaf673743
f57aaf673743
1e757ac98988
ffd07396d315
ffd07396d315
1e757ac98988
1e757ac98988
f57aaf673743
f57aaf673743
f57aaf673743
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
ffd07396d315
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
0a2a10a1912f
0a2a10a1912f
0a2a10a1912f
1e757ac98988
0a2a10a1912f
0a2a10a1912f
e86191684f4b
0a2a10a1912f
0a2a10a1912f
1e757ac98988
1cecc7db3106
aaec08ad9daf
1cecc7db3106
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
1e757ac98988
0a2a10a1912f
1e757ac98988
1e757ac98988
d2de0c2f02cd
e86191684f4b
555b68f94c45
555b68f94c45
014c9a58a0d9
014c9a58a0d9
1e757ac98988
1e757ac98988
014c9a58a0d9
1e757ac98988
014c9a58a0d9
1e757ac98988
014c9a58a0d9
1e757ac98988
1e757ac98988
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
1e757ac98988
1e757ac98988
1e757ac98988
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
7276b170ce8b
7276b170ce8b
d2de0c2f02cd
d2de0c2f02cd
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
7276b170ce8b
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
d2de0c2f02cd
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
6f0143e5efe5
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
7276b170ce8b
6f0143e5efe5
d2de0c2f02cd
aaec08ad9daf
## -*- coding: utf-8 -*-

<%inherit file="/base/base.html"/>

<%def name="title()">
    ${c.repo_name} ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)} - ${c.rhodecode_name}
</%def>

<%def name="breadcrumbs_links()">
    ${h.link_to(u'Home',h.url('/'))}
    &raquo;
    ${h.link_to(c.repo_name,h.url('summary_home',repo_name=c.repo_name))}
    &raquo;
    ${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
</%def>

<%def name="page_nav()">
    ${self.menu('changelog')}     
</%def>

<%def name="main()">
<div class="box">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
    <div class="table">
		<div class="diffblock">
			<div class="code-header">
				<div>
				${_('Changeset')} - r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
				 &raquo; <span>${h.link_to(_('raw diff'),
				h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show'))}</span>
				 &raquo; <span>${h.link_to(_('download diff'),
				h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download'))}</span>
				</div>
			</div>
		</div>
	    <div id="changeset_content">
			<div class="container">
	             <div class="left">
	                 <div class="date">${_('commit')} ${c.changeset.revision}: ${h.short_id(c.changeset.raw_id)}@${c.changeset.date}</div>
	                 <div class="author">
	                     <div class="gravatar">
	                         <img alt="gravatar" src="${h.gravatar_url(h.email(c.changeset.author),20)}"/>
	                     </div>
	                     <span>${h.person(c.changeset.author)}</span><br/>
	                     <span><a href="mailto:${h.email_or_none(c.changeset.author)}">${h.email_or_none(c.changeset.author)}</a></span><br/>
	                 </div>
	                 <div class="message">${h.link_to(h.wrap_paragraphs(c.changeset.message),h.url('changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</div>
	             </div>
	             <div class="right">
		             <div class="changes">
                        % if len(c.changeset.affected_files) <= c.affected_files_cut_off:	             
		                 <span class="removed" title="${_('removed')}">${len(c.changeset.removed)}</span>
		                 <span class="changed" title="${_('changed')}">${len(c.changeset.changed)}</span>
		                 <span class="added" title="${_('added')}">${len(c.changeset.added)}</span>
	                    % else:
                         <span class="removed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
                         <span class="changed" title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>
                         <span class="added"   title="${_('affected %s files') % len(c.changeset.affected_files)}">!</span>	                    
	                    % endif		                 
		             </div>                  
		                 %if len(c.changeset.parents)>1:
		                 <div class="merge">
		                     ${_('merge')}<img alt="merge" src="${h.url('/images/icons/arrow_join.png')}"/>
		                 </div>
		                 %endif
		                 
		            %if c.changeset.parents:
		             %for p_cs in reversed(c.changeset.parents):
		                 <div class="parent">${_('Parent')} ${p_cs.revision}: ${h.link_to(h.short_id(p_cs.raw_id),
		                     h.url('changeset_home',repo_name=c.repo_name,revision=p_cs.raw_id),title=p_cs.message)}
		                 </div>
		             %endfor
                    %else: 
                        <div class="parent">${_('No parents')}</div>   
                    %endif		             
		         <span class="logtags">
		             <span class="branchtag" title="${'%s %s' % (_('branch'),c.changeset.branch)}">
		             ${h.link_to(c.changeset.branch,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
		             %for tag in c.changeset.tags:
		                 <span class="tagtag"  title="${'%s %s' % (_('tag'),tag)}">
		                 ${h.link_to(tag,h.url('files_home',repo_name=c.repo_name,revision=c.changeset.raw_id))}</span>
		             %endfor
		         </span>                                                                 
	                </div>              
	        </div>
	        <span style="font-size:1.1em;font-weight: bold">
	        ${_('%s files affected with %s additions and %s deletions.') % (len(c.changeset.affected_files),c.lines_added,c.lines_deleted)}
	        </span>
	        <div class="cs_files">
	                %for change,filenode,diff,cs1,cs2,stat in c.changes:
	                    <div class="cs_${change}">
		                    <div class="node">${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor='C-%s-%s' % (h.short_id(filenode.changeset.raw_id),h.safeid(h.safe_unicode(filenode.path)))))}</div>
		                    <div class="changes">${h.fancy_file_stats(stat)}</div>
	                    </div>
	                %endfor
	                % if c.cut_off:
	                  ${_('Changeset was too big and was cut off...')}
	                % endif
	        </div>         
	    </div>
	    
    </div>
    	
	%for change,filenode,diff,cs1,cs2,stat in c.changes:
		%if change !='removed':
		<div style="clear:both;height:10px"></div>
		<div class="diffblock  margined">
			<div id="${'C-%s-%s' % (h.short_id(filenode.changeset.raw_id),h.safeid(h.safe_unicode(filenode.path)))}" class="code-header">
				<div class="changeset_header">
					<span class="changeset_file">
						${h.link_to_if(change!='removed',h.safe_unicode(filenode.path),h.url('files_home',repo_name=c.repo_name,
						revision=filenode.changeset.raw_id,f_path=h.safe_unicode(filenode.path)))}
					</span>
					&raquo; <span>${h.link_to(_('diff'),
					h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='diff'))}</span>
					&raquo; <span>${h.link_to(_('raw diff'),
					h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='raw'))}</span>
					&raquo; <span>${h.link_to(_('download diff'),
					h.url('files_diff_home',repo_name=c.repo_name,f_path=h.safe_unicode(filenode.path),diff2=cs2,diff1=cs1,diff='download'))}</span>
				</div>
			</div>
			<div class="code-body">
                <div class="full_f_path" path="${filenode.path}"></div>        
				%if diff:
					${diff|n}
				%else:
					${_('No changes in this file')}
				%endif
			</div>
		</div>
		%endif
	%endfor
  
    <%namespace name="comment" file="/changeset/changeset_file_comment.html"/>
    ## template for inline comment form
    ${comment.comment_inline_form()}
    
    <div class="comments">
        <div class="comments-number">${len(c.comments)} comment(s) (${c.inline_cnt} ${_('inline')})</div>
        
        %for path, lines in c.inline_comments:
            <div class="inline-comment-placeholder" path="${path} ">
            % for line,comments in lines.iteritems():
                <div class="inline-comment-placeholder-line" line="${line}"> 
                %for co in comments:
                    ${comment.comment_block(co)}
                %endfor
                </div>
            %endfor
            </div>
        %endfor        
        
        %for co in c.comments:
            ${comment.comment_block(co)}
        %endfor
        %if c.rhodecode_user.username != 'default':
        <div class="comment-form">
            ${h.form(h.url('changeset_comment', repo_name=c.repo_name, revision=c.changeset.raw_id))}
            <strong>${_('Leave a comment')}</strong>
            <div class="clearfix">
                <div class="comment-help">${_('Comments parsed using RST syntax')}</div>
                    ${h.textarea('text')}
            </div>
            <div class="comment-button">
            ${h.submit('save', _('Comment'), class_='ui-button')}
            </div>
            ${h.end_form()}
        </div>
        %endif
    </div>
    <script type="text/javascript">
      var deleteComment = function(comment_id){

          var url = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}".replace('__COMMENT_ID__',comment_id);
          var postData = '_method=delete';
          var success = function(o){
              var n = YUD.get('comment-'+comment_id);
              n.parentNode.removeChild(n);
          }
          ajaxPOST(url,postData,success);
      }

      YUE.onDOMReady(function(){
    	  YUE.on(YUQ('.line'),'mouseenter',function(e){
    		  var tr = e.currentTarget;
              if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context')){
                  return
              }    		  
    		  YUD.addClass(tr,'highlight');
    	  });
          YUE.on(YUQ('.line'),'mouseleave',function(e){
              YUD.removeClass(e.currentTarget,'highlight');
          });
          
          YUE.on(YUQ('.line'),'click',function(e){
        	  var tr = e.currentTarget;
        	  if(YUD.hasClass(tr,'form-open') || YUD.hasClass(tr,'context')){
        		  return
        	  }
        	  YUD.addClass(tr,'form-open');
        	  var node = tr.parentNode.parentNode.parentNode.getElementsByClassName('full_f_path')[0];
        	  var f_path = YUD.getAttribute(node,'path');
        	  var lineno = getLineNo(tr);
        	  var form = createInlineForm(tr, f_path, lineno);
        	  YUD.insertAfter(form,tr);
          })
      })
      
    </script> 
  </div>	
</%def>