Changeset 3635 in products
- Timestamp:
- Mar 7, 2013 1:07:56 PM (11 years ago)
- Location:
- quintagroup.portlet.pfg/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.portlet.pfg/trunk/quintagroup/portlet/pfg/pfg.py
r2816 r3635 10 10 from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile 11 11 from Products.CMFPlone import PloneMessageFactory as _ 12 from Products.CMFCore.utils import getToolByName13 12 14 from Products.PloneFormGen.interfaces import 13 from Products.PloneFormGen.interfaces import IPloneFormGenForm 15 14 from plone.app.vocabularies.catalog import SearchableTextSourceBinder 16 15 from plone.app.form.widgets.uberselectionwidget import UberSelectionWidget 16 17 17 18 18 class IPFGPortlet(IPortletDataProvider): 19 19 20 20 target_form = schema.Choice( 21 title=_(u"Target form"), 22 description=_(u"Find the form which you want to be", 23 "displayed in portlet."), 24 required=True, 25 source=SearchableTextSourceBinder( 26 {'object_provides':IPloneFormGenForm.__identifier__}, 27 default_query='path:')) 21 title=_(u"Target form"), 22 description=_(u"Find the form which you want to be", 23 "displayed in portlet."), 24 required=True, 25 source=SearchableTextSourceBinder( 26 {'object_provides': IPloneFormGenForm.__identifier__}, 27 default_query='path:')) 28 28 29 29 30 class Assignment(base.Assignment): … … 37 38 return _(u"PFG Portlet") 38 39 40 39 41 class Renderer(base.Renderer): 40 42 … … 44 46 base.Renderer.__init__(self, *args) 45 47 self.portal_state = getMultiAdapter((self.context, self.request), 46 name=u'plone_portal_state')48 name=u'plone_portal_state') 47 49 self.portal = self.portal_state.portal() 48 49 50 50 51 def render(self): … … 70 71 if form is not None: 71 72 form_path = '/'.join(form.getPhysicalPath()[2:]) 72 form_view = self.portal.restrictedTraverse('%s/@@embedded' % form_path) 73 form_view = self.portal.restrictedTraverse( 74 '%s/@@embedded' % form_path) 73 75 form_view.prefix = 'pfgportlet' 74 76 return form_view() 77 75 78 76 79 class AddForm(base.AddForm): … … 85 88 return Assignment(target_form=data.get('target_form', '')) 86 89 90 87 91 class EditForm(base.EditForm): 88 92 -
quintagroup.portlet.pfg/trunk/quintagroup/portlet/pfg/tests/base.py
r2816 r3635 8 8 9 9 ztc.installProduct('PloneFormGen') 10 10 11 11 12 @onsetup … … 37 38 'quintagroup.portlet.pfg']) 38 39 40 39 41 class TestCase(ptc.PloneTestCase): 40 42 """Base class used for test cases 41 43 """ 42 44 45 43 46 class FunctionalTestCase(ptc.FunctionalTestCase): 44 47 """Test case class used for functional (doc-)tests -
quintagroup.portlet.pfg/trunk/quintagroup/portlet/pfg/tests/test_portlet.py
r2816 r3635 14 14 15 15 16 from Products.CMFCore.utils import getToolByName17 18 16 class TestPFGPortlet(TestCase): 19 17 … … 23 21 24 22 def testPortletTypeRegistered(self): 25 portlet = getUtility(IPortletType, name='quintagroup.portlet.pfg.PFGPortlet') 26 self.assertEquals(portlet.addview, 'quintagroup.portlet.pfg.PFGPortlet') 23 portlet = getUtility( 24 IPortletType, name='quintagroup.portlet.pfg.PFGPortlet') 25 self.assertEquals( 26 portlet.addview, 'quintagroup.portlet.pfg.PFGPortlet') 27 27 28 28 def testInterfaces(self): … … 32 32 33 33 def testInvokeAddview(self): 34 portlet = getUtility(IPortletType, name='quintagroup.portlet.pfg.PFGPortlet') 35 mapping = self.portal.restrictedTraverse('++contextportlets++plone.leftcolumn') 34 portlet = getUtility( 35 IPortletType, name='quintagroup.portlet.pfg.PFGPortlet') 36 mapping = self.portal.restrictedTraverse( 37 '++contextportlets++plone.leftcolumn') 36 38 for m in mapping.keys(): 37 39 del mapping[m] 38 40 addview = mapping.restrictedTraverse('+/' + portlet.addview) 39 41 40 addview.createAndAdd(data={'target_form' 42 addview.createAndAdd(data={'target_form': u"/test_form"}) 41 43 42 44 self.assertEquals(len(mapping), 1) … … 55 57 request = self.folder.REQUEST 56 58 view = self.folder.restrictedTraverse('@@plone') 57 manager = getUtility(IPortletManager, name='plone.rightcolumn', context=self.portal) 59 manager = getUtility( 60 IPortletManager, name='plone.rightcolumn', context=self.portal) 58 61 assignment = pfg.Assignment(target_form=u"/test_form") 59 62 60 renderer = getMultiAdapter((context, request, view, manager, assignment), IPortletRenderer) 63 renderer = getMultiAdapter( 64 (context, request, view, manager, assignment), IPortletRenderer) 61 65 self.failUnless(isinstance(renderer, pfg.Renderer)) 66 62 67 63 68 class TestPFGPortletRenderer(TestCase): … … 68 73 self.portal.invokeFactory('FormFolder', 'test_form') 69 74 70 def renderer(self, context=None, request=None, view=None, manager=None, assignment=None): 75 def renderer(self, context=None, request=None, view=None, manager=None, 76 assignment=None): 71 77 context = context or self.folder 72 78 request = request or self.folder.REQUEST 73 79 view = view or self.folder.restrictedTraverse('@@plone') 74 manager = manager or getUtility(IPortletManager, name='plone.rightcolumn', context=self.portal) 80 manager = manager or getUtility( 81 IPortletManager, name='plone.rightcolumn', context=self.portal) 75 82 assignment = assignment or pfg.Assignment(target_form="/test_form") 76 83 77 return getMultiAdapter((context, request, view, manager, assignment), IPortletRenderer)78 84 return getMultiAdapter((context, request, view, manager, assignment), 85 IPortletRenderer) 79 86 80 87 def test_portletStyle(self): 88 assignment = pfg.Assignment(target_form="/test_form") 81 89 renderer = self.renderer(context=self.portal, 82 90 request=self.portal.REQUEST, 83 assignment= pfg.Assignment(target_form="/test_form"))91 assignment=assignment) 84 92 renderer = renderer.__of__(self.portal) 85 93 renderer.update() … … 89 97 self.failUnless('Comments' in renderer.render()) 90 98 99 91 100 def test_suite(): 92 101 from unittest import TestSuite, makeSuite -
quintagroup.portlet.pfg/trunk/setup.py
r3632 r3635 8 8 description="Render form created by PloneFormGen package.", 9 9 long_description=open("README.txt").read() + "\n" + 10 open(os.path.join("docs", "HISTORY.txt")).read(), 11 # Get more strings from http://www.python.org/pypi?%3Aaction=list_classifiers 10 open(os.path.join("docs", "HISTORY.txt")).read(), 12 11 classifiers=[ 13 "Programming Language :: Python",14 "Topic :: Software Development :: Libraries :: Python Modules",15 12 "Programming Language :: Python", 13 "Topic :: Software Development :: Libraries :: Python Modules", 14 ], 16 15 keywords='portlet pfg', 17 16 author='Quintagroup',
Note: See TracChangeset
for help on using the changeset viewer.