changeset 1450:2a8bf2a3da98 beta

fixes #214 added support for downloading subrepos in download menu.
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 27 Aug 2011 00:59:12 +0300
parents 0fd5794787a9
children 200e6631787e
files rhodecode/controllers/files.py rhodecode/templates/summary/summary.html
diffstat 2 files changed, 21 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/files.py	Fri Aug 26 22:44:20 2011 +0300
+++ b/rhodecode/controllers/files.py	Sat Aug 27 00:59:12 2011 +0300
@@ -271,6 +271,7 @@
         fileformat = None
         revision = None
         ext = None
+        subrepos = request.GET.get('subrepos') == 'true'
 
         for a_type, ext_data in ARCHIVE_SPECS.items():
             archive_spec = fname.split(ext_data[1])
@@ -300,7 +301,7 @@
         import tempfile
         archive = tempfile.mkstemp()[1]
         t = open(archive, 'wb')
-        cs.fill_archive(stream=t, kind=fileformat)
+        cs.fill_archive(stream=t, kind=fileformat, subrepos=subrepos)
 
         def get_chunked_archive(archive):
             stream = open(archive, 'rb')
--- a/rhodecode/templates/summary/summary.html	Fri Aug 26 22:44:20 2011 +0300
+++ b/rhodecode/templates/summary/summary.html	Sat Aug 27 00:59:12 2011 +0300
@@ -164,6 +164,9 @@
 			                h.url('files_archive_home',repo_name=c.dbrepo.repo_name,
 			                fname='tip'+archive['extension']),class_="archive_icon")}</span>
 			        %endfor
+                    <span style="vertical-align: bottom">
+                        <input id="archive_subrepos" type="checkbox" name="subrepos"/> <span class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</span>
+                    </span>
 			    %endif
 			  </div>
 			 </div>
@@ -278,27 +281,28 @@
   					'display','none');
   		})
   	
-             
-             YUE.on('download_options','change',function(e){
-                 var new_cs = e.target.options[e.target.selectedIndex];
-                 var tmpl_links = {}
-                 %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
-                	 tmpl_links['${archive['type']}'] = '${h.link_to(archive['type'],
-                        h.url('files_archive_home',repo_name=c.dbrepo.repo_name,
-                        fname='__CS__'+archive['extension']),class_="archive_icon")}';
-                 %endfor
-                
+             var tmpl_links = {}
+              %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()):
+                tmpl_links['${archive['type']}'] = '${h.link_to(archive['type'],
+                     h.url('files_archive_home',repo_name=c.dbrepo.repo_name,
+                     fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_="archive_icon")}';
+              %endfor
+              
+             YUE.on(['download_options','archive_subrepos'],'change',function(e){
+            	 var sm = YUD.get('download_options');
+                 var new_cs = sm.options[sm.selectedIndex];
                  
                  for(k in tmpl_links){
-                	 var s = YUD.get(k+'_link')
+                	 var s = YUD.get(k+'_link');
                 	 title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}";
                 	 s.title = title_tmpl.replace('__CS_NAME__',new_cs.text);
                 	 s.title = s.title.replace('__CS_EXT__',k);
-                	 s.innerHTML = tmpl_links[k].replace('__CS__',new_cs.value);
+                	 var url = tmpl_links[k].replace('__CS__',new_cs.value);
+                	 var subrepos = YUD.get('archive_subrepos').checked
+                	 url = url.replace('__SUB__',subrepos);
+                	 s.innerHTML = url 
                  }
-                 
-             })
-             	
+             });
   	</script>    				
 </div>