Changeset 2538 in products
- Timestamp:
- Jun 16, 2010 2:28:02 PM (14 years ago)
- Location:
- quintagroup.plonegooglesitemaps/trunk
- Files:
-
- 1 deleted
- 8 edited
- 7 copied
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk
- Property svnmerge-integrated changed from /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3563 to /quintagroup.plonegooglesitemaps/branches/test_refactoring:1-3576
- Property svn:mergeinfo set to /quintagroup.plonegooglesitemaps/branches/test_refactoring:2527-2536
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/configletview.py
r2520 r2538 102 102 return sitemaps 103 103 104 105 104 def sitemapsDict(self): 106 105 content, mobile, news = [],[],[] -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/config.py
r1729 r2538 20 20 AVAILABLE_WF_SCRIPTS = [ping_googlesitemap, ''] 21 21 22 try:23 from Products.DCWorkflow.events import AfterTransitionEvent24 except ImportError:25 IS_PLONE_3 = False26 else:27 IS_PLONE_3 = True28 29 22 # Turn-ON/OFF portal_catalog 30 23 # updating on product installation -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/content/sitemap.py
r2406 r2538 158 158 """ 159 159 self.getField('pingTransitions').set(self, value) 160 if not IS_PLONE_3:161 # Update Workflow if needed162 pw = getToolByName(self, 'portal_workflow')163 #ping_googlesitemap = PING_EMETHODS_MAP[self.getSitemapType()]164 transmap = {}165 for key in value:166 if key.find('#')>0:167 ids = key.split('#')168 wfid = ids[0]169 if not wfid in transmap.keys():170 transmap[wfid]=[]171 transmap[wfid].append(ids[1])172 for wfid in transmap.keys():173 workflow = pw.getWorkflowById(wfid)174 if ping_googlesitemap not in workflow.scripts.objectIds():175 workflow.scripts.manage_addProduct['ExternalMethod'].manage_addExternalMethod(176 ping_googlesitemap,177 'Ping sitemap',178 'quintagroup.plonegooglesitemaps.ping_googlesitemap',179 ping_googlesitemap)180 transitions_set = transmap[wfid]181 for transition in workflow.transitions.values():182 trid = transition.id183 tras = transition.after_script_name184 if (tras == '') and (trid in transitions_set):185 #set186 after_script = ping_googlesitemap187 elif (tras == ping_googlesitemap) and not (trid in transitions_set):188 #reset189 after_script = ''190 else:191 #avoid properties set192 continue193 transition.setProperties(title=transition.title,194 new_state_id=transition.new_state_id,195 after_script_name=after_script,196 actbox_name=transition.actbox_name)197 160 198 161 atapi.registerType(Sitemap, PROJECTNAME) -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/interfaces.py
r1593 r2538 4 4 from zope.app.container.constraints import contains 5 5 from zope.app.container.constraints import containers 6 7 from Products.DCWorkflow.interfaces import IAfterTransitionEvent 6 8 7 9 from quintagroup.plonegooglesitemaps import qPloneGoogleSitemapsMessageFactory as _ … … 11 13 class ISitemap(Interface): 12 14 """Search engine Sitemap content type""" 13 14 try:15 from Products.DCWorkflow.interfaces import IAfterTransitionEvent16 except ImportError:17 # Copy IAfterTransitionEvent from Plone-3/Products.DCWorkflow.interfaces18 from zope.interface import Interface, Attribute19 from zope.app.event.interfaces import IObjectEvent20 21 class ITransitionEvent(IObjectEvent):22 """An event that's fired upon a workflow transition.23 """24 25 workflow = Attribute(u"The workflow definition triggering the transition")26 old_state = Attribute(u"The state definition of the workflow state before the transition")27 new_state = Attribute(u"The state definition of the workflow state before after transition")28 transition = Attribute(u"The transition definition taking place. "29 "May be None if this is the 'transition' to the initial state.")30 status = Attribute(u"The status dict of the object.")31 kwargs = Attribute(u"Any keyword arguments passed to doActionFor() when the transition was invoked")32 33 class IAfterTransitionEvent(ITransitionEvent):34 35 """An event that's fired after a workflow transition.36 """ -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/base.py
r2394 r2538 9 9 10 10 from zope.testing import doctestunit 11 from zope.interface import Interface 11 12 from zope.component import testing 12 13 from Testing import ZopeTestCase as ztc … … 25 26 from quintagroup.plonegooglesitemaps.config import PROJECTNAME 26 27 from quintagroup.plonegooglesitemaps.config import ping_googlesitemap 28 from quintagroup.plonegooglesitemaps.browser import mobilesitemapview 27 29 28 30 quintagroup.plonegooglesitemaps.config.testing = 1 … … 30 32 31 33 32 class MixinTestCase: 34 class IMobileMarker(Interface): 35 """Test Marker interface for mobile objects""" 36 37 38 class MixinTestCase(object): 33 39 """ Define layer and common afterSetup method with package installation. 34 40 Package installation on plone site setup impossible because of … … 39 45 def afterSetUp(self): 40 46 self.loginAsPortalOwner() 47 self.workflow = self.portal.portal_workflow 48 self.orig_mobile_ifaces = None 49 50 def patchMobile(self): 51 # patch mobile sitemap view 52 self.orig_mobile_ifaces = mobilesitemapview.MOBILE_INTERFACES 53 mobilesitemapview.MOBILE_INTERFACES = [IMobileMarker.__identifier__,] 54 55 def beforeTearDown(self): 56 if self.orig_mobile_ifaces is not None: 57 mobilesitemapview.MOBILE_INTERFACES = self.orig_mobile_ifaces 41 58 42 59 … … 44 61 """ For unit tests """ 45 62 63 46 64 class FunctionalTestCase(MixinTestCase, ptc.FunctionalTestCase): 47 65 """ For functional tests """ 66 67 def afterSetUp(self): 68 super(FunctionalTestCase, self).afterSetUp() 69 self.auth = "%s:%s" % (portal_owner, default_password) 48 70 49 71 # Initialize all needed zcml directives -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testNewsSitemaps.py
r2422 r2538 17 17 # Add testing news item to portal 18 18 self.pubdate = (DateTime()+1).strftime("%Y-%m-%d") 19 my_news = self.portal.invokeFactory("News Item", id="my_news") 20 self.my_news = self.portal["my_news"] 19 self.my_news = _createObjectByType('News Item', self.portal, id='my_news') 21 20 self.my_news.edit(text="Test news item", title="First news (test)", language="ua", 22 21 effectiveDate=self.pubdate, gsm_access="Registration", 23 22 gsm_genres=("PressRelease",), gsm_stock="NASDAQ:AMAT, BOM:500325") 24 self. portal.portal_workflow.doActionFor(self.my_news, "publish")23 self.workflow.doActionFor(self.my_news, "publish") 25 24 self.reParse() 26 25 … … 91 90 def test_ngenresForNotExtended(self): 92 91 # No genres should present for not extended content type 93 self.portal.invokeFactory("Document", id="my_doc") 94 my_doc = getattr(self.portal, "my_doc") 92 my_doc = _createObjectByType('Document', self.portal, id='my_doc') 93 #self.portal.invokeFactory("Document", id="my_doc") 94 #my_doc = getattr(self.portal, "my_doc") 95 95 my_doc.edit(text="Test document") 96 self. portal.portal_workflow.doActionFor(my_doc, "publish")96 self.workflow.doActionFor(my_doc, "publish") 97 97 self.portal["news-sitemaps"].edit(portalTypes=("Document",)) 98 98 self.reParse() … … 116 116 # Add minimal testing news item to portal 117 117 self.pubdate = (DateTime()+1).strftime("%Y-%m-%d") 118 my_news = self.portal.invokeFactory("News Item", id="my_news") 119 self.my_news = self.portal["my_news"] 118 self.my_news = _createObjectByType('News Item', self.portal, id='my_news') 120 119 self.my_news.edit(effectiveDate=self.pubdate) 121 self. portal.portal_workflow.doActionFor(self.my_news, "publish")120 self.workflow.doActionFor(self.my_news, "publish") 122 121 self.reParse() 123 122 … … 168 167 def afterSetUp(self): 169 168 super(TestSchemaExtending, self).afterSetUp() 170 self.loginAsPortalOwner() 171 # Add testing news item to portal 172 my_news = self.portal.invokeFactory("News Item", id="my_news") 173 self.my_news = self.portal["my_news"] 174 my_doc = self.portal.invokeFactory("Document", id="my_doc") 175 self.my_doc = self.portal["my_doc"] 169 self.my_doc = _createObjectByType('Document', self.portal, id='my_doc') 170 self.my_news = _createObjectByType('News Item', self.portal, id='my_news') 176 171 177 172 def testExtendNewsItemByDefault(self): -
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testUpgrade.py
r2423 r2538 18 18 19 19 def afterSetUp(self): 20 super(TestUpgrade, self).afterSetUp() 20 21 self.setup = self.portal.portal_setup 21 22 self.profile = "quintagroup.plonegooglesitemaps:default"
Note: See TracChangeset
for help on using the changeset viewer.