view rhodecode/templates/compare/compare_diff.html @ 4178:9dd726706178 kallithea-2.2.5-rebrand

Complete copyright notices for web interface; change footer to link to them. The original copyright notice found in the footer was not accurate as it included only one of the many copyright holders in this project. This change creates an "about" page, which currently contains just the copyright and license information. It links to repository for additional potential copyright holders not listed on the about page. Unlisted contributors are mentioned in template comments. Html links for Kallithea is fixed and we link to Conservancy. Display of version information in the footer is improved.
author Bradley M. Kuhn <bkuhn@sfconservancy.org>
date Wed, 21 May 2014 13:35:27 -0400
parents 8d1125a40973
children
line wrap: on
line source

## -*- coding: utf-8 -*-
<%inherit file="/base/base.html"/>

<%def name="title()">
    %if c.compare_home:
        ${_('%s Compare') % c.repo_name}
    %else:
        ${_('%s Compare') % c.repo_name} - ${'%s@%s' % (c.org_repo.repo_name, c.org_ref)} &gt; ${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}
    %endif
    %if c.rhodecode_name:
        &middot; ${c.rhodecode_name}
    %endif
</%def>

<%def name="breadcrumbs_links()">
  ${_('Compare revisions')}
</%def>

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

<%def name="main()">
${self.repo_context_bar('changelog')}
<div class="box">
    <!-- box / title -->
    <div class="title">
        ${self.breadcrumbs()}
    </div>
    <div class="table">
        <div id="body" class="diffblock">
            <div class="code-header">
                <div>
                    ${h.hidden('compare_org')} <i class="icon-ellipsis-horizontal" style="color: #999; vertical-align: -12px; padding: 0px 0px 0px 2px"></i> ${h.hidden('compare_other')}
                    %if not c.compare_home:
                        <a class="btn btn-small" href="${c.swap_url}"><i class="icon-refresh"></i> ${_('Swap')}</a>
                    %endif
                    <div id="compare_revs" class="btn btn-small"><i class="icon-loop"></i> ${_('Compare Revisions')}</div>
                </div>
            </div>
        </div>

    %if c.compare_home:
        <div id="changeset_compare_view_content">
         <div style="color:#999;font-size: 18px">${_('Compare revisions, branches, bookmarks or tags.')}</div>
        </div>
    %else:
        <div id="changeset_compare_view_content">
                ##CS
                <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">${ungettext('Showing %s commit','Showing %s commits', len(c.cs_ranges)) % len(c.cs_ranges)}</div>
                <%include file="compare_cs.html" />

                ## FILES
                <div style="font-size:1.1em;font-weight: bold;clear:both;padding-top:10px">

                % if c.limited_diff:
                    ${ungettext('%s file changed', '%s files changed', len(c.files)) % len(c.files)}
                % else:
                    ${ungettext('%s file changed with %s insertions and %s deletions','%s files changed with %s insertions and %s deletions', len(c.files)) % (len(c.files),c.lines_added,c.lines_deleted)}:
                %endif

                </div>
                <div class="cs_files">
                  %if not c.files:
                     <span class="empty_data">${_('No files')}</span>
                  %endif
                  %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, **request.GET.mixed()))}</div>
                        <div class="changes">${h.fancy_file_stats(stat)}</div>
                      </div>
                  %endfor
                </div>
                % if c.limited_diff:
                  <h5>${_('Changeset was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}">${_('Show full diff')}</a></h5>
                % endif
         </div>

        ## diff block
        <%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
        % if c.limited_diff:
          <h4>${_('Changeset was too big and was cut off...')} <a href="${h.url.current(fulldiff=1, **request.GET.mixed())}">${_('Show full diff')}</a></h4>
        % endif
    %endif
    </div>

</div>
    <script type="text/javascript">

   $(document).ready(function(){
    var cache = {}
    $("#compare_org").select2({
        placeholder: "${'%s@%s' % (c.org_repo.repo_name, c.org_ref)}",
        formatSelection: function(obj){
            return '{0}@{1}'.format("${c.org_repo.repo_name}", obj.text)
        },
        dropdownAutoWidth: true,
        query: function(query){
          var key = 'cache';
          var cached = cache[key] ;
          if(cached) {
            var data = {results: []};
            //filter results
            $.each(cached.results, function(){
                var section = this.text;
                var children = [];
                $.each(this.children, function(){
                    if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
                        children.push({'id': this.id, 'text': this.text})
                    }
                })
                data.results.push({'text': section, 'children': children})
            });
            //push the typed in changeset
            data.results.push({'text':_TM['specify changeset'],
                               'children': [{'id': query.term, 'text': query.term, 'type': 'rev'}]})
            query.callback(data);
          }else{
              $.ajax({
                url: pyroutes.url('repo_refs_data', {'repo_name': '${c.org_repo.repo_name}'}),
                data: {},
                dataType: 'json',
                type: 'GET',
                success: function(data) {
                  cache[key] = data;
                  query.callback({results: data.results});
                }
              })
          }
        },
    });
    $("#compare_other").select2({
        placeholder: "${'%s@%s' % (c.other_repo.repo_name, c.other_ref)}",
        dropdownAutoWidth: true,
        formatSelection: function(obj){
            return '{0}@{1}'.format("${c.other_repo.repo_name}", obj.text)
        },
        query: function(query){
          var key = 'cache2';
          var cached = cache[key] ;
          if(cached) {
            var data = {results: []};
            //filter results
            $.each(cached.results, function(){
                var section = this.text;
                var children = [];
                $.each(this.children, function(){
                    if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
                        children.push({'id': this.id, 'text': this.text})
                    }
                })
                data.results.push({'text': section, 'children': children})
            });
            //push the typed in changeset
            data.results.push({'text':_TM['specify changeset'],
                               'children': [{'id': query.term, 'text': query.term, 'type': 'rev'}]})
            query.callback(data);
          }else{
              $.ajax({
                url: pyroutes.url('repo_refs_data', {'repo_name': '${c.other_repo.repo_name}'}),
                data: {},
                dataType: 'json',
                type: 'GET',
                success: function(data) {
                  cache[key] = data;
                  query.callback({results: data.results});
                }
              })
          }
        },
    });

    $('#compare_revs').on('click', function(e){
        var org = $('#compare_org').select2('data');
        var other = $('#compare_other').select2('data');

        var compare_url = "${h.url('compare_url',repo_name=c.repo_name,org_ref_type='__other_ref_type__',org_ref='__org__',other_ref_type='__org_ref_type__',other_ref='__other__', other_repo=c.other_repo.repo_name)}";
        var u = compare_url.replace('__other_ref_type__',org.type)
                           .replace('__org__',org.text)
                           .replace('__org_ref_type__',other.type)
                           .replace('__other__',other.text);
        window.location=u;
    })
   });
    </script>
</%def>