Index: waeup_product/trunk/Workflows/WAeUPWorkflow.py
===================================================================
--- waeup_product/trunk/Workflows/WAeUPWorkflow.py	(revision 114)
+++ waeup_product/trunk/Workflows/WAeUPWorkflow.py	(revision 152)
@@ -1,2 +1,3 @@
+#-*- mode: python; mode: fold -*-
 """ WAeUP Workflfow
 """
@@ -29,5 +30,5 @@
 
     wfids = wftool.objectIds()
-    wfid = 'waeup_section_wf'
+    wfid = 'waeup_section_wf' ###(
 
     if wfid in wfids:
@@ -41,5 +42,4 @@
     for p in (View,
               ModifyPortalContent,
-              
              ):
         wf.addManagedPermission(p)
@@ -63,5 +63,5 @@
     s = wf.states.get('work')
 
-    s.setPermission(View, 1, ('Students',))
+    s.setPermission(View, 1, ('Student',))
     s.setPermission(ModifyPortalContent, 1, ('StudentManager','UniversityManager',))
 
@@ -74,5 +74,5 @@
 
     ##########################################################################
-    #                                  CLOSED
+    #                                  CLOSED ###(
     ##########################################################################
 
@@ -92,4 +92,5 @@
     ###########################################################################
     ###########################################################################
+###)
 
     #                               TRANSITIONS
@@ -117,5 +118,5 @@
                     actbox_name='', actbox_category='workflow', actbox_url='',
                     props={'guard_permissions':'',
-                           'guard_roles':'Manager; StudentManager ; UniversityManager',
+                           'guard_roles':'Manager; StudentManager; UniversityManager',
                            'guard_expr':''},)
 
@@ -158,5 +159,5 @@
 
     ##########################################################################
-    #                                  CLOSE
+    #                                  CLOSE ###(
     ##########################################################################
 
@@ -191,4 +192,6 @@
 ##                           'guard_expr':''},)
 
+###)
+
     ################################################################
     #                 VARIABLES
@@ -243,5 +246,226 @@
     ######################################################################################
     ######################################################################################
-    wfid = 'waeup_workspace_wf'
+###)
+
+    wfid = 'waeup_student_wf' ###(
+
+    if wfid in wfids:
+        wftool.manage_delObjects([wfid])
+
+    wftool.manage_addWorkflow(id=wfid,
+                              workflow_type='cps_workflow (Web-configurable workflow for CPS)')
+
+    wf = wftool[wfid]
+
+    for p in (View,
+              ModifyPortalContent,
+             ):
+        wf.addManagedPermission(p)
+
+    ###########################################################################
+    ###########################################################################
+
+    #                                  STATES
+
+    ###########################################################################
+    ###########################################################################
+
+    for s in ('work',
+             ):
+        wf.states.addState(s)
+
+    ##########################################################################
+    #                                  WORK
+    ##########################################################################
+
+    s = wf.states.get('work')
+
+    s.setPermission(View, 1, ('Student',))
+    s.setPermission(ModifyPortalContent, 1, ('StudentManager','UniversityManager','Student'))
+
+    s.setInitialState('work')
+    s.setProperties(title='Work',
+                    description='',
+                    transitions=('create_content',
+                                 'cut_copy_paste',
+                                 'close',),)
+
+    ##########################################################################
+    #                                  CLOSED ###(
+    ##########################################################################
+
+##    s = wf.states.get('closed')
+##
+##    s.setPermission(View, 1, ('ChatPoster',))
+##    s.setPermission(ModifyPortalContent, 1, ('ChatModerator',))
+##    s.setPermission(chatReply, 1, ('ChatModerator',))
+##    s.setPermission(chatPost, 1, ('ChatModerator',))
+##    s.setPermission(chatModerate, 1, ('ChatModerator',))
+
+##    s.setProperties(title='Closed',
+##                    description='',
+##                    transitions=('unclose',
+##                                 'cut_copy_paste',),)
+##
+    ###########################################################################
+    ###########################################################################
+###)
+
+
+    #                               TRANSITIONS
+
+    ###########################################################################
+    ###########################################################################
+
+    for t in ('create',
+              'create_content',
+              'cut_copy_paste',
+              ):
+        wf.transitions.addTransition(t)
+
+
+    ###########################################################################
+    #                                 CREATE
+    ###########################################################################
+
+    t = wf.transitions.get('create')
+    t.setProperties(title='Initial creation',
+                    description='Intial transition like',
+                    new_state_id='work',
+                    transition_behavior=(TRANSITION_INITIAL_CREATE, ),
+                    clone_allowed_transitions=None,
+                    actbox_name='', actbox_category='workflow', actbox_url='',
+                    props={'guard_permissions':'',
+                           'guard_roles':'Manager; StudentManager; UniversityManager; Student',
+                           'guard_expr':''},)
+
+    ###########################################################################
+    #                                  CREATE CONTENT
+    ###########################################################################
+
+    t = wf.transitions.get('create_content')
+    t.setProperties(title='Create content',
+                    description='Allow sub Object Create',
+                    new_state_id='work',
+                    transition_behavior=(TRANSITION_ALLOWSUB_CREATE,
+                                         TRANSITION_ALLOWSUB_CHECKOUT,),
+                    trigger_type=TRIGGER_USER_ACTION,
+                    actbox_name='New',
+                    actbox_category='',
+                    actbox_url='',
+                    props={'guard_permissions':'',
+                           'guard_roles':'Manager; StudentManager ; UniversityManager; Student',
+                           'guard_expr':''},)
+
+    ##########################################################################
+    #                                  CUT/COPY/PASTE
+    ##########################################################################
+
+    t = wf.transitions.get('cut_copy_paste')
+    t.setProperties(title='Cut/Copy/Paste',
+                    new_state_id='work',
+                    transition_behavior=(TRANSITION_ALLOWSUB_DELETE,
+                                         TRANSITION_ALLOWSUB_MOVE,
+                                         TRANSITION_ALLOWSUB_COPY),
+                    clone_allowed_transitions=None,
+                    trigger_type=TRIGGER_USER_ACTION,
+                    actbox_name='New',
+                    actbox_category='',
+                    actbox_url='',
+                    props={'guard_permissions':'',
+                           'guard_roles':'Manager; StudentManager ; UniversityManager',
+                           'guard_expr':''},)
+
+    ##########################################################################
+    #                                  CLOSE ###(
+    ##########################################################################
+
+##    t = wf.transitions.get('close')
+##    t.setProperties(title='close',
+##                    new_state_id='closed',
+##                    transition_behavior=(),
+##                    clone_allowed_transitions=None,
+##                    trigger_type=TRIGGER_USER_ACTION,
+##                    actbox_name='label_chat_close',
+##                    actbox_category='workflow',
+##                    actbox_url='%(content_url)s/cps_chat_close',
+##                    props={'guard_permissions':'',
+##                           'guard_roles':'Manager; SectionManager; SectionReviewer',
+##                           'guard_expr':''},)
+##
+##    ##########################################################################
+##    #                                  UNCLOSE
+##    ##########################################################################
+##
+##    t = wf.transitions.get('unclose')
+##    t.setProperties(title='unclose',
+##                    new_state_id='work',
+##                    transition_behavior=(),
+##                    clone_allowed_transitions=None,
+##                    trigger_type=TRIGGER_USER_ACTION,
+##                    actbox_name='label_chat_unclose',
+##                    actbox_category='workflow',
+##                    actbox_url='%(content_url)s/cps_chat_unclose',
+##                    props={'guard_permissions':'',
+##                           'guard_roles':'Manager; SectionManager; SectionReviewer',
+##                           'guard_expr':''},)
+
+###)
+
+    ################################################################
+    #                 VARIABLES
+    ################################################################
+
+    for v in ('action',
+              'actor',
+              'comments',
+              'review_history',
+              'time',
+              'dest_container',
+              ):
+        wf.variables.addVariable(v)
+
+
+    wf.variables.setStateVar('review_state')
+
+    vdef = wf.variables['action']
+    vdef.setProperties(description='The last transition',
+                       default_expr='transition/getId|nothing',
+                       for_status=1, update_always=1)
+
+    vdef = wf.variables['actor']
+    vdef.setProperties(description='The ID of the user who performed '
+                       'the last transition',
+                       default_expr='user/getId',
+                       for_status=1, update_always=1)
+
+    vdef = wf.variables['comments']
+    vdef.setProperties(description='Comments about the last transition',
+                       default_expr="python:state_change.kwargs.get('comment', '')",
+                       for_status=1, update_always=1)
+
+    vdef = wf.variables['review_history']
+    vdef.setProperties(description='Provides access to workflow history',
+                       default_expr="state_change/getHistory",
+                       props={'guard_permissions':'',
+                              'guard_roles':'Manager; WorkspaceManager; WorkspaceMember; WorkspaceReader; Member',
+                              'guard_expr':''})
+
+    vdef = wf.variables['time']
+    vdef.setProperties(description='Time of the last transition',
+                       default_expr="state_change/getDateTime",
+                       for_status=1, update_always=1)
+
+    vdef = wf.variables['dest_container']
+    vdef.setProperties(description='Destination container for the last paste/publish',
+                       default_expr="python:state_change.kwargs.get('dest_container', '')",
+                       for_status=1, update_always=1)
+
+
+    ######################################################################################
+    ######################################################################################
+###)
+
+    wfid = 'waeup_workspace_wf' ###(
 
     if wfid in wfids:
@@ -457,2 +681,4 @@
                        default_expr="python:state_change.kwargs.get('dest_container', '')",
                        for_status=1, update_always=1)
+
+###)
