Changeset 84 for waeup_product/trunk


Ignore:
Timestamp:
25 Oct 2005, 16:18:40 (19 years ago)
Author:
joachim
Message:

=Roles and Facultymanagement, new themes used

Location:
waeup_product/trunk
Files:
1 deleted
10 edited
2 moved

Legend:

Unmodified
Added
Removed
  • waeup_product/trunk/Extensions/install.py

    r72 r84  
    33from Products.CPSInstaller.CPSInstaller import CPSInstaller
    44from Products.CMFCore.CMFCorePermissions import View, ModifyPortalContent
     5from Products.WAeUP.WAeUPPermissions import UniversityManage, StudentManage,FacultyManage,\
     6                                            DepartmentManage,CourseManage
    57try:
    68  from Products.CPSSubscriptions.permissions import CanNotifyContent
     
    2830        self.log("Starting %(product_name)s install" % vars() )
    2931   
    30         ##########################################
    31         # Actions ###(
    32         ##########################################
    33         if CPSSubscriptions:
     32        # Roles and Permissions
     33        #
     34        self.verifyRoles((
     35            # A role that can manage the University.
     36            'UniversityManager',
     37            # A role that can manage the StudentsRecords.
     38            'StudentManager',
     39            # A role that can manage a Faculty.
     40            'FacultyManager',
     41            # A role that can manage a department.
     42            'DepartmentManager',
     43            # A role that can manage a Course.
     44            'CourseManager',
     45        ))
     46        waeup_perms = {
     47            UniversityManage:
     48                ('Manager', 'SectionManager','UniversityManager',
     49                 ),
     50            StudentManage:
     51                ('Manager', 'SectionManager','UniversityManager', 'StudentManager'
     52                 ),
     53            FacultyManage:
     54                ('Manager', 'SectionManager','UniversityManager', 'FacultyManager'
     55                 ),
     56            DepartmentManage:
     57                ('Manager', 'SectionManager','UniversityManager', 'DepartmentManager'
     58                 ),
     59            CourseManage:
     60                ('Manager', 'SectionManager','UniversityManager', 'CourseManager'
     61                 ),
     62        }
     63        self.setupPortalPermissions(waeup_perms)
     64
     65        ##########################################
     66        # Actions
     67        ##########################################
     68        if CPSSubscriptions: ###(
    3469            ptypes = "('Portal', 'CPSMailAccess Message', 'CPSMailAccess Box', 'CPSMailAccess Folder',"\
    3570                     +  "'University', 'StudentsFolder', 'Student', 'Jamb')"
     
    96131            self.verifyAction('portal_discussion', **action)
    97132       
    98         ##########################################
    99         # actions
     133###)
     134
     135        # portlets ###(
     136        #
     137        portlets = (
     138                  {'identifier': 'waeup_main_tabs',
     139                  'type': 'Custom Portlet',
     140                  'slot': 'main_tabs',
     141                  'order': 0,
     142                  'render_method': 'portlet_main_navigation',
     143                  'Title': 'main tabs',
     144                  },
     145                  {'identifier': 'waeup_breadcrumbs',
     146                  'type': 'Breadcrumbs Portlet',
     147                  'slot': 'waeup_breadcrumbs',
     148                  'first_item': 2,
     149                  'display_site_root': 0,
     150                  'Title': 'waeup_breadcrumbs',
     151                  'display': 'horizontal_trail',
     152                  'display_hidden_folders': 0,
     153                  'order': 0,
     154                  },
     155                  {'identifier': 'waeup_object_actions',
     156                  'type': 'Actions Portlet',
     157                  'slot': 'waeup_object_actions',
     158                  'order': 0,
     159                  'categories': ['object'],
     160                  'Title': 'waep_manager_actions',
     161                  },
     162                  {'identifier': 'waeup_left_top',
     163                  'type': 'Custom Portlet',
     164                  'slot': 'left_top',
     165                  'order': 0,
     166                  'render_method': 'portlet_session_info',
     167                  'Title': 'Session Info',
     168                  },
     169                )
     170        self.verifyPortletContainer(self.portal.sections.waeup)
     171        self.verifyPortlets(portlets, self.portal.sections.waeup)
     172
     173###)
     174
     175        ##########################################
     176        # student actions ###(
    100177        ##########################################
    101178        actions = ( { 'tool'      : 'portal_actions',
     
    136213                      },
    137214                      { 'tool'      : 'portal_actions',
     215                        'id'        : 'add_faculty',
     216                        'name'      : 'Add New Faculty',
     217                        'action'    : 'string:${object/absolute_url}/addFaculty',
     218                        'permission': (),
     219                        'condition' : 'python: member and here.portal_type in ("University",) and "StudentManager" in member.getGroups()',
     220                        'category'  : 'student',
     221                        'visible'   : 1,
     222                      },
     223                      { 'tool'      : 'portal_actions',
     224                        'id'        : 'add_department',
     225                        'name'      : 'Add New Department',
     226                        'action'    : 'string:${object/absolute_url}/addDepartment',
     227                        'permission': (),
     228                        'condition' : 'python: member and here.portal_type in ("Faculty",) and "StudentManager" in member.getGroups()',
     229                        'category'  : 'student',
     230                        'visible'   : 1,
     231                      },
     232                      { 'tool'      : 'portal_actions',
     233                        'id'        : 'add_course',
     234                        'name'      : 'Add New Course',
     235                        'action'    : 'string:${object/absolute_url}/addCourse',
     236                        'permission': (),
     237                        'condition' : 'python: member and here.portal_type in ("Department",) and "StudentManager" in member.getGroups()',
     238                        'category'  : 'student',
     239                        'visible'   : 1,
     240                      },
     241                      { 'tool'      : 'portal_actions',
    138242                        'id'        : 'add_personal',
    139243                        'name'      : 'Add personal Data',
     
    162266        self.log("Verifying %(product_name)s skinss" % vars())
    163267        wskins = { 'waeup_default' : 'Products/WAeUP/skins/waeup_default',
     268                   'waeup_faculty' : 'Products/WAeUP/skins/waeup_faculty',
    164269                   'waeup_student' : 'Products/WAeUP/skins/waeup_student',
    165270                 }
    166271        self.verifySkins(wskins)
    167272        self.resetSkinCache()
     273       
    168274        ##########################################
    169275        # portal types
  • waeup_product/trunk/University.py

    r68 r84  
    88from Products.CPSCore.CPSBase import CPSBaseDocument as BaseDocument
    99from Products.CPSCore.CPSBase import CPSBaseBTreeFolder as BaseBTreeFolder
     10from Products.CPSDocument.CPSDocument import CPSDocument
    1011
    1112#
     
    1314#
    1415
    15 class University(BaseBTreeFolder):
     16class University(BaseBTreeFolder,CPSDocument):
    1617    """
    1718    Container for the various WAeUP containers
  • waeup_product/trunk/WAeUPPermissions.py

    r80 r84  
    2121
    2222"""WAeUP Student Permissions
     23"""
     24
     25from AccessControl import ModuleSecurityInfo
     26from Products.CMFCore.permissions import setDefaultRoles
     27security = ModuleSecurityInfo('Products.WAeUP.WAeUPPermissions')
    2328
    2429#  - 'University Manage' : Permission you need to manage a University
    2530#
     31security.declarePublic('UniversityManage')
     32UniversityManage = "University Manage"
     33setDefaultRoles(UniversityManage, ('Manager',
     34                                   'Owner',))
     35#  - 'Student Manage' : Permission you need to manage Students
     36#
     37security.declarePublic('StudentManage')
     38StudentManage = "Student Manage"
     39setDefaultRoles(StudentManage, ('Manager',
     40                                'FacultyManager',
     41                                'Owner',))
    2642#  - 'Faculty Manage' : Permission you need to manage a Faculty
    2743#
     44security.declarePublic('FacultyManage')
     45FacultyManage = "Faculty Manage"
     46setDefaultRoles(FacultyManage, ('Manager',
     47                                'FacultyManager',
     48                                'Owner',))
    2849#  - 'Department Manage' : Permission you need to manage a Department
    2950#
     51security.declarePublic('DepartmentManage')
     52DepartmentManage = "Department Manage"
     53setDefaultRoles(DepartmentManage, ('Manager',
     54                                   'FacultyManager',
     55                                   'Department',
     56                                   'Owner',))
     57#  - 'Course Manage' : Permission you need to manage a Department
     58#
     59security.declarePublic('CourseManage')
     60CourseManage = "Course Manage"
     61setDefaultRoles(CourseManage, ('Manager',
     62                                   'FacultyManager',
     63                                   'DepartmentManager',
     64                                   'CourseManager',
     65                                   'Owner',))
    3066
    31 """
    32 
    33 from Products.CMFCore.permissions import setDefaultRoles
    34 
    35 universityManage = "University Manage"
    36 setDefaultRoles(universityManage, ('Manager', 'Owner'))
    37 facultyManage = "Faculty Manage"
    38 setDefaultRoles(facultyManage, ('Manager', 'Owner'))
    39 departmentManage = "Department Manage"
    40 setDefaultRoles(departmentManage, ('Manager', 'Owner'))
    41 
  • waeup_product/trunk/__init__.py

    r68 r84  
    99import Faculty
    1010import Widgets
     11import WAeUPPermissions
    1112
    1213fti = (Students.student_fti,
     
    1516       Faculty.course_fti,
    1617      )
     18
    1719contentClasses = (University.University,
    1820                  Students.StudentsFolder,
  • waeup_product/trunk/skins/waeup_default/getWAeUPLayouts.py

    r78 r84  
    8585    },
    8686    'layout': {
    87         'style_prefix': 'layout_default_',
     87        'style_prefix': 'layout_waeup_',
    8888        'rows': [
    89             [{'widget_id': 'LanguageSelector'}],
     89            #[{'widget_id': 'LanguageSelector'}],
    9090            [{'widget_id': 'Title'},],
    9191            [{'widget_id': 'Description'},],
    92             [{'widget_id': 'LanguageSelectorCreation'}],
     92            #[{'widget_id': 'LanguageSelectorCreation'}],
    9393            ],
    9494        },
     
    790790###)
    791791
     792department = { ###(
     793   'widgets': {},
     794   'layout': {
     795        'style_prefix': 'layout_waeup_',
     796        'flexible_widgets': (),
     797        'ncols': 1,
     798        'rows': [],
     799    },
     800}
     801###)
     802waeup_default = { ###(
     803   'widgets': {},
     804   'layout': {
     805        'style_prefix': 'layout_waeup_',
     806        'flexible_widgets': (),
     807        'ncols': 1,
     808        'rows': [],
     809    },
     810}
     811###)
     812
    792813course = { ###(
    793814    'widgets': {
     
    888909    },
    889910   'layout': {
    890         'style_prefix': 'layout_default_',
     911        'style_prefix': 'layout_waeup_',
    891912        'flexible_widgets': (),
    892913        'ncols': 1,
     
    904925
    905926layouts = {}
     927layouts['university'] = waeup_default
    906928layouts['waeup_common'] = common_layout
    907929layouts['student'] = student_layout
     
    911933layouts['jambcreate'] = jamb_layoutcreate
    912934layouts['jamb'] = jamb_layout
     935layouts['faculty'] = waeup_default
     936layouts['department'] = waeup_default
    913937layouts['course'] = course
    914938layouts['admission_status'] = admission_status
  • waeup_product/trunk/skins/waeup_default/getWAeUPTypes.py

    r78 r84  
    66from Products.CMFCore.permissions import ModifyPortalContent
    77from Products.CMFCore.permissions import AddPortalContent
     8from Products.WAeUP.WAeUPPermissions import UniversityManage, StudentManage,FacultyManage,\
     9                                            DepartmentManage,CourseManage
    810ChangePermissions = 'Change permissions'
    911
     
    2426    'cps_proxy_type': 'folder',
    2527    'schemas': ['metadata', 'common', 'folder'],
    26     'layouts': ['waeup_common', 'folder'],
    27     'layout_clusters': ['metadata:metadata'],
    28     'cps_section_wf': 'waeup_section_wf',
    29     'actions': ({'id': 'view',
     28    'layouts': ['common', 'university'],
     29    'layout_clusters': ['metadata:metadata'],
     30    'cps_section_wf': 'waeup_section_wf',
     31    'actions_add': ({'id': 'view',
    3032                 'name': 'action_view',
    3133                 'action': 'university_view',
    32                  'permissions': (View,)},
    33                 {'id': 'new_content',
    34                  'name': 'action_new_content',
     34                 'permissions': (UniversityManage,)},
     35                {'id': 'addFaculty',
     36                 'name': 'Add a Faculty',
    3537                 'action': 'folder_factories',
    36                  'permissions': (AddPortalContent,)},
     38                 'permissions': (UniversityManage,)},
    3739                {'id': 'contents',
    3840                 'name': 'action_folder_contents',
    3941                 'action': 'folder_contents',
    40                  'permissions': (ModifyPortalContent,)},
     42                 'permissions': (UniversityManage,)},
    4143                {'id': 'edit',
    4244                 'name': 'action_edit',
    4345                 'action': 'cpsdocument_edit_form',
    44                  'permissions': (ModifyPortalContent,)},
     46                 #'action': 'cpsdocument_edit_form',
     47                 'permissions': (UniversityManage,)},
    4548                {'id': 'metadata',
    4649                 'name': 'action_metadata',
     
    7982                 'name': 'Students',
    8083                 'action': 'students_folder_view',
    81                  'permissions': (View,)},
     84                 'permissions': (UniversityManage,)},
    8285                {
    8386                'id'        : 'add_content',
    8487                'name'      : 'Add Content',
    8588                'action'    : 'string:${object/absolute_url}/folder_factories',
    86                 'condition' : 'python: member and "Manager" in member.getRoles()',
    87                 'permissions': (AddPortalContent,)},
     89                'permissions': (StudentManage,)},
    8890                {
    8991                'id'        : 'add_jamb',
    9092                'name'      : 'Add Student JAMB',
    9193                'action'    : 'string:${object/absolute_url}/create_jamb',
    92                 'condition' : 'python: member and "StudentManager" in member.getGroups()',
    93                 'permissions': (AddPortalContent,)},
     94                'permissions': (UniversityManage,)},
    9495                {'id': 'contents',
    9596                 'name': 'action_folder_contents',
    9697                 'action': 'folder_contents',
    97                  'permissions': (ModifyPortalContent,)},
     98                 'permissions': (UniversityManage,)},
    9899                {'id': 'edit',
    99100                 'name': 'action_edit',
    100101                 'action': 'cpsdocument_edit_form',
    101                  'permissions': (ModifyPortalContent,)},
     102                 'permissions': (UniversityManage,)},
    102103                {'id': 'metadata',
    103104                 'name': 'action_metadata',
    104105                 'action': 'cpsdocument_metadata',
    105                  'permissions': (ModifyPortalContent,)},
     106                 'permissions': (UniversityManage,)},
    106107                {'id': 'localroles',
    107108                 'name': 'action_local_roles',
    108109                 'action': 'folder_localrole_form',
    109                  'permissions': (ChangePermissions,)},
     110                 'permissions': (UniversityManage,)},
    110111    )
    111112}
     
    139140          #'action': 'string:${object_url}/cpsdocument_view',
    140141          'condition': '',
    141           'permission': ('View',),
     142          'permission': (View,),
    142143          'category': 'object',
    143144          'visible': True,},
     
    294295    'cps_display_as_document_in_listing': True,
    295296    'schemas': ['metadata','common','faculty'],
    296     'layouts': ['waeup_common',],
     297    'layouts': ['common','faculty'],
    297298    'flexible_layouts': (),
    298299    'layout_clusters': ['metadata:metadata'],
     
    304305          'action': 'string:${object_url}/faculty_index_html',
    305306          'condition': '',
    306           'permission': ('View',),
     307          'permission': (View,),
     308          'category': 'object',
     309          'visible': True,},
     310         {'id': 'edit',
     311          'name': 'action_edit',
     312          'action': 'string:${object_url}/waeup_edit_form',
     313          'condition': '',
     314          'permission': (UniversityManage,),
    307315          'category': 'object',
    308316          'visible': True,},
     
    327335    'cps_display_as_document_in_listing': True,
    328336    'schemas': ['metadata','common','department'],
    329     'layouts': ['waeup_common',],
     337    'layouts': ['department','common',],
    330338    'flexible_layouts': (),
    331339    'layout_clusters': ['metadata:metadata'],
     
    338346          'condition': '',
    339347          'permission': ('View',),
     348          'category': 'object',
     349          'visible': True,},
     350         {'id': 'edit',
     351          'name': 'action_edit',
     352          'action': 'string:${object_url}/waeup_edit_form',
     353          'condition': '',
     354          'permission': (FacultyManage,),
    340355          'category': 'object',
    341356          'visible': True,},
     
    360375    'cps_display_as_document_in_listing': True,
    361376    'schemas': ['metadata','common','course'],
    362     'layouts': ['waeup_common','course'],
     377    'layouts': ['common','course'],
    363378    'flexible_layouts': (),
    364379    'layout_clusters': ['metadata:metadata'],
     
    371386          'condition': '',
    372387          'permission': ('View',),
     388          'category': 'object',
     389          'visible': True,},
     390         {'id': 'edit',
     391          'name': 'action_edit',
     392          'action': 'string:${object_url}/waeup_edit_form',
     393          'condition': '',
     394          'permission': (CourseManage,),
    373395          'category': 'object',
    374396          'visible': True,},
  • waeup_product/trunk/skins/waeup_default/portlet_main_navigation.pt

    r82 r84  
    1212    <a href="" i18n:translate=""
    1313       tal:attributes="href string:${here/portal_url}/sections/waeup/students"
    14        >Student Administration</a>
     14       >Studentadministration</a> |
     15    <a href="" i18n:translate=""
     16       tal:attributes="href string:${here/portal_url}/sections/waeup/faculties"
     17       >Faculties</a>
    1518  </tal:block>
    1619  <tal:block condition="anonymous">
  • waeup_product/trunk/skins/waeup_default/portlet_session_info.pt

    r81 r84  
    66    <span i18n:translate="">You are currently logged in as
    77      <em i18n:name="member"
    8           tal:content="member" /><br />
     8          tal:content="member" /><br />with Basic Roles <span tal:content="member/getRoles" /><br />
     9      <span tal:condition="python: 0" tal:content="python:mtool.getCPSCandidateLocalRoles(context)" />
    910      <a href="" tal:condition="python: 'Students' in member.getGroups()"
    1011         tal:attributes="href string:${here/portal_url}/sections/waeup/students/${member}">goto your personal area</a>
  • waeup_product/trunk/skins/waeup_default/university_view.py

    r78 r84  
    1212        return context.students.students_folder_view_student(psm=psm,groups=groups)
    1313    elif 'StudentManager' in member.getGroups():
    14         return context.students.student_folder_view_manager(psm=psm,groups=groups)
     14        return context.waeup_view_manager(psm=psm,groups=groups)
    1515return context.students.students_folder_view_anon(psm=psm,groups=groups)
  • waeup_product/trunk/skins/waeup_faculty/department_index_html.py

    r80 r84  
    88#return context.student_view_manager()
    99if member:
    10     if 'Manager' in member.getRoles():
     10    if 'StudentManager' in member.getGroups():
     11    #if 'Manager' in member.getRoles():
    1112        return context.department_view_manager()
    1213    elif 'Students' in member.getGroups():
  • waeup_product/trunk/skins/waeup_faculty/department_index_html.py~

    r80 r84  
    11##parameters=post_id=None, REQUEST=None
    22
    3 # $Id: student_index_html.py 48 2005-10-16 15:47:22Z joachim $
     3# $Id: department_index_html.py 80 2005-10-22 13:43:45Z joachim $
    44
    55"""Default view for a Faculty."""
     
    99if member:
    1010    if 'Manager' in member.getRoles():
    11         return context.faculty_view_manager()
     11        return context.department_view_manager()
    1212    elif 'Students' in member.getGroups():
    13         return context.faculty_view_student()
     13        return context.department_view_student()
  • waeup_product/trunk/skins/waeup_faculty/faculty_index_html.py

    r80 r84  
    77
    88#return context.student_view_manager()
    9 if 'Manager' in member.getRoles():
     9#if 'Manager' in member.getRoles():
     10if 'StudentManager' in member.getGroups():
    1011    return context.faculty_view_manager()
    1112elif 'Students' in member.getGroups():
Note: See TracChangeset for help on using the changeset viewer.