• R/O
  • HTTP
  • SSH
  • HTTPS

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

allura


Commit MetaInfo

修订版4bb9d49ef965c359b72b9684d206238351bc1406 (tree)
时间2012-05-16 18:42:34
作者bolkimen <bolkimen@yaho...>
Commiterbolkimen

Log Message

ticket:52 add grid_view_tools option

更改概述

差异

--- a/Allura/allura/lib/macro.py
+++ b/Allura/allura/lib/macro.py
@@ -135,6 +135,7 @@ def project_blog_posts(max_number=5, sort='timestamp', summary=False, mount_poin
135135 def get_projects_for_macro(category=None, display_mode='grid', sort='last_updated',
136136 show_total=False, limit=100, labels='', award='', private=False,
137137 columns=1, show_proj_icon=True, show_download_button=True, show_awards_banner=True,
138+ grid_view_tools='',
138139 initial_q={}):
139140 from allura.lib.widgets.project_list import ProjectList
140141 from allura.lib import utils
@@ -220,7 +221,8 @@ def get_projects_for_macro(category=None, display_mode='grid', sort='last_update
220221 response = pl.display(projects=projects, display_mode=display_mode,
221222 columns=columns, show_proj_icon=show_proj_icon,
222223 show_download_button=show_download_button,
223- show_awards_banner=show_awards_banner)
224+ show_awards_banner=show_awards_banner,
225+ grid_view_tools=grid_view_tools)
224226 if show_total:
225227 if total is None:
226228 total = 0
@@ -235,18 +237,20 @@ def get_projects_for_macro(category=None, display_mode='grid', sort='last_update
235237 @macro('neighborhood-wiki')
236238 def projects(category=None, display_mode='grid', sort='last_updated',
237239 show_total=False, limit=100, labels='', award='', private=False,
238- columns=1, show_proj_icon=True, show_download_button=True, show_awards_banner=True):
240+ columns=1, show_proj_icon=True, show_download_button=True, show_awards_banner=True,
241+ grid_view_tools=''):
239242 initial_q = dict(neighborhood_id=c.project.neighborhood_id)
240243 return get_projects_for_macro(category=category, display_mode=display_mode, sort=sort,
241244 show_total=show_total, limit=limit, labels=labels, award=award, private=private,
242245 columns=columns, show_proj_icon=show_proj_icon, show_download_button=show_download_button,
243- show_awards_banner=show_awards_banner,
246+ show_awards_banner=show_awards_banner, grid_view_tools=grid_view_tools,
244247 initial_q=initial_q)
245248
246249 @macro('userproject-wiki')
247250 def my_projects(category=None, display_mode='grid', sort='last_updated',
248251 show_total=False, limit=100, labels='', award='', private=False,
249- columns=1, show_proj_icon=True, show_download_button=True, show_awards_banner=True):
252+ columns=1, show_proj_icon=True, show_download_button=True, show_awards_banner=True,
253+ grid_view_tools=''):
250254
251255 myproj_user = c.project.user_project_of
252256 if myproj_user is None:
@@ -260,7 +264,7 @@ def my_projects(category=None, display_mode='grid', sort='last_updated',
260264 return get_projects_for_macro(category=category, display_mode=display_mode, sort=sort,
261265 show_total=show_total, limit=limit, labels=labels, award=award, private=private,
262266 columns=columns, show_proj_icon=show_proj_icon, show_download_button=show_download_button,
263- show_awards_banner=show_awards_banner,
267+ show_awards_banner=show_awards_banner, grid_view_tools=grid_view_tools,
264268 initial_q=initial_q)
265269
266270 @macro()
--- a/Allura/allura/lib/widgets/project_list.py
+++ b/Allura/allura/lib/widgets/project_list.py
@@ -18,13 +18,24 @@ class ProjectSummary(ew_core.Widget):
1818 columns=1,
1919 show_proj_icon=True,
2020 show_download_button=True,
21- show_awards_banner=True)
21+ show_awards_banner=True,
22+ grid_view_tools='')
2223
2324 def prepare_context(self, context):
2425 response = super(ProjectSummary, self).prepare_context(context)
2526 value = response['value']
2627 if response['sitemap'] is None:
2728 response['sitemap'] = [ s for s in value.sitemap() if s.url ]
29+
30+ if response['grid_view_tools'] != '':
31+ view_tools_list = response['grid_view_tools'].split(',')
32+ icon_tool_list = ["tool-%s" % vt.lower() for vt in view_tools_list]
33+ old_sitemap = response['sitemap']
34+ response['sitemap'] = []
35+ for sm in old_sitemap:
36+ if sm.ui_icon is not None and sm.ui_icon.lower() in icon_tool_list:
37+ response['sitemap'].append(sm)
38+
2839 if response['icon_url'] is None:
2940 if value.icon:
3041 response['icon_url'] = value.url()+'icon'
@@ -89,7 +100,8 @@ class ProjectList(ew_core.Widget):
89100 columns=1,
90101 show_proj_icon=True,
91102 show_download_button=True,
92- show_awards_banner=True)
103+ show_awards_banner=True,
104+ grid_view_tools='')
93105
94106 def prepare_context(self, context):
95107 response = super(ProjectList, self).prepare_context(context)
--- a/Allura/allura/templates/neighborhood_help.html
+++ b/Allura/allura/templates/neighborhood_help.html
@@ -26,6 +26,7 @@
2626 <ul>
2727 <li><code>display_mode</code> = grid/list. Default is 'grid'</li>
2828 <li><code>show_proj_icon</code> = yes/no. Default 'yes'</li>
29+ <li><code>grid_view_tools</code> = git,hg,svn,tickets,wiki... Limit the tools shown in project list. Multivalue option (example grid_view_tools=git,wiki). Default ''</li>
2930 <li><code>show_download_button</code> = yes/no. Default 'yes'</li>
3031 <li><code>show_awards_banner</code> = yes/no. Default 'yes'</li>
3132 <li><code>sort</code> = last_updated/alpha/random/last_registered. Default 'last_updated'</li>
--- a/Allura/allura/templates/widgets/project_list_widget.html
+++ b/Allura/allura/templates/widgets/project_list_widget.html
@@ -16,7 +16,8 @@
1616 columns=columns,
1717 show_proj_icon=show_proj_icon,
1818 show_download_button=show_download_button,
19- show_awards_banner=show_awards_banner)}}
19+ show_awards_banner=show_awards_banner,
20+ grid_view_tools=grid_view_tools)}}
2021 {% endif %}
2122 {% endfor %}
2223 {% do g.set_project(old_project) %}
--- a/Allura/allura/tests/test_globals.py
+++ b/Allura/allura/tests/test_globals.py
@@ -227,6 +227,18 @@ def test_projects_macro():
227227 r = g.markdown_wiki.convert('[[projects display_mode=list show_download_button=False]]')
228228 assert 'download-button' not in r
229229
230+@with_setup(setUp)
231+def test_limit_tools_macro():
232+ g.set_app('wiki')
233+ p_nbhd = M.Neighborhood.query.get(name='Adobe')
234+ with h.push_context(p_nbhd.neighborhood_project._id):
235+ r = g.markdown_wiki.convert('[[projects]]')
236+ assert '<span>Admin</span>' in r
237+ r = g.markdown_wiki.convert('[[projects grid_view_tools=wiki]]')
238+ assert '<span>Admin</span>' not in r
239+ r = g.markdown_wiki.convert('[[projects grid_view_tools=wiki,admin]]')
240+ assert '<span>Admin</span>' in r
241+
230242 @td.with_user_project('test-admin')
231243 @td.with_user_project('test-user-1')
232244 @with_setup(setUp)