allura
修订版 | de6f0e882177195fde29900bae7658913d08143d (tree) |
---|---|
时间 | 2012-03-26 17:18:06 |
作者 | bolkimen <bolkimen@yaho...> |
Commiter | bolkimen |
ticket:13 add download button and test case
@@ -135,7 +135,7 @@ def project_blog_posts(max_number=5, sort='timestamp', summary=False, mount_poin | ||
135 | 135 | @macro('neighborhood-wiki') |
136 | 136 | def projects(category=None, display_mode='grid', sort='last_updated', |
137 | 137 | show_total=False, limit=100, labels='', award='', private=False, |
138 | - columns=3, skip_proj_icon='off'): | |
138 | + columns=2, show_proj_icon='on', show_download_button='on'): | |
139 | 139 | from allura.lib.widgets.project_list import ProjectList |
140 | 140 | from allura.lib import utils |
141 | 141 | from allura import model as M |
@@ -208,7 +208,8 @@ def projects(category=None, display_mode='grid', sort='last_updated', | ||
208 | 208 | pl = ProjectList() |
209 | 209 | g.resource_manager.register(pl) |
210 | 210 | response = pl.display(projects=projects, display_mode=display_mode, |
211 | - columns=columns, skip_proj_icon=skip_proj_icon) | |
211 | + columns=columns, show_proj_icon=show_proj_icon, | |
212 | + show_download_button=show_download_button) | |
212 | 213 | if show_total: |
213 | 214 | if total is None: |
214 | 215 | total = 0 |
@@ -2272,6 +2272,7 @@ div.attachment_thumb .file_type span { | ||
2272 | 2272 | *zoom: 1; |
2273 | 2273 | margin: 0 10px; |
2274 | 2274 | height: 250px; |
2275 | + width: 220px; | |
2275 | 2276 | overflow: hidden; |
2276 | 2277 | -moz-box-shadow: #666666 0 2px 4px 0; |
2277 | 2278 | -webkit-box-shadow: #666666 0 2px 4px 0; |
@@ -2282,8 +2283,6 @@ div.attachment_thumb .file_type span { | ||
2282 | 2283 | background-image: -moz-linear-gradient(100% 100% 90deg, #e5e5e5, white, white 25%); |
2283 | 2284 | margin: 0 0 10px 10px; |
2284 | 2285 | } |
2285 | -.twocol { width: 330px; } | |
2286 | -.threecol { width: 220px; } | |
2287 | 2286 | |
2288 | 2287 | .card .box { |
2289 | 2288 | border: none; |
@@ -14,7 +14,8 @@ | ||
14 | 14 | sitemap=sitemaps[project._id], |
15 | 15 | display_mode=display_mode, |
16 | 16 | columns=columns, |
17 | - skip_proj_icon=skip_proj_icon)}} | |
17 | + show_proj_icon=show_proj_icon, | |
18 | + show_download_button=show_download_button)}} | |
18 | 19 | {% endif %} |
19 | 20 | {% endfor %} |
20 | 21 | {% do g.set_project(old_project) %} |
@@ -1,6 +1,6 @@ | ||
1 | 1 | {% if display_mode == 'list' %} |
2 | -<div class="list card {% if columns == '2' %}twocol{% else %}threecol{% endif %}"> | |
3 | - {% if skip_proj_icon == 'off' %} | |
2 | +<div class="list card"{% if columns == '2' %} style="width: 330px"{% endif %}> | |
3 | + {% if show_proj_icon == 'on' %} | |
4 | 4 | {% if accolades %} |
5 | 5 | <div class="box notch sponsor"> |
6 | 6 | <div class="feature">{{accolades[0].award.short}}</div> |
@@ -12,13 +12,13 @@ | ||
12 | 12 | </div> |
13 | 13 | {% endif %} |
14 | 14 | {% endif %} |
15 | - <h2><a href="{{value.url()}}">{{value.name}}{{ skip_proj_icon }}</a></h2> | |
15 | + <h2><a href="{{value.url()}}">{{value.name}}</a></h2> | |
16 | 16 | <p class="desc">{% if value.summary %}{{value.summary}}{% else %}{{h.text.truncate(value.short_description, 50)}}{% endif %}</p> |
17 | - {{g.markdown_wiki.convert('[[download_button]]')}} | |
17 | + {% if show_download_button == 'on' %}{{g.markdown_wiki.convert('[[download_button]]')}}{% endif %} | |
18 | 18 | </div> |
19 | 19 | {% else %} |
20 | 20 | <div class="border card"> |
21 | - {% if skip_proj_icon == 'off' %} | |
21 | + {% if show_proj_icon == 'on' %} | |
22 | 22 | {% if accolades %} |
23 | 23 | <div class="box notch sponsor"> |
24 | 24 | <div class="feature">{{accolades[0].award.short}}</div> |
@@ -58,3 +58,56 @@ class TestNeighborhood(TestController): | ||
58 | 58 | project_names = self.get_project_names(r) |
59 | 59 | updated_at = self.get_projects_property_in_the_same_order(project_names, 'last_updated') |
60 | 60 | assert updated_at == sorted(updated_at, reverse=True) |
61 | + | |
62 | + @td.with_wiki | |
63 | + def test_projects_makro(self): | |
64 | + # test columns | |
65 | + two_column_style = 'width: 330px;' | |
66 | + r = self.app.post('/p/wiki/Home/update', | |
67 | + params={ | |
68 | + 'title': 'Home', | |
69 | + 'text': '[[projects display_mode=list columns=2]]' | |
70 | + }, | |
71 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
72 | + assert two_column_style in r | |
73 | + | |
74 | + r = self.app.post('/p/wiki/Home/update', | |
75 | + params={ | |
76 | + 'title': 'Home', | |
77 | + 'text': '[[projects display_mode=list columns=3]]' | |
78 | + }, | |
79 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
80 | + assert two_column_style not in r | |
81 | + | |
82 | + # test project icon | |
83 | + r = self.app.post('/p/wiki/Home/update', | |
84 | + params={ | |
85 | + 'title': 'Home', | |
86 | + 'text': '[[projects display_mode=list show_proj_icon=on]]' | |
87 | + }, | |
88 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
89 | + assert 'test Logo' in r | |
90 | + r = self.app.post('/p/wiki/Home/update', | |
91 | + params={ | |
92 | + 'title': 'Home', | |
93 | + 'text': '[[projects display_mode=list show_proj_icon=off]]' | |
94 | + }, | |
95 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
96 | + assert 'test Logo' not in r | |
97 | + | |
98 | + # test project download button | |
99 | + r = self.app.post('/p/wiki/Home/update', | |
100 | + params={ | |
101 | + 'title': 'Home', | |
102 | + 'text': '[[projects display_mode=list show_download_button=on]]' | |
103 | + }, | |
104 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
105 | + assert 'download-button' in r | |
106 | + | |
107 | + r = self.app.post('/p/wiki/Home/update', | |
108 | + params={ | |
109 | + 'title': 'Home', | |
110 | + 'text': '[[projects display_mode=list show_download_button=off]]' | |
111 | + }, | |
112 | + extra_environ=dict(username='root'), upload_files=[]).follow() | |
113 | + assert 'download-button' not in r |