changeset 5552:1013437c997a

files: support annotation on files larger than cut_off_limit When requesting the annotation for a file larger than the cut_off_limit configured in the ini file, the only current option is to click the useless 'show as raw' (which is not an annotation). Replace it with a link 'Show full annotation anyway' instead.
author Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
date Thu, 08 Oct 2015 17:45:50 +0200
parents 18428eab23e1
children 60c9b8e0c49c
files kallithea/controllers/files.py kallithea/templates/files/files_source.html
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/files.py	Mon Oct 12 18:55:41 2015 +0200
+++ b/kallithea/controllers/files.py	Thu Oct 08 17:45:50 2015 +0200
@@ -137,6 +137,7 @@
         c.f_path = f_path
         c.annotate = annotate
         cur_rev = c.changeset.revision
+        c.fulldiff = request.GET.get('fulldiff')
 
         # prev link
         try:
--- a/kallithea/templates/files/files_source.html	Mon Oct 12 18:55:41 2015 +0200
+++ b/kallithea/templates/files/files_source.html	Thu Oct 08 17:45:50 2015 +0200
@@ -63,15 +63,19 @@
           ${_('Binary file (%s)') % c.file.mimetype}
         </div>
       %else:
-        %if c.file.size < c.cut_off_limit:
+        %if c.file.size < c.cut_off_limit or c.fulldiff:
             %if c.annotate:
               ${h.pygmentize_annotation(c.repo_name,c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
             %else:
               ${h.pygmentize(c.file,linenos=True,anchorlinenos=True,lineanchors='L',cssclass="code-highlight")}
             %endif
         %else:
-            ${_('File is too big to display')} ${h.link_to(_('Show as raw'),
-            h.url('files_raw_home',repo_name=c.repo_name,revision=c.file_changeset.raw_id,f_path=c.f_path))}
+            ${_('File is too big to display')}
+            %if c.annotate:
+              ${h.link_to(_('Show full annotation anyway'), h.url.current(fulldiff=1, **request.GET.mixed()))}
+            %else:
+              ${h.link_to(_('Show as raw'), h.url('files_raw_home',repo_name=c.repo_name,revision=c.file_changeset.raw_id,f_path=c.f_path))}
+            %endif
         %endif
       %endif
     </div>