From: Vincent F. <svn...@pl...> - 2011-12-29 12:18:20
|
Author: vincentfretin Date: Thu Dec 29 12:18:10 2011 New Revision: 247606 Modified: PloneGazette/trunk/NewsletterBTree.py PloneGazette/trunk/NewsletterReference.py PloneGazette/trunk/NewsletterRichReference.py PloneGazette/trunk/NewsletterTopic.py PloneGazette/trunk/PNLBase.py PloneGazette/trunk/Subscriber.py PloneGazette/trunk/browser/interfaces.py PloneGazette/trunk/browser/newsletterbtree.py PloneGazette/trunk/catalog.py PloneGazette/trunk/interfaces.py PloneGazette/trunk/patches.py PloneGazette/trunk/setuphandlers.py PloneGazette/trunk/skins/PloneGazette/NewsletterTheme_import.py PloneGazette/trunk/skins/PloneGazette/register_newsletter.py PloneGazette/trunk/skins/PloneGazette/safePortalMessage.py Log: Removed trailing whitespace Modified: PloneGazette/trunk/NewsletterBTree.py ============================================================================== --- PloneGazette/trunk/NewsletterBTree.py (original) +++ PloneGazette/trunk/NewsletterBTree.py Thu Dec 29 12:18:10 2011 @@ -6,19 +6,18 @@ from PNLPermissions import * from PNLBase import PNLContentBase from Products.CMFCore.permissions import ListFolderContents -from Products.CMFCore.utils import getToolByName from Products.PloneGazette.interfaces import INewsletterBTree from config import PROJECTNAME class NewsletterBTree(BaseBTreeFolder, PNLContentBase): implements(INewsletterBTree) - - portal_type = meta_type = 'NewsletterBTree' + + portal_type = meta_type = 'NewsletterBTree' archetype_name = 'Newsletter Large Folder' #this name appears in the 'add' box - # + default_view = 'newsletterbtree_view' - + security = ClassSecurityInfo() schema = BaseBTreeFolderSchema.copy() @@ -36,7 +35,7 @@ """ """ return BaseFolder.listFolderContents(self, contentFilter=contentFilter, suppressHiddenFiles=suppressHiddenFiles) - + security.declareProtected(ChangeNewsletterTheme, 'folderlistingFolderContents') def folderlistingFolderContents(self, spec=None, contentFilter=None, suppressHiddenFiles=0): """ @@ -51,8 +50,6 @@ if RESPONSE is None: RESPONSE = REQUEST.RESPONSE return RESPONSE.redirect(self.absolute_url()+'/view') - - -registerType(NewsletterBTree, PROJECTNAME) +registerType(NewsletterBTree, PROJECTNAME) Modified: PloneGazette/trunk/NewsletterReference.py ============================================================================== --- PloneGazette/trunk/NewsletterReference.py (original) +++ PloneGazette/trunk/NewsletterReference.py Thu Dec 29 12:18:10 2011 @@ -1,9 +1,7 @@ # generated by ArchGenXML Fri Oct 31 14:12:55 2003 from Products.Archetypes.public import * from OFS.PropertyManager import PropertyManager -from Products.CMFCore.utils import getToolByName from AccessControl import ClassSecurityInfo -from AccessControl.SpecialUsers import nobody try: from archetypes.referencebrowserwidget import ReferenceBrowserWidget except ImportError: @@ -75,5 +73,3 @@ },) registerType(NewsletterReference, PROJECTNAME) - - Modified: PloneGazette/trunk/NewsletterRichReference.py ============================================================================== --- PloneGazette/trunk/NewsletterRichReference.py (original) +++ PloneGazette/trunk/NewsletterRichReference.py Thu Dec 29 12:18:10 2011 @@ -1,9 +1,7 @@ # generated by ArchGenXML Fri Oct 31 14:12:55 2003 from Products.Archetypes.public import * from OFS.PropertyManager import PropertyManager -from Products.CMFCore.utils import getToolByName from AccessControl import ClassSecurityInfo -from AccessControl.SpecialUsers import nobody try: from archetypes.referencebrowserwidget import ReferenceBrowserWidget @@ -33,7 +31,7 @@ description_msgid='help_text', i18n_domain="plone") ), - + ImageField( name='image', widget=ImageWidget( @@ -46,7 +44,7 @@ storage=AttributeStorage(), sizes={'normal' : (200, 130), } ), - + ReferenceField('references', languageIndependent=1, required=0, @@ -78,15 +76,15 @@ security.declareProtected(View, 'imagetag') def imagetag(self, **kwargs): """Generate image tag using the api of the ImageField - + this method is needed because one must not access ImageField.tag in pagetemplates """ if 'title' not in kwargs: kwargs['title'] = self.Title() return self.getField('image').tag(self, **kwargs) - - + + # uncommant lines below when you need factory_type_information={ 'allowed_content_types':[], @@ -105,5 +103,3 @@ },) registerType(NewsletterRichReference, PROJECTNAME) - - Modified: PloneGazette/trunk/NewsletterTopic.py ============================================================================== --- PloneGazette/trunk/NewsletterTopic.py (original) +++ PloneGazette/trunk/NewsletterTopic.py Thu Dec 29 12:18:10 2011 @@ -44,7 +44,7 @@ class NewsletterTopic(PortalContent, DefaultDublinCoreImpl, PNLContentBase): """NewsletterTopic class""" - + ######################################## ## Registration info for portal_types ## ######################################## @@ -78,7 +78,7 @@ }, ), } - + ########################### ## Basic class behaviour ## ########################### @@ -150,10 +150,10 @@ def _buildQuery(self): """ """ - query = {} + query = {} meta_types = self.meta_types if meta_types: - query['meta_type'] = tuple(meta_types) + query['meta_type'] = tuple(meta_types) subjects = self.subjects if subjects: query['Subject'] = tuple(subjects) @@ -171,9 +171,9 @@ if dateEmitted: query['effective'] = {'query' : dateEmitted, 'range' : 'max' } - return query + return query + - security.declarePublic('getAvailableTypes') def getAvailableTypes(self): """ @@ -194,10 +194,10 @@ """ query = self._buildQuery() catalog = getToolByName(self, 'portal_catalog') - hasPermission = nobody.has_permission + hasPermission = nobody.has_permission brains = catalog.searchResults(query) - # more than 50 objects has no sense inside a newsletter + # more than 50 objects has no sense inside a newsletter if len(brains) > 50: brains = brains[:50] objects = [] @@ -205,13 +205,13 @@ object = brain.getObject() if hasPermission('View', object): objects.append(object) - + if self.max_objects: max_objects = int(self.max_objects) if len(objects) > max_objects: objects = objects[:max_objects] - return objects + return objects def SearchableText(self): """ Modified: PloneGazette/trunk/PNLBase.py ============================================================================== --- PloneGazette/trunk/PNLBase.py (original) +++ PloneGazette/trunk/PNLBase.py Thu Dec 29 12:18:10 2011 @@ -51,5 +51,5 @@ portal_properties = getToolByName(self, 'portal_properties') charset = portal_properties.site_properties.getProperty('default_charset').strip() return charset - + InitializeClass(PNLContentBase) Modified: PloneGazette/trunk/Subscriber.py ============================================================================== --- PloneGazette/trunk/Subscriber.py (original) +++ PloneGazette/trunk/Subscriber.py Thu Dec 29 12:18:10 2011 @@ -50,7 +50,7 @@ class Subscriber(PortalContent, DefaultDublinCoreImpl, PNLContentBase): """Subscriber class""" - + ######################################## ## Registration info for portal_types ## ######################################## @@ -85,9 +85,9 @@ ), 'aliases' : { 'edit' : 'Subscriber_editForm', - }, + }, } - + ########################### ## Basic class behaviour ## ########################### @@ -109,7 +109,7 @@ """__init__(self, id, email='')""" # version 2 - adds email and fullname - # - removes title attribute + # - removes title attribute self._internalVersion = 2 self.id = id self.fullname = '' # not used in templates yet @@ -177,7 +177,7 @@ def checkMailAddress(self, mail): return checkMailAddress(self,mail) - + ##################### ## Utility methods ## ##################### @@ -185,7 +185,7 @@ security.declareProtected(ChangeSubscriber, 'mailingInfo') def mailingInfo(self): """returns None or (email, format, edit_url) tuple.""" - + if self.active: return self.email, self.format, self.absolute_url() + '/Subscriber_editForm' return Modified: PloneGazette/trunk/browser/interfaces.py ============================================================================== --- PloneGazette/trunk/browser/interfaces.py (original) +++ PloneGazette/trunk/browser/interfaces.py Thu Dec 29 12:18:10 2011 @@ -1,10 +1,11 @@ from zope.interface import Interface + class INewsletterBTreeView(Interface): """ """ - + def listSubscribers(): """ return list of subscribers in the folder """ - + def parent_url(): - """ returns parent url """ \ No newline at end of file + """ returns parent url """ Modified: PloneGazette/trunk/browser/newsletterbtree.py ============================================================================== --- PloneGazette/trunk/browser/newsletterbtree.py (original) +++ PloneGazette/trunk/browser/newsletterbtree.py Thu Dec 29 12:18:10 2011 @@ -8,7 +8,7 @@ class NewsletterBTreeView(BrowserView): implements(INewsletterBTreeView) - + def listSubscribers(self): context = aq_inner(self.context) # blah, acquired from NewsletterTheme @@ -16,20 +16,18 @@ result = [] for s in subscribers: # process catalog brains - result.append({'url':s.getURL(), + result.append({'url':s.getURL(), 'email':s.email, 'format':s.format, 'id':s.id, 'active':s.active, }) return result - + def parent_url(self): """ This method is copied from plone.app.content.browser.foldercontents view """ - portal_url = getToolByName(self.context, 'portal_url') - plone_utils = getToolByName(self.context, 'plone_utils') portal_membership = getToolByName(self.context, 'portal_membership') obj = self.context @@ -39,11 +37,11 @@ # Abort if we are at the root of the portal if IPloneSiteRoot.providedBy(self.context): return None - + # Get the parent. If we can't get it (unauthorized), use the portal parent = aq_parent(aq_inner(obj)) - + # # We may get an unauthorized exception if we're not allowed to access# # the parent. In this case, return None try: @@ -55,8 +53,8 @@ if not checkPermission('List folder contents', parent): return None - + return parent.absolute_url() except Unauthorized: - return None \ No newline at end of file + return None Modified: PloneGazette/trunk/catalog.py ============================================================================== --- PloneGazette/trunk/catalog.py (original) +++ PloneGazette/trunk/catalog.py Thu Dec 29 12:18:10 2011 @@ -110,4 +110,3 @@ if REQUEST is not None: return self.manage_main(self, REQUEST,update_menu=1) - Modified: PloneGazette/trunk/interfaces.py ============================================================================== --- PloneGazette/trunk/interfaces.py (original) +++ PloneGazette/trunk/interfaces.py Thu Dec 29 12:18:10 2011 @@ -4,7 +4,7 @@ class INewsletterBTree(Interface): """BTree folder - holds subscribers """ - + class INewsletterTheme(Interface): """Base content object for newsletters and subscribers """ @@ -12,11 +12,11 @@ class INewsletter(Interface): """Base newsletter content """ - + class ISubscriber(Interface): """The newsletter subscriber """ - + class ISection(Interface): """Section inside the newsletter - """ \ No newline at end of file + """ Modified: PloneGazette/trunk/patches.py ============================================================================== --- PloneGazette/trunk/patches.py (original) +++ PloneGazette/trunk/patches.py Thu Dec 29 12:18:10 2011 @@ -1,6 +1,7 @@ from AccessControl import ClassSecurityInfo from Products.CMFPlone.log import log + def monkeyPatch(originalClass, patchingClass): """Monkey patch original class with attributes from new class (Swiped from SpeedPack -- thanks, Christian Heimes!) @@ -29,7 +30,6 @@ setattr(originalClass, name, newAttr) - class TopicPatches: security = ClassSecurityInfo() Modified: PloneGazette/trunk/setuphandlers.py ============================================================================== --- PloneGazette/trunk/setuphandlers.py (original) +++ PloneGazette/trunk/setuphandlers.py Thu Dec 29 12:18:10 2011 @@ -5,12 +5,13 @@ import logging logger = logging.getLogger('PloneGazette') + def importVarious(context): """ """ site = context.getSite() migrateAttributes(site) - + wtool = getToolByName(site, 'portal_workflow') ctool = getToolByName(site, 'portal_catalog') newsletterthemes = [s.getObject() for s in ctool(portal_type='NewsletterTheme')] @@ -51,9 +52,10 @@ logger.info('Setting one_state_workflow for Subscriber objects done.') # we don't need allowedRolesAndUsers index, because subscribers are not listed # in default templates nor indexed in portal_catalog - + return '' + def migrateAttributes(self): """ Migrate Newsletter instances to have all required attributes """ @@ -65,5 +67,3 @@ if not base_hasattr(obj, '_dynamic_content'): setattr(obj, '_dynamic_content', None) obj._p_changed = 1 - - Modified: PloneGazette/trunk/skins/PloneGazette/NewsletterTheme_import.py ============================================================================== --- PloneGazette/trunk/skins/PloneGazette/NewsletterTheme_import.py (original) +++ PloneGazette/trunk/skins/PloneGazette/NewsletterTheme_import.py Thu Dec 29 12:18:10 2011 @@ -25,9 +25,3 @@ result = context.createSubscribersFromCSV(file_upload) msg=context.safePortalMessage(result) return redirect(context.absolute_url() + '/NewsletterTheme_importForm?portal_status_message=%s&import=1' % msg) - - - - - - Modified: PloneGazette/trunk/skins/PloneGazette/register_newsletter.py ============================================================================== --- PloneGazette/trunk/skins/PloneGazette/register_newsletter.py (original) +++ PloneGazette/trunk/skins/PloneGazette/register_newsletter.py Thu Dec 29 12:18:10 2011 @@ -19,12 +19,12 @@ if REQUEST is None: REQUEST = context.REQUEST - + nlcentral = context.restrictedTraverse(nlpath) if format is None: format = nlcentral.default_format - + actions = context.portal_actions.listFilteredActionsFor(object=nlcentral) url = [action['url'] for action in actions['object'] if action['id'] == 'subscribe'][0] Modified: PloneGazette/trunk/skins/PloneGazette/safePortalMessage.py ============================================================================== --- PloneGazette/trunk/skins/PloneGazette/safePortalMessage.py (original) +++ PloneGazette/trunk/skins/PloneGazette/safePortalMessage.py Thu Dec 29 12:18:10 2011 @@ -14,4 +14,3 @@ message = message.encode(encoding) return message - |