Changeset 1573 in products


Ignore:
Timestamp:
Jan 21, 2010 12:00:52 PM (14 years ago)
Author:
mylan
Message:

#246: Add exporting black-lists for portlet step

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.transmogrifier/trunk/quintagroup/transmogrifier/portlets.py

    r1568 r1573  
    1212 
    1313from plone.portlets.interfaces import ILocalPortletAssignable, IPortletManager,\ 
    14     IPortletAssignmentMapping, IPortletAssignment 
    15 from plone.portlets.constants import CONTEXT_CATEGORY 
     14    IPortletAssignmentMapping, IPortletAssignment, ILocalPortletAssignmentManager 
     15from plone.portlets.constants import USER_CATEGORY, GROUP_CATEGORY, \ 
     16    CONTENT_TYPE_CATEGORY, CONTEXT_CATEGORY 
    1617from plone.app.portlets.interfaces import IPortletTypeInterface 
    1718from plone.app.portlets.exportimport.interfaces import IPortletAssignmentExportImportHandler 
     
    5859                for elem in self.exportAssignments(obj): 
    5960                    root.appendChild(elem) 
    60                 #for elem in self.exportBlacklists(obj) 
    61                     #root.appendChild(elem) 
     61                for elem in self.exportBlacklists(obj): 
     62                    root.appendChild(elem) 
    6263                if root.hasChildNodes(): 
    6364                    self.doc.appendChild(root) 
     
    102103 
    103104        return assignments 
     105 
     106    def exportBlacklists(self, obj): 
     107        assignments = [] 
     108        for manager_name, manager in self.portlet_managers: 
     109            assignable = queryMultiAdapter((obj, manager), ILocalPortletAssignmentManager) 
     110            if assignable is None: 
     111                continue 
     112            for category in (USER_CATEGORY, GROUP_CATEGORY, CONTENT_TYPE_CATEGORY, CONTEXT_CATEGORY,): 
     113                child = self.doc.createElement('blacklist') 
     114                child.setAttribute('manager', manager_name) 
     115                child.setAttribute('category', category) 
     116                child.setAttribute('location', '/'.join(obj.getPhysicalPath())) 
     117             
     118                status = assignable.getBlacklistStatus(category) 
     119                if status == True: 
     120                    child.setAttribute('status', u'block') 
     121                elif status == False: 
     122                    child.setAttribute('status', u'show') 
     123                else: 
     124                    child.setAttribute('status', u'acquire') 
     125                     
     126                assignments.append(child) 
     127 
     128        return assignments 
     129 
    104130 
    105131class PortletsImporterSection(object): 
Note: See TracChangeset for help on using the changeset viewer.