Changeset 6687 for main/waeup.sirp/trunk/src/waeup/sirp
- Timestamp:
- 6 Sep 2011, 08:22:00 (13 years ago)
- Location:
- main/waeup.sirp/trunk/src/waeup/sirp
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/browser/layout.py
r6642 r6687 11 11 from zope.interface import Interface 12 12 from zope.site.hooks import getSite 13 from waeup.sirp.interfaces import IWAeUPObject 13 from waeup.sirp.interfaces import IWAeUPObject, IUserAccount 14 14 from waeup.sirp.browser.interfaces import ITheme 15 15 from waeup.sirp.browser.theming import get_all_themes, WAeUPThemeGray1 16 16 from waeup.sirp.students.interfaces import IStudentNavigation 17 from waeup.sirp.authentication import get_principal_role_manager 17 18 18 19 grok.templatedir('templates') … … 160 161 return 161 162 163 def isStudent(self): 164 prm = get_principal_role_manager() 165 roles = [x[0] for x in prm.getRolesForPrincipal(self.request.principal.id)] 166 return 'waeup.Student' in roles 167 168 def tableClass(self): 169 if self.isStudent(): 170 return 'yui-t7' 171 return 'yui-t1' 172 162 173 def update(self): 163 174 """Include the resources required by the chosen skin/theme. -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/sitelayout.pt
r6653 r6687 15 15 </head> 16 16 <body class="rounded yui-skin-sam"> 17 <div id="doc3" class="yui-t1">17 <div id="doc3" tal:attributes= "class layout/tableClass"> 18 18 <div id="hd" role="banner"> 19 19 <div id="hd"> … … 25 25 </span> </h1> 26 26 <div id="navigation" class="yui-navset" style="text-align:right;"> 27 <ul id="primary-navigation" >27 <ul id="primary-navigation" tal:condition="not: layout/isStudent"> 28 28 <tal:primary_nav content="structure provider:primary_nav" /> 29 </ul> 30 <ul id="primary-navigation" tal:condition="layout/isStudent"> 31 <tal:primary_nav content="structure provider:primary_nav_student" /> 29 32 </ul> 30 33 <ul id="user-navigation" tal:condition="layout/isAuthenticated"> … … 44 47 </div> 45 48 <div id="bd" role="main"> 46 <span tal:condition=" layout/isAuthenticated"49 <span tal:condition="python: layout.isAuthenticated() and not layout.isStudent()" 47 50 tal:content="structure provider:breadcrumbs" /> 51 52 <div class="yui-b" tal:condition="not: layout/isStudent"> 53 <div class="block" tal:condition="layout/getStudentName"> 54 <div class="hd"> 55 <h2 tal:content="layout/getStudentName">Student name</h2> 56 </div> 57 <div class="bd"> 58 <tal:left content="structure provider:left_studentmanage" /> 59 </div> 60 </div> 61 <div class="block"> 62 <div class="hd"> 63 <h2 tal:content="layout/getUserTitle">Username</h2> 64 </div> 65 <div class="bd"> 66 <tal:left content="structure provider:left" /> 67 </div> 68 </div> 69 </div> 70 71 <div class="yui-b" tal:condition="layout/isStudent"> 72 <div class="block" tal:condition="layout/getStudentName"> 73 <div> 74 <tal:left content="structure provider:top_student" /> 75 </div> 76 </div> 77 </div> 78 48 79 <div id="yui-main"> 49 80 <div class="yui-b"> 50 81 <div class="yui-g"> 51 82 <div class="block"> 52 <div class="hd" >83 <div class="hd" tal:condition="not: layout/isStudent"> 53 84 <span tal:content="view/title"> THE CONTENT TITLE </span> 54 85 <span tal:condition="layout/getStudentName" class="wfstatus"> … … 77 108 </div> 78 109 </div> 79 <div class="yui-b"> 80 <div class="block" tal:condition="layout/getStudentName"> 81 <div class="hd"> 82 <h2 tal:content="layout/getStudentName">Student name</h2> 83 </div> 84 <div class="bd"> 85 <tal:left content="structure provider:left_student" /> 86 </div> 87 </div> 88 <div class="block"> 89 <div class="hd"> 90 <h2 tal:content="layout/getUserTitle">Username</h2> 91 </div> 92 <div class="bd"> 93 <tal:left content="structure provider:left" /> 94 </div> 95 </div> 96 </div> 110 97 111 </div> 98 112 <div id="ft" role="contentinfo"> -
main/waeup.sirp/trunk/src/waeup/sirp/students/permissions.py
r6683 r6687 39 39 class StudentRole(grok.Role): 40 40 grok.name('waeup.Student') 41 grok.permissions('waeup.Public' )41 grok.permissions('waeup.Public', 'waeup.View') 42 42 43 43 class StudentsOfficer(grok.Role): -
main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
r6660 r6687 4 4 5 5 grok.context(IWAeUPObject) # Make IWAeUPObject the default context 6 grok.templatedir('browser_templates') 6 7 7 class Student Sidebar(grok.ViewletManager):8 grok.name('left_student ')8 class StudentManageSidebar(grok.ViewletManager): 9 grok.name('left_studentmanage') 9 10 10 class Student Link(grok.Viewlet):11 class StudentManageLink(grok.Viewlet): 11 12 """A link displayed in the student box which shows up for StudentNavigation 12 13 objects. … … 14 15 """ 15 16 grok.baseclass() 16 grok.viewletmanager(Student Sidebar)17 grok.viewletmanager(StudentManageSidebar) 17 18 grok.context(IWAeUPObject) 18 19 grok.view(Interface) … … 27 28 return u'<div class="portlet"><a href="%s">%s</a></div>' % ( 28 29 url, self.text) 30 31 class StudentManageBaseLink(StudentManageLink): 32 grok.order(1) 33 link = 'index' 34 text = u'Base Data' 35 36 class StudentManageClearanceLink(StudentManageLink): 37 grok.order(2) 38 link = 'view_clearance' 39 text = u'Clearance Data' 40 41 class StudentManagePersonalLink(StudentManageLink): 42 grok.order(2) 43 link = 'view_personal' 44 text = u'Personal Data' 45 46 class StudentManageStudyCourseLink(StudentManageLink): 47 grok.order(3) 48 link = 'studycourse' 49 text = u'Study Course' 50 51 class StudentManagePaymentsLink(StudentManageLink): 52 grok.order(4) 53 link = 'payments' 54 text = u'Payments' 55 56 class StudentManageAccommodationLink(StudentManageLink): 57 grok.order(5) 58 link = 'accommodation' 59 text = u'Accommodation Data' 60 61 class StudentManageHistoryLink(StudentManageLink): 62 grok.order(6) 63 link = 'history' 64 text = u'History' 65 66 67 class StudentMenu(grok.ViewletManager): 68 grok.name('top_student') 69 70 class StudentLink(grok.Viewlet): 71 """A link displayed in the student box which shows up for StudentNavigation 72 objects. 73 74 """ 75 grok.baseclass() 76 grok.viewletmanager(StudentMenu) 77 grok.context(IWAeUPObject) 78 grok.view(Interface) 79 grok.order(5) 80 grok.require('waeup.viewStudent') 81 template = grok.PageTemplateFile('browser_templates/plainactionbutton.pt') 82 83 link = 'index' 84 text = u'Base Data' 85 86 @property 87 def alt(self): 88 """Alternative text for icon. 89 """ 90 return self.text 91 92 @property 93 def target_url(self): 94 """Get a URL to the target... 95 """ 96 return self.view.url(self.context.getStudent(), self.link) 29 97 30 98 class StudentBaseLink(StudentLink): … … 56 124 grok.order(5) 57 125 link = 'accommodation' 58 text = u'Accommodation Data'126 text = u'Accommodation' 59 127 60 128 class StudentHistoryLink(StudentLink): … … 62 130 link = 'history' 63 131 text = u'History' 132 133 class PrimaryStudentNavManager(grok.ViewletManager): 134 """Viewlet manager for the primary navigation tab. 135 """ 136 grok.name('primary_nav_student') 137 138 class PrimaryStudentNavTab(grok.Viewlet): 139 """Base for primary student nav tabs. 140 """ 141 grok.baseclass() 142 grok.viewletmanager(PrimaryStudentNavManager) 143 grok.template('primarynavtab') 144 grok.order(1) 145 grok.require('waeup.View') 146 pnav = 0 147 tab_title = u'Some Text' 148 149 @property 150 def link_target(self): 151 return self.view.application_url() 152 153 @property 154 def active(self): 155 view_pnav = getattr(self.view, 'pnav', 0) 156 if view_pnav == self.pnav: 157 return 'active' 158 return '' 159 160 class HomeTab(PrimaryStudentNavTab): 161 """Home-tab in primary navigation. 162 """ 163 grok.order(1) 164 grok.require('waeup.Public') 165 pnav = 0 166 tab_title = u'Home' 167 168 class ProspectusTab(PrimaryStudentNavTab): 169 """Faculties-tab in primary navigation. 170 """ 171 grok.order(2) 172 grok.require('waeup.View') 173 pnav = 1 174 tab_title = u'Prospectus' 175 176 @property 177 def link_target(self): 178 return self.view.application_url('faculties') 179 180 class MyDataTab(PrimaryStudentNavTab): 181 """MyData-tab in primary navigation. 182 """ 183 grok.order(3) 184 grok.require('waeup.Public') 185 pnav = 4 186 tab_title = u'My Data' 187 188 @property 189 def link_target(self): 190 rel_link = '/students/%s' % self.request.principal.id 191 return self.view.application_url() + rel_link
Note: See TracChangeset for help on using the changeset viewer.