RhodeCode / rhodecode / templates / changeset / changeset.html

Marcin Kuzminski 1cecc7d 

Marcin Kuzminski 1e757ac 


Vincent Duvert 76d156b 
Marcin Kuzminski 1e757ac 


Takumi IINO 79818f5 
Marcin Kuzminski 1e757ac 


Aras Pranckeviči… fe64fec 
Marcin Kuzminski 1e757ac 


Marcin Kuzminski f91d3f9 
Marcin Kuzminski 1e757ac 








Marcin Kuzminski 2852445 
Marcin Kuzminski 1e757ac 
Marcin Kuzminski 0471cbe 


Marcin Kuzminski 9bbde54 
Vincent Duvert 44f328d 
Marcin Kuzminski 0471cbe 
Marcin Kuzminski 493e03a 





Marcin Kuzminski 37b3c32 
Marcin Kuzminski f467c75 

Marcin Kuzminski e8c0168 

Marcin Kuzminski 37b3c32 
Vincent Duvert 83e4447 
Marcin Kuzminski 1e757ac 






Marcin Kuzminski 3853e37 
Marcin Kuzminski 1e757ac 



Marcin Kuzminski b80c2f6 
Marcin Kuzminski 1e757ac 


Marcin Kuzminski f91d3f9 
Marcin Kuzminski 1e757ac 


Marcin Kuzminski 1cecc7d 


Marcin Kuzminski f91d3f9 



Marcin Kuzminski f57aaf6 
Marcin Kuzminski 1e757ac 
Aras Pranckeviči… c577e82 


Marcin Kuzminski 1e757ac 

Marcin Kuzminski f91d3f9 


Marcin Kuzminski 1e757ac 
Aras Pranckeviči… 0855c64 


Marcin Kuzminski 2cfaf19 




Marcin Kuzminski 1e757ac 

Marcin Kuzminski ffd0739 
Marcin Kuzminski 1e757ac 
Marcin Kuzminski f91d3f9 

Marcin Kuzminski 1e757ac 
Aras Pranckeviči… 609ec28 
Marcin Kuzminski e8c0168 
Marcin Kuzminski 0a2a10a 
Marcin Kuzminski 1e757ac 
Marcin Kuzminski 0a2a10a 

Marcin Kuzminski e21ec97 

Marcin Kuzminski e8c0168 
Marcin Kuzminski e21ec97 
Marcin Kuzminski 22333dd 
Marcin Kuzminski e21ec97 

Marcin Kuzminski 0a2a10a 

Marcin Kuzminski 1e757ac 
Marcin Kuzminski 1cecc7d 
Augusto Herrmann aaec08a 
Marcin Kuzminski 1cecc7d 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski 1e757ac 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski 1e757ac 
Marcin Kuzminski c2f1315 


Marcin Kuzminski a0adf8d 
Marcin Kuzminski d5e42c0 
Marcin Kuzminski c2f1315 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski d4a7b6c 

Marcin Kuzminski f91d3f9 
Marcin Kuzminski d4a7b6c 
Marcin Kuzminski d2de0c2 
Marcin Kuzminski a0adf8d 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski 58c5293 



Marcin Kuzminski ad19dfc 


Marcin Kuzminski a0adf8d 
Marcin Kuzminski 6f0143e 
Marcin Kuzminski 7276b17 
Marcin Kuzminski d4a7b6c 


Dies Koper 04aa0ea 


Marcin Kuzminski d4a7b6c 




Marcin Kuzminski f91d3f9 
Marcin Kuzminski d4a7b6c 


Marcin Kuzminski f91d3f9 
Marcin Kuzminski c83d3d4 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski d4a7b6c 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski 7276b17 
Marcin Kuzminski d4a7b6c 
Dies Koper 04aa0ea 


Marcin Kuzminski d4a7b6c 
Marcin Kuzminski 1f2ba96 
Marcin Kuzminski f91d3f9 
Marcin Kuzminski 1f2ba96 

Marcin Kuzminski b61e540 
Marcin Kuzminski 7276b17 
Marcin Kuzminski f91d3f9 


Marcin Kuzminski d4a7b6c 
Augusto Herrmann aaec08a 
## -*- coding: utf-8 -*-

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

<%def name="title()">
    ${_('%s Changeset') % c.repo_name} - 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')} - <span class='hash'>r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}</span>
</%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 class="hash">
                 r${c.changeset.revision}:${h.short_id(c.changeset.raw_id)}
                </div>
                <div class="date">
                  ${h.fmt_date(c.changeset.date)}
                </div>
                <div class="changeset-status-container">
                    %if c.statuses:
                      <div title="${_('Changeset status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.statuses[0])}]</div>
                      <div class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[0])}" /></div>
                    %endif
                </div>
                <div class="diff-actions">
                  <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='show')}"  class="tooltip" title="${h.tooltip(_('raw diff'))}"><img class="icon" src="${h.url('/images/icons/page_white.png')}"/></a>
                  <a href="${h.url('raw_changeset_home',repo_name=c.repo_name,revision=c.changeset.raw_id,diff='download')}"  class="tooltip" title="${h.tooltip(_('download diff'))}"><img class="icon" src="${h.url('/images/icons/page_white_get.png')}"/></a>
                  ${c.ignorews_url(request.GET)}
                  ${c.context_url(request.GET)}
                </div>
                <div class="comments-number" style="float:right;padding-right:5px">${ungettext("%d comment", "%d comments", len(c.comments)) % len(c.comments)} ${ungettext("(%d inline)", "(%d inline)", c.inline_cnt) % c.inline_cnt}</div>
			</div>
		</div>
	    <div id="changeset_content">
			<div class="container">
	             <div class="left">
	                 <div class="author">
	                     <div class="gravatar">
	                         <img alt="gravatar" src="${h.gravatar_url(h.email_or_none(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.urlify_commit(c.changeset.message, c.repo_name)}</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 c.changeset.parents:
		             %for p_cs in reversed(c.changeset.parents):
		                 <div class="parent">${_('Parent')}
                     <span class="changeset_id">${p_cs.revision}:<span class="changeset_hash">${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)}</span></span>
		                 </div>
		             %endfor
                    %else:
                        <div class="parent">${_('No parents')}</div>
                    %endif
		         <span class="logtags">
                 %if len(c.changeset.parents)>1:
                 <span class="merge">${_('merge')}</span>
                 %endif
		             %if c.changeset.branch:
                     <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>
                     %endif
		             %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>
	        ${_('%s files affected with %s insertions 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">
                            %if change != 'removed':
                                ${h.link_to(h.safe_unicode(filenode.path),c.anchor_url(filenode.changeset.raw_id,filenode.path,request.GET)+"_target")}
                            %else:
                                ${h.link_to(h.safe_unicode(filenode.path),h.url.current(anchor=h.FID('',filenode.path)))}
                            %endif
                            </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>
    <script>
    var _USERS_AC_DATA = ${c.users_array|n};
    var _GROUPS_AC_DATA = ${c.users_groups_array|n};
    AJAX_COMMENT_URL = "${url('changeset_comment',repo_name=c.repo_name,revision=c.changeset.raw_id)}";
    AJAX_COMMENT_DELETE_URL = "${url('changeset_comment_delete',repo_name=c.repo_name,comment_id='__COMMENT_ID__')}";
    </script>
    ## diff block
    <%namespace name="diff_block" file="/changeset/diff_block.html"/>
    ${diff_block.diff_block(c.changes)}

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

    ## main comment form and it status
    ${comment.comments(h.url('changeset_comment', repo_name=c.repo_name, revision=c.changeset.raw_id),
                       h.changeset_status(c.rhodecode_db_repo, c.changeset.raw_id))}

    ## FORM FOR MAKING JS ACTION AS CHANGESET COMMENTS
    <script type="text/javascript">
      YUE.onDOMReady(function(){
          YUE.on(YUQ('.show-inline-comments'),'change',function(e){
              var show = 'none';
              var target = e.currentTarget;
              if(target == null){
                  target = this;
              }
              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;
              if(tr == null){
                  tr = this;
              }
              injectInlineForm(tr);
          });

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

    </script>

    </div>
</%def>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.