[Checkins] SVN: z3ext.product/trunk/ Implemented product management
for enclosed site objects
Nikolay Kim
fafhrd at datacom.kz
Tue Aug 5 10:36:48 EDT 2008
Log message for revision 89394:
Implemented product management for enclosed site objects
Changed:
U z3ext.product/trunk/buildout.cfg
U z3ext.product/trunk/src/z3ext/product/product.py
U z3ext.product/trunk/src/z3ext/product/view.pt
U z3ext.product/trunk/src/z3ext/product/view.py
-=-
Modified: z3ext.product/trunk/buildout.cfg
===================================================================
--- z3ext.product/trunk/buildout.cfg 2008-08-05 14:17:31 UTC (rev 89393)
+++ z3ext.product/trunk/buildout.cfg 2008-08-05 14:36:48 UTC (rev 89394)
@@ -1,6 +1,8 @@
[buildout]
develop = .
parts = test coverage-test coverage-report
+versions = versions
+extends = http://download.zope.org/zope3.4/versions.cfg
[test]
recipe = zc.recipe.testrunner
Modified: z3ext.product/trunk/src/z3ext/product/product.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/product.py 2008-08-05 14:17:31 UTC (rev 89393)
+++ z3ext.product/trunk/src/z3ext/product/product.py 2008-08-05 14:36:48 UTC (rev 89394)
@@ -94,7 +94,7 @@
def _checkInstalled(self, sm, registry, seen):
if sm in seen:
return False
- seen.insert(sm)
+ seen.add(sm)
if registry in sm.__bases__:
return True
Modified: z3ext.product/trunk/src/z3ext/product/view.pt
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.pt 2008-08-05 14:17:31 UTC (rev 89393)
+++ z3ext.product/trunk/src/z3ext/product/view.pt 2008-08-05 14:36:48 UTC (rev 89394)
@@ -6,8 +6,11 @@
<ul class="listing">
<li tal:repeat="product data/installed">
<div class="icon">
- <input class="noborder" type="checkbox"
- name="products:list" tal:attributes="value product/name" />
+ <input class="noborder" type="checkbox" name="products:list"
+ tal:attributes="value product/name"
+ tal:condition="product/uninstallable" />
+ <tal:block tal:condition="not:product/uninstallable">
+ </tal:block>
<img tal:replace="structure product/product/@@zmi_icon" />
</div>
<div class="details">
@@ -51,7 +54,7 @@
</li>
</ul>
- <div class="formControls">
+ <div class="formControls" tal:condition="data/hasUninstallable">
<input type="submit" class="z-form-button" name="update" value="Update" />
<input type="submit" class="z-form-removebutton" name="uninstall" value="Uninstall" />
</div>
Modified: z3ext.product/trunk/src/z3ext/product/view.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.py 2008-08-05 14:17:31 UTC (rev 89393)
+++ z3ext.product/trunk/src/z3ext/product/view.py 2008-08-05 14:36:48 UTC (rev 89394)
@@ -38,16 +38,20 @@
installed = []
notinstalled = []
+ hasUninstallable = False
for name, product in context.items():
info = {'name': name,
'product': product,
'title': product.__title__,
- 'description': product.__description__}
+ 'description': product.__description__,
+ 'uninstallable': product.isUninstallable()}
if product.isInstalled():
info['configlet'] = product.isAvailable()
installed.append((product.__title__, info))
+ if info['uninstallable']:
+ hasUninstallable = True
else:
notinstalled.append((product.__title__, info))
@@ -57,7 +61,8 @@
notinstalled.sort()
notinstalled = [info for t, info in notinstalled]
- return {'installed': installed, 'notinstalled': notinstalled}
+ return {'installed': installed, 'notinstalled': notinstalled,
+ 'hasUninstallable': hasUninstallable}
def getExtensions(self, product):
extensions = []
More information about the Checkins
mailing list