Show More
@@ -61,7 +61,8 b' def init_model(engine):' | |||||
61 |
|
61 | |||
62 |
|
62 | |||
63 | class BaseModel(object): |
|
63 | class BaseModel(object): | |
64 | """Base Model for all RhodeCode models, it adds sql alchemy session |
|
64 | """ | |
|
65 | Base Model for all RhodeCode models, it adds sql alchemy session | |||
65 | into instance of model |
|
66 | into instance of model | |
66 |
|
67 | |||
67 | :param sa: If passed it reuses this session instead of creating a new one |
|
68 | :param sa: If passed it reuses this session instead of creating a new one |
@@ -141,7 +141,7 b' class ScmModel(BaseModel):' | |||||
141 | repos_path = self.repos_path |
|
141 | repos_path = self.repos_path | |
142 |
|
142 | |||
143 | baseui = make_ui('db') |
|
143 | baseui = make_ui('db') | |
144 |
repos |
|
144 | repos = {} | |
145 |
|
145 | |||
146 | for name, path in get_filesystem_repos(repos_path, recursive=True): |
|
146 | for name, path in get_filesystem_repos(repos_path, recursive=True): | |
147 |
|
147 | |||
@@ -150,7 +150,7 b' class ScmModel(BaseModel):' | |||||
150 | name = Repository.url_sep().join(name.split(os.sep)) |
|
150 | name = Repository.url_sep().join(name.split(os.sep)) | |
151 |
|
151 | |||
152 | try: |
|
152 | try: | |
153 |
if name in repos |
|
153 | if name in repos: | |
154 | raise RepositoryError('Duplicate repository name %s ' |
|
154 | raise RepositoryError('Duplicate repository name %s ' | |
155 | 'found in %s' % (name, path)) |
|
155 | 'found in %s' % (name, path)) | |
156 | else: |
|
156 | else: | |
@@ -160,15 +160,15 b' class ScmModel(BaseModel):' | |||||
160 | if path[0] == 'hg' and path[0] in BACKENDS.keys(): |
|
160 | if path[0] == 'hg' and path[0] in BACKENDS.keys(): | |
161 |
|
161 | |||
162 | # for mercurial we need to have an str path |
|
162 | # for mercurial we need to have an str path | |
163 |
repos |
|
163 | repos[name] = klass(safe_str(path[1]), | |
164 | baseui=baseui) |
|
164 | baseui=baseui) | |
165 |
|
165 | |||
166 | if path[0] == 'git' and path[0] in BACKENDS.keys(): |
|
166 | if path[0] == 'git' and path[0] in BACKENDS.keys(): | |
167 |
repos |
|
167 | repos[name] = klass(path[1]) | |
168 | except OSError: |
|
168 | except OSError: | |
169 | continue |
|
169 | continue | |
170 |
|
170 | |||
171 |
return repos |
|
171 | return repos | |
172 |
|
172 | |||
173 | def get_repos(self, all_repos=None, sort_key=None): |
|
173 | def get_repos(self, all_repos=None, sort_key=None): | |
174 | """ |
|
174 | """ |
@@ -7,7 +7,7 b' div.diffblock {' | |||||
7 | line-height: 100%; |
|
7 | line-height: 100%; | |
8 | /* new */ |
|
8 | /* new */ | |
9 | line-height: 125%; |
|
9 | line-height: 125%; | |
10 |
|
|
10 | -webkit-border-radius: 6px 6px 0px 0px; | |
11 | -moz-border-radius: 6px 6px 0px 0px; |
|
11 | -moz-border-radius: 6px 6px 0px 0px; | |
12 | border-radius: 6px 6px 0px 0px; |
|
12 | border-radius: 6px 6px 0px 0px; | |
13 | } |
|
13 | } |
@@ -2154,6 +2154,9 b' div.browserblock {' | |||||
2154 | font-size: 100%; |
|
2154 | font-size: 100%; | |
2155 | line-height: 125%; |
|
2155 | line-height: 125%; | |
2156 | padding: 0; |
|
2156 | padding: 0; | |
|
2157 | -webkit-border-radius: 6px 6px 0px 0px; | |||
|
2158 | -moz-border-radius: 6px 6px 0px 0px; | |||
|
2159 | border-radius: 6px 6px 0px 0px; | |||
2157 | } |
|
2160 | } | |
2158 |
|
2161 | |||
2159 | div.browserblock .browser-header { |
|
2162 | div.browserblock .browser-header { | |
@@ -2715,12 +2718,18 b' div.gravatar img {' | |||||
2715 | border: 1px solid #316293; |
|
2718 | border: 1px solid #316293; | |
2716 | } |
|
2719 | } | |
2717 |
|
2720 | |||
2718 |
.ui-button-small |
|
2721 | input.ui-button-small, | |
|
2722 | .ui-button-small { | |||
|
2723 | background-color: #eedc94; | |||
|
2724 | background-repeat: repeat-x; | |||
|
2725 | background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#ECECEC) ); | |||
|
2726 | background-image: -moz-linear-gradient(top, #F4F4F4, #ECECEC); | |||
|
2727 | background-image: -ms-linear-gradient(top, #F4F4F4, #ECECEC); | |||
|
2728 | background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #F4F4F4) ); | |||
|
2729 | background-image: -webkit-linear-gradient(top, #F4F4F4, #ECECEC) ); | |||
|
2730 | background-image: -o-linear-gradient(top, #F4F4F4, #ECECEC) ); | |||
|
2731 | background-image: linear-gradient(top, #F4F4F4, #ECECEC); | |||
2719 |
|
2732 | |||
2720 | } |
|
|||
2721 |
|
||||
2722 | input.ui-button-small,.ui-button-small { |
|
|||
2723 | background: #e5e3e3 url("../images/button.png") repeat-x !important; |
|
|||
2724 | border-top: 1px solid #DDD !important; |
|
2733 | border-top: 1px solid #DDD !important; | |
2725 | border-left: 1px solid #c6c6c6 !important; |
|
2734 | border-left: 1px solid #c6c6c6 !important; | |
2726 | border-right: 1px solid #DDD !important; |
|
2735 | border-right: 1px solid #DDD !important; | |
@@ -2737,13 +2746,16 b' input.ui-button-small,.ui-button-small {' | |||||
2737 | padding: 3px 3px 3px 3px; |
|
2746 | padding: 3px 3px 3px 3px; | |
2738 | } |
|
2747 | } | |
2739 |
|
2748 | |||
2740 |
input.ui-button-small.xsmall, |
|
2749 | input.ui-button-small.xsmall, | |
|
2750 | .ui-button-small.xsmall{ | |||
2741 | padding: 1px 2px 1px 1px; |
|
2751 | padding: 1px 2px 1px 1px; | |
2742 | } |
|
2752 | } | |
2743 |
|
2753 | |||
2744 |
input.ui-button-small:hover, |
|
2754 | input.ui-button-small:hover, | |
2745 | background: #b4b4b4 url("../images/button_selected.png") repeat-x |
|
2755 | .ui-button-small:hover, | |
2746 | !important; |
|
2756 | .ui-button-small.xsmall:hover | |
|
2757 | { | |||
|
2758 | background: #b4b4b4 url("../images/button_selected.png") repeat-x !important; | |||
2747 | border-top: 1px solid #ccc !important; |
|
2759 | border-top: 1px solid #ccc !important; | |
2748 | border-left: 1px solid #bebebe !important; |
|
2760 | border-left: 1px solid #bebebe !important; | |
2749 | border-right: 1px solid #b1b1b1 !important; |
|
2761 | border-right: 1px solid #b1b1b1 !important; | |
@@ -2775,8 +2787,12 b' ins,div.options a:hover {' | |||||
2775 | text-decoration: none; |
|
2787 | text-decoration: none; | |
2776 | } |
|
2788 | } | |
2777 |
|
2789 | |||
2778 | img,#header #header-inner #quick li a:hover span.normal,#header #header-inner #quick li ul li.last,#content div.box div.form div.fields div.field div.textarea table td table td a,#clone_url |
|
2790 | img, | |
2779 | { |
|
2791 | #header #header-inner #quick li a:hover span.normal, | |
|
2792 | #header #header-inner #quick li ul li.last, | |||
|
2793 | #content div.box div.form div.fields div.field div.textarea table td table td a, | |||
|
2794 | #clone_url | |||
|
2795 | { | |||
2780 | border: none; |
|
2796 | border: none; | |
2781 | } |
|
2797 | } | |
2782 |
|
2798 | |||
@@ -2784,19 +2800,27 b' img.icon,.right .merge img {' | |||||
2784 | vertical-align: bottom; |
|
2800 | vertical-align: bottom; | |
2785 | } |
|
2801 | } | |
2786 |
|
2802 | |||
2787 | #header ul#logged-user,#content div.box div.title ul.links,#content div.box div.message div.dismiss,#content div.box div.traffic div.legend ul |
|
2803 | #header ul#logged-user,#content div.box div.title ul.links, | |
|
2804 | #content div.box div.message div.dismiss, | |||
|
2805 | #content div.box div.traffic div.legend ul | |||
2788 | { |
|
2806 | { | |
2789 | float: right; |
|
2807 | float: right; | |
2790 | margin: 0; |
|
2808 | margin: 0; | |
2791 | padding: 0; |
|
2809 | padding: 0; | |
2792 | } |
|
2810 | } | |
2793 |
|
2811 | |||
2794 | #header #header-inner #home,#header #header-inner #logo,#content div.box ul.left,#content div.box ol.left,#content div.box div.pagination-left,div#commit_history,div#legend_data,div#legend_container,div#legend_choices |
|
2812 | #header #header-inner #home,#header #header-inner #logo, | |
|
2813 | #content div.box ul.left,#content div.box ol.left, | |||
|
2814 | #content div.box div.pagination-left,div#commit_history, | |||
|
2815 | div#legend_data,div#legend_container,div#legend_choices | |||
2795 | { |
|
2816 | { | |
2796 | float: left; |
|
2817 | float: left; | |
2797 | } |
|
2818 | } | |
2798 |
|
2819 | |||
2799 | #header #header-inner #quick li:hover ul ul,#header #header-inner #quick li:hover ul ul ul,#header #header-inner #quick li:hover ul ul ul ul,#content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow |
|
2820 | #header #header-inner #quick li:hover ul ul, | |
|
2821 | #header #header-inner #quick li:hover ul ul ul, | |||
|
2822 | #header #header-inner #quick li:hover ul ul ul ul, | |||
|
2823 | #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow | |||
2800 | { |
|
2824 | { | |
2801 | display: none; |
|
2825 | display: none; | |
2802 | } |
|
2826 | } |
@@ -155,15 +155,7 b'' | |||||
155 | %endif |
|
155 | %endif | |
156 | %else: |
|
156 | %else: | |
157 | ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)} |
|
157 | ${h.select('download_options',c.rhodecode_repo.get_changeset().raw_id,c.download_options)} | |
158 | %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()): |
|
158 | <span id="${'zip_link'}">${h.link_to('Download as zip',h.url('files_archive_home',repo_name=c.dbrepo.repo_name,fname='tip.zip'),class_="archive_icon ui-button-small")}</span> | |
159 | %if cnt >=1: |
|
|||
160 | | |
|
|||
161 | %endif |
|
|||
162 | <span class="tooltip" title="${_('Download %s as %s') %('tip',archive['type'])}" |
|
|||
163 | id="${archive['type']+'_link'}">${h.link_to(archive['type'], |
|
|||
164 | h.url('files_archive_home',repo_name=c.dbrepo.repo_name, |
|
|||
165 | fname='tip'+archive['extension']),class_="archive_icon")}</span> |
|
|||
166 | %endfor |
|
|||
167 | <span style="vertical-align: bottom"> |
|
159 | <span style="vertical-align: bottom"> | |
168 | <input id="archive_subrepos" type="checkbox" name="subrepos"/> <span class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</span> |
|
160 | <input id="archive_subrepos" type="checkbox" name="subrepos"/> <span class="tooltip" title="${_('Check this to download archive with subrepos')}" >${_('with subrepos')}</span> | |
169 | </span> |
|
161 | </span> | |
@@ -250,9 +242,7 b" YUE.on(clone_url,'click',function(e){" | |||||
250 |
|
242 | |||
251 | var tmpl_links = {}; |
|
243 | var tmpl_links = {}; | |
252 | %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()): |
|
244 | %for cnt,archive in enumerate(c.rhodecode_repo._get_archives()): | |
253 | tmpl_links['${archive['type']}'] = '${h.link_to(archive['type'], |
|
245 | tmpl_links["${archive['type']}"] = '${h.link_to('__NAME__', h.url('files_archive_home',repo_name=c.dbrepo.repo_name, fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_='archive_icon ui-button-small')}'; | |
254 | h.url('files_archive_home',repo_name=c.dbrepo.repo_name, |
|
|||
255 | fname='__CS__'+archive['extension'],subrepos='__SUB__'),class_="archive_icon")}'; |
|
|||
256 | %endfor |
|
246 | %endfor | |
257 |
|
247 | |||
258 | YUE.on(['download_options','archive_subrepos'],'change',function(e){ |
|
248 | YUE.on(['download_options','archive_subrepos'],'change',function(e){ | |
@@ -261,13 +251,17 b" YUE.on(['download_options','archive_subr" | |||||
261 |
|
251 | |||
262 | for(k in tmpl_links){ |
|
252 | for(k in tmpl_links){ | |
263 | var s = YUD.get(k+'_link'); |
|
253 | var s = YUD.get(k+'_link'); | |
264 | title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}"; |
|
254 | if(s){ | |
265 | s.title = title_tmpl.replace('__CS_NAME__',new_cs.text); |
|
255 | var title_tmpl = "${_('Download %s as %s') % ('__CS_NAME__','__CS_EXT__')}"; | |
266 |
|
|
256 | title_tmpl= title_tmpl.replace('__CS_NAME__',new_cs.text); | |
267 |
|
|
257 | title_tmpl = title_tmpl.replace('__CS_EXT__',k); | |
268 | var subrepos = YUD.get('archive_subrepos').checked |
|
258 | ||
269 |
url = |
|
259 | var url = tmpl_links[k].replace('__CS__',new_cs.value); | |
270 | s.innerHTML = url |
|
260 | var subrepos = YUD.get('archive_subrepos').checked; | |
|
261 | url = url.replace('__SUB__',subrepos); | |||
|
262 | url = url.replace('__NAME__',title_tmpl); | |||
|
263 | s.innerHTML = url | |||
|
264 | } | |||
271 | } |
|
265 | } | |
272 | }); |
|
266 | }); | |
273 | </script> |
|
267 | </script> |
General Comments 0
You need to be logged in to leave comments.
Login now