Changeset 1327

Show
Ignore:
Timestamp:
05/28/08 17:13:57 (6 months ago)
Author:
sgillies
Message:

Add a specialized workspace folder

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pleiades.workspace/trunk/pleiades/workspace/__init__.py

    r1288 r1327  
    3232     
    3333    from content import workspace 
     34    from content import folder 
    3435     
    3536    content_types, constructors, ftis = atapi.process_types( 
  • pleiades.workspace/trunk/pleiades/workspace/config.py

    r1288 r1327  
    1616ADD_PERMISSIONS = { 
    1717    "Workspace" : "Pleiades: Add Workspace", 
     18    "Workspace Folder" : "Add portal content" 
    1819} 
  • pleiades.workspace/trunk/pleiades/workspace/content/configure.zcml

    r1288 r1327  
    1515      /> 
    1616  </class> 
    17      
     17 
     18  <class class=".folder.WorkspaceFolder"> 
     19    <require 
     20      permission="zope2.View" 
     21      interface="..interfaces.IWorkspaceFolder" 
     22      /> 
     23    <require 
     24      permission="cmf.ModifyPortalContent" 
     25      set_schema="..interfaces.IWorkspaceFolder" 
     26      /> 
     27  </class> 
     28 
    1829</configure> 
  • pleiades.workspace/trunk/pleiades/workspace/interfaces.py

    r1287 r1327  
    2323                ) 
    2424 
     25 
     26class IWorkspaceFolder(Interface): 
     27    """A container 
     28    """ 
     29    contains('pleiades.workspace.interfaces.IWorkspace', 
     30             'Products.ATContentTypes.interfaces.IATDocument' 
     31             ) 
     32     
     33    title = schema.TextLine( 
     34                title=_(u"Title"), 
     35                required=True 
     36                ) 
     37    description = schema.TextLine( 
     38                title=_(u"Description"), 
     39                description=_(u"A short summary of this folder") 
     40                ) 
  • pleiades.workspace/trunk/pleiades/workspace/profiles/default/types.xml

    r1287 r1327  
    1212    meta_type="Factory-based Type Information with dynamic views" 
    1313    /> 
     14 
     15  <object 
     16    name="Workspace Folder" 
     17    meta_type="Factory-based Type Information with dynamic views" 
     18    /> 
    1419     
    1520</object> 
  • pleiades.workspace/trunk/pleiades/workspace/tests/base.py

    r1288 r1327  
    2121    # This includes the other products below as well. 
    2222     
    23     fiveconfigure.debug_mode = True 
    24     import pleiades.workspace 
    25     zcml.load_config('configure.zcml', pleiades.workspace) 
    26     fiveconfigure.debug_mode = False 
     23    #fiveconfigure.debug_mode = True 
     24    #import pleiades.workspace 
     25    #zcml.load_config('configure.zcml', pleiades.workspace) 
     26    #fiveconfigure.debug_mode = False 
    2727     
    2828    # We need to tell the testing framework that these products 
     
    4646    """Test case class used for functional (doc-)tests 
    4747    """ 
     48 
     49    def afterSetUp(test): 
     50        lpf = test.portal.portal_types['Workspace Folder'] 
     51        lpf_allow = lpf.global_allow 
     52        lpf.global_allow = True 
  • pleiades.workspace/trunk/pleiades/workspace/tests/factory.txt

    r1288 r1327  
    77    >>> folder = self.folder 
    88 
    9 Make a workspace 
     9Make a workspace folder and workspace 
    1010 
    1111    >>> from Products.CMFCore.utils import getToolByName 
    1212    >>> types = getToolByName(self.portal, 'portal_types') 
     13    >>> 'Workspace Folder' in types.objectIds() 
     14    True 
    1315    >>> 'Workspace' in types.objectIds() 
    1416    True 
     17    >>> oid = self.folder.invokeFactory('Workspace Folder', id='workspaces', title='Workspaces') 
     18    >>> folder = self.folder[oid] 
    1519    >>> wsid = folder.invokeFactory('Workspace', id='test-ws', title='Testing') 
    1620    >>> ws = folder[wsid] 
     
    2125    >>> 'names' in ws.objectIds() 
    2226    True 
    23