You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2012/10/26 22:56:57 UTC
[2/15] git commit: [#5145] Refactor to avoid need to double-set add
project form tools options
[#5145] Refactor to avoid need to double-set add project form tools options
Signed-off-by: Cory Johns <jo...@geek.net>
Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/882aa4aa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/882aa4aa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/882aa4aa
Branch: refs/heads/master
Commit: 882aa4aa3356e7ce330bdda945b8164bb9ad2070
Parents: c19bc21
Author: Cory Johns <jo...@geek.net>
Authored: Wed Oct 24 18:39:33 2012 +0000
Committer: Cory Johns <jo...@geek.net>
Committed: Fri Oct 26 20:32:11 2012 +0000
----------------------------------------------------------------------
Allura/allura/lib/plugin.py | 13 -------------
Allura/allura/lib/widgets/forms.py | 10 ++++++++++
2 files changed, 10 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/882aa4aa/Allura/allura/lib/plugin.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 02d652a..b8f565c 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -311,19 +311,6 @@ class ProjectRegistrationProvider(object):
def __init__(self):
from allura.lib.widgets import forms
self.add_project_widget = forms.NeighborhoodAddProjectForm
- ## Dynamically generating CheckboxSet of installable tools
- self.add_project_widget.fields.tools = forms.ew.CheckboxSet(
- name="tools", options=[
- forms.ew.Option(label=tool.tool_label, html_value=ep)
- for ep,tool in g.entry_points["tool"].iteritems()
- if tool.installable and tool.status == 'production'
- ], selected=True
- )
- # have to update it via index as well because of crazy
- # implementation of EasyWidget's NamedList "helper";
- # otherwise, validation doesn't see the new options
- tfi = utils.index_matching(lambda x: x.name == 'tools', self.add_project_widget.fields)
- self.add_project_widget.fields[tfi] = self.add_project_widget.fields.tools
@classmethod
def get(cls):
http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/882aa4aa/Allura/allura/lib/widgets/forms.py
----------------------------------------------------------------------
diff --git a/Allura/allura/lib/widgets/forms.py b/Allura/allura/lib/widgets/forms.py
index b000ea8..35281d1 100644
--- a/Allura/allura/lib/widgets/forms.py
+++ b/Allura/allura/lib/widgets/forms.py
@@ -273,6 +273,16 @@ class NeighborhoodAddProjectForm(ForgeForm):
ew.Option(label='Wiki', html_value='wiki', selected=True)
])
+ def __init__(self, *args, **kwargs):
+ super(NeighborhoodAddProjectForm, self).__init__(*args, **kwargs)
+ ## Dynamically generating CheckboxSet of installable tools
+ from allura.lib.widgets import forms
+ self.fields.tools.options = [
+ forms.ew.Option(label=tool.tool_label, html_value=ep)
+ for ep,tool in g.entry_points["tool"].iteritems()
+ if tool.installable and tool.status == 'production'
+ ]
+
def resources(self):
for r in super(NeighborhoodAddProjectForm, self).resources(): yield r
yield ew.CSSLink('css/add_project.css')