Blame pagure/templates/_repo_renderdiff.html

Ryan Lerch a623af
{% macro repo_renderdiff(diff, diff_commits, pull_request, repo, username, namespace) -%}
Ryan Lerch a623af
Pierre-Yves Chibon f6a6e0
{% macro lineschanged(linesadded, linesremoved) -%}
Pierre-Yves Chibon f6a6e0
  
Pierre-Yves Chibon f6a6e0
    {%if linesadded != 0 %}
Pierre-Yves Chibon f6a6e0
    +{{linesadded}}
Pierre-Yves Chibon f6a6e0
    {%endif%}
Pierre-Yves Chibon f6a6e0
    {%if linesremoved != 0%}
Pierre-Yves Chibon f6a6e0
    -{{linesremoved}}
Pierre-Yves Chibon f6a6e0
    {%endif%}
Pierre-Yves Chibon f6a6e0
  
Pierre-Yves Chibon f6a6e0
{%endmacro%}
Pierre-Yves Chibon f6a6e0
Pierre-Yves Chibon f6a6e0
{% macro viewfilelink(filepath, patch_new_id) %}
Pierre-Yves Chibon f6a6e0
  {% if pull_request and not pull_request.remote %}
Pierre-Yves Chibon f6a6e0
      
Pierre-Yves Chibon f6a6e0
        url_for(
Pierre-Yves Chibon f6a6e0
            'ui_ns.view_file',
Pierre-Yves Chibon f6a6e0
            repo=pull_request.project_from.name,
Pierre-Yves Chibon f6a6e0
            username=pull_request.project_from.user.username
Pierre-Yves Chibon f6a6e0
                if pull_request.project_from.is_fork else None,
Pierre-Yves Chibon f6a6e0
            namespace=pull_request.project_from.namespace,
Pierre-Yves Chibon f6a6e0
            identifier=patch_new_id,
Pierre-Yves Chibon f6a6e0
            filename=filepath) }}"
Pierre-Yves Chibon f6a6e0
        title="View file as of {{ patch_new_id|short }}">{{
Pierre-Yves Chibon f6a6e0
          filepath | unicode }}
Pierre-Yves Chibon f6a6e0
  {% elif not pull_request %}
Pierre-Yves Chibon f6a6e0
      
Pierre-Yves Chibon f6a6e0
        url_for(
Pierre-Yves Chibon f6a6e0
            'ui_ns.view_file',
Pierre-Yves Chibon f6a6e0
            repo=repo.name,
Pierre-Yves Chibon f6a6e0
            username=username,
Pierre-Yves Chibon f6a6e0
            namespace=repo.namespace,
Pierre-Yves Chibon f6a6e0
            identifier=patch_new_id,
Pierre-Yves Chibon f6a6e0
            filename=filepath) }}"
Pierre-Yves Chibon f6a6e0
        title="View file as of {{ patch_new_id|short }}">{{
Pierre-Yves Chibon f6a6e0
          filepath | unicode }}
Pierre-Yves Chibon f6a6e0
  {% elif pull_request and pull_request.remote %}
Pierre-Yves Chibon f6a6e0
    {{ filepath | unicode }}
Pierre-Yves Chibon f6a6e0
  {% endif %}
Pierre-Yves Chibon f6a6e0
{% endmacro %}
Pierre-Yves Chibon f6a6e0
Pierre-Yves Chibon f6a6e0
{% macro viewfilelinkbutton(filepath, patch_new_id, disabled=False) %}
Pierre-Yves Chibon f6a6e0
  {% if pull_request and not pull_request.remote %}
Pierre-Yves Chibon f6a6e0
    
Pierre-Yves Chibon f6a6e0
      url_for(
Pierre-Yves Chibon f6a6e0
          'ui_ns.view_file',
Pierre-Yves Chibon f6a6e0
          repo=pull_request.project_from.name,
Pierre-Yves Chibon f6a6e0
          username=pull_request.project_from.user.username
Pierre-Yves Chibon f6a6e0
              if pull_request.project_from.is_fork else None,
Pierre-Yves Chibon f6a6e0
          namespace=pull_request.project_from.namespace,
Pierre-Yves Chibon f6a6e0
          identifier=patch_new_id,
Pierre-Yves Chibon f6a6e0
          filename=filepath) }}"
Pierre-Yves Chibon f6a6e0
      title="View file as of {{ patch_new_id|short }}">
Pierre-Yves Chibon f6a6e0
      
Pierre-Yves Chibon f6a6e0
    
Pierre-Yves Chibon f6a6e0
  {% elif not pull_request %}
Pierre-Yves Chibon f6a6e0
      
Pierre-Yves Chibon f6a6e0
        url_for(
Pierre-Yves Chibon f6a6e0
            'ui_ns.view_file',
Pierre-Yves Chibon f6a6e0
            repo=repo.name,
Pierre-Yves Chibon f6a6e0
            username=username,
Pierre-Yves Chibon f6a6e0
            namespace=repo.namespace,
Pierre-Yves Chibon f6a6e0
            identifier=patch_new_id,
Pierre-Yves Chibon f6a6e0
            filename=filepath) }}"
Pierre-Yves Chibon f6a6e0
        title="View file as of {{ patch_new_id|short }}">
Pierre-Yves Chibon f6a6e0
        
Pierre-Yves Chibon f6a6e0
      
Pierre-Yves Chibon f6a6e0
  {% elif pull_request and pull_request.remote %}
Pierre-Yves Chibon f6a6e0
  {% endif %}
Pierre-Yves Chibon f6a6e0
{% endmacro %}
Pierre-Yves Chibon f6a6e0
Pierre-Yves Chibon f6a6e0
{% macro changedlabel(thelabel, thecolor)%}
Pierre-Yves Chibon f6a6e0
  
Pierre-Yves Chibon f6a6e0
    {{thelabel}}
Pierre-Yves Chibon f6a6e0
  
Pierre-Yves Chibon f6a6e0
{% endmacro %}
Pierre-Yves Chibon f6a6e0
Pierre-Yves Chibon f6a6e0
{% macro diffcollapsebtn(loop)%}
Pierre-Yves Chibon 3ff704
  
Pierre-Yves Chibon 3ff704
    data-toggle="collapse" data-target="#diffhighlight_{{loop.index}}">
Pierre-Yves Chibon f6a6e0
    
Pierre-Yves Chibon f6a6e0
  
Pierre-Yves Chibon f6a6e0
{% endmacro %}
Ryan Lerch a623af
Pierre-Yves Chibon f6a6e0
{% if diff %}
Pierre-Yves Chibon f6a6e0
  {% for patch in diff %}
Pierre-Yves Chibon f6a6e0
    {% set patchstats = (patch | patch_stats) %}
Ryan Lerch a623af
    <section class="commit_diff"></section>
Ryan Lerch 92c2a8
      
Ryan Lerch a623af
        
Pierre-Yves Chibon f6a6e0
          
Pierre-Yves Chibon f6a6e0
            {%- if patchstats["status"] == 'D' -%}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                  {{ viewfilelink(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                {{ changedlabel("file removed", "danger")}}
Pierre-Yves Chibon f6a6e0
                {{ lineschanged(patchstats["lines_added"], patchstats["lines_removed"]) }}
Pierre-Yves Chibon f6a6e0
                {{ viewfilelinkbutton(patchstats["new_path"], patchstats["new_id"], disabled=True) }}
Pierre-Yves Chibon f6a6e0
                {{ diffcollapsebtn(loop) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
            {%-elif patchstats["status"] == 'A' -%}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                  {{ viewfilelink(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                {{ changedlabel("file added", "success")}}
Pierre-Yves Chibon f6a6e0
                {{ lineschanged(patchstats["lines_added"], patchstats["lines_removed"]) }}
Pierre-Yves Chibon f6a6e0
                {{ viewfilelinkbutton(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
                {{ diffcollapsebtn(loop) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
            {%-elif patchstats["status"] == 'M' -%}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                  {{ viewfilelink(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                {{ changedlabel("file modified", "secondary")}}
Pierre-Yves Chibon f6a6e0
                {{ lineschanged(patchstats["lines_added"], patchstats["lines_removed"]) }}
Pierre-Yves Chibon f6a6e0
                {{ viewfilelinkbutton(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
                {{ diffcollapsebtn(loop) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
            {%- else -%}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                {{ viewfilelink(patchstats["new_path"], patchstats["new_id"]) }}<strike>{{patchstats["old_path"]}}</strike>
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
                {{ changedlabel("file renamed", "info")}}
Pierre-Yves Chibon f6a6e0
                {{ lineschanged(patchstats["lines_added"], patchstats["lines_removed"]) }}
Pierre-Yves Chibon f6a6e0
                {{ viewfilelinkbutton(patchstats["new_path"], patchstats["new_id"]) }}
Pierre-Yves Chibon f6a6e0
                {{ diffcollapsebtn(loop) }}
Pierre-Yves Chibon f6a6e0
              
Pierre-Yves Chibon f6a6e0
            {%- endif -%}
Ryan Lerch 92c2a8
          
Ryan Lerch a623af
        
Pierre-Yves Chibon f6a6e0
      {% if patchstats["status"] == "R" and patchstats["lines_added"] == 0 and patchstats["lines_removed"] == 0%}
Ryan Lerch 92c2a8
        
Ryan Lerch 92c2a8
          
file was moved with no change to the file
Ryan Lerch a623af
        
Pierre-Yves Chibon f6a6e0
      {% elif patchstats["status"] == "A" and patchstats["lines_added"] == 0 %}
Ryan Lerch 92c2a8
        
Pierre-Yves Chibon ef64ff
          
empty or binary file added
Ryan Lerch a623af
        
Ryan Lerch a623af
      {% else %}
Pierre-Yves Chibon f6a6e0
        {% if patchstats["status"] == "A" and patchstats["lines_added"] > 1000 %}
Ryan Lerch 92c2a8
          
Ryan Lerch 92c2a8
            
Ryan Lerch a623af
                The added file is too large to be shown here, see it at:
Pierre-Yves Chibon f6a6e0
                {{ viewfilelink(patchstats["new_path"], patchstats["new_id"]) }}
Ryan Lerch a623af
            
Ryan Lerch a623af
          
Pierre-Yves Chibon f6a6e0
        {% elif patchstats["status"] == "D" and patchstats["lines_added"] > 1000 %}
Ryan Lerch 92c2a8
          
Ryan Lerch 92c2a8
            
Ryan Lerch a623af
                The removed file is too large to be shown here, see it at:
Pierre-Yves Chibon f6a6e0
                {{ viewfilelink(patchstats["new_path"], patchstats["old_id"]) }}
Ryan Lerch a623af
            
Ryan Lerch a623af
          
Ryan Lerch a623af
        {% else %}
Ryan Lerch 92c2a8
          
Ryan Lerch a623af
          {% autoescape false %}
Pierre-Yves Chibon 967e77
              {{ patch | patch_to_diff | format_loc(
Pierre-Yves Chibon f6a6e0
                      filename=patchstats["new_path"],
Pierre-Yves Chibon f6a6e0
                      commit=patchstats["new_id"],
Ryan Lerch a623af
                      prequest=pull_request,
Ryan Lerch a623af
                      index=loop.index,
Ryan Lerch 19dc17
                      isprdiff=True,
Ryan Lerch a623af
                      tree_id=diff_commits[0].tree.id)}}
Ryan Lerch 92c2a8
          
Ryan Lerch a623af
          {% endautoescape %}
Ryan Lerch a623af
        {% endif %}
Ryan Lerch a623af
      {% endif %}
Ryan Lerch a623af
Ryan Lerch a623af
      
Ryan Lerch a623af
      
Ryan Lerch a623af
      {% endfor %}
Pierre-Yves Chibon f6a6e0
  {% endif %}
Ryan Lerch a623af
Ryan Lerch a623af
{%- endmacro %}