Changeset 295
- Timestamp:
- 13 Jul 2006, 11:37:54 (18 years ago)
- Location:
- WAeUP_SRP/trunk
- Files:
-
- 1 added
- 12 edited
- 1 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/Academics.py
r290 r295 71 71 logger.info('Faculty with ID %(FacultyCode)s %(Description)s already exists' % faculty) 72 72 no_import.write('"%(Session)s","%(FacultyCode)s","%(Description)s","%(CollegeCode)s","%(FacultyKey)s","%(Status)s","%(degree_grade)s","%(Bankcode)s"\n' % faculty) 73 return self.academics.temporary_view_all() 73 74 return self.getContent().temporary_view_all() 74 75 ###) … … 126 127 d = getattr(f,did,None) 127 128 if d is None or d.portal_type == "Faculty": 128 #self.log('Creating Department %(DeptCode)s = %(Description)s' % dep)129 129 logger.info('Creating Department %(DeptCode)s = %(Description)s' % dep) 130 130 f.invokeFactory('Department', did) 131 131 d = getattr(f,did) 132 dict = {'Title': dep['Description']} 133 d.getContent().edit(mapping=dict) 132 dict = {'Title': dep['Description']} 133 d.getContent().edit(mapping=dict) 134 d.invokeFactory('CoursesFolder','Courses') 135 courses = getattr(d,'Courses') 136 dict = {'Title': 'Courses'} 137 courses.getContent().edit(mapping=dict) 138 d.invokeFactory('CertificatesFolder','Certificates') 139 certificates = getattr(d,'Certificates') 140 dict = {'Title': 'Certificates'} 141 certificates.getContent().edit(mapping=dict) 134 142 return self.academics.temporary_view_all() 135 143 return self.temporary_view_all() … … 190 198 ## logger.info("invalid course_code %(course_id)s renaming to %(tid)s" % vars()) 191 199 ## course_id = tid 192 elif len(course_id) != 6:200 elif len(course_id) > 7: 193 201 logger.info("invalid course_code %(CourseCode)s" % course) 194 202 if not no_import: … … 198 206 no_import.write('"%(CourseCode)s","%(Description)s","%(Credits)s","%(Dept)s","%(Semester)s","%(Session)s","%(PassMark)s","%(CourseKey)s","%(Category)s","%(AdmStatus)s"\n' % course) 199 207 continue 200 c = getattr(dept,course_id,None) 208 courses = dept.Courses 209 c = getattr(courses,course_id,None) 201 210 if c is None: 202 211 logger.info('Creating Course %(CourseCode)s %(Description)s in Department %(Dept)s' % course) 203 dept.invokeFactory('Course', course_id)204 c = getattr( dept,course_id)212 courses.invokeFactory('Course', course_id) 213 c = getattr(courses,course_id) 205 214 dict = {'Title': course['Description']} 206 215 dict['code'] = course_id … … 265 274 certificate_id = "%(category)s_%(Admstatus)s_%(Dept)s" % certificate 266 275 dep = deps[depid] 267 c = getattr(dep,certificate_id,None) 276 certificates = dep.Certificates 277 c = getattr(certificates,certificate_id,None) 268 278 if c is None: 269 279 #self.log('Creating Department %(DeptCode)s = %(Description)s' % dep) 270 280 logger.info('Creating certificate %(CertCode)s %(Description)s in Department %(Dept)s' % certificate) 271 dep.invokeFactory('Certificate', certificate_id)272 c = getattr( dep,certificate_id)281 certificates.invokeFactory('Certificate', certificate_id) 282 c = getattr(certificates,certificate_id) 273 283 dict = {'Title': certificate['Description']} 274 284 code = certificate.get('CertCode') … … 382 392 no_import = open("%s/import/%s_not_imported.csv" % (i_home,name),"w") 383 393 no_import.write('"CosCode","CertCode","CoreKey","Session","Level","Core","Elective","Mandatory","AdmStatus","Dept","Semester"\n') 384 no_import.write('Duplicate %(CosCode)s in Level %(Level)s' % cert_course)385 no_import.write('"%(CosCode)s","%(CertCode)s","%(CoreKey)s","%(Session)s","%(Level)s","%(Core)s","%(Elective)s","%(Mandatory)s","%(AdmStatus)s","%(Dept)s","%(Semester)s"\n' % cert_course)394 ## no_import.write('Duplicate %(CosCode)s in Level %(Level)s' % cert_course) 395 ## no_import.write('"%(CosCode)s","%(CertCode)s","%(CoreKey)s","%(Session)s","%(Level)s","%(Core)s","%(Elective)s","%(Mandatory)s","%(AdmStatus)s","%(Dept)s","%(Semester)s"\n' % cert_course) 386 396 continue 387 397 semester.invokeFactory('CertificateCourse',course_code) … … 399 409 dict['core_or_elective'] = False 400 410 dict['level'] = cert_course.get('Level') 401 cc.academics.edit(mapping=dict) 411 cc.getContent().edit(mapping=dict) 412 return self.academics.temporary_view_all() 402 413 ###) 403 414 … … 535 546 """Add a Department.""" 536 547 ob = Department(id, **kw) 537 return CPSBase_adder(container, ob, REQUEST=REQUEST) 548 id = object.getId() 549 container._setObject(id, object) 550 dep = getattr(container,id) 551 dep.invokeFactory('CoursesFolder','Courses') 552 dep.invokeFactory('CertificatesFolder','Certificates') 553 if REQUEST is not None: 554 url = container.absolute_url() 555 REQUEST.RESPONSE.redirect('%s/manage_main' % url) 538 556 ###) 539 557 -
WAeUP_SRP/trunk/Widgets.py
r204 r295 1 1 #-*- mode: python; mode: fold -*- 2 3 from cgi import escape 4 2 5 from Globals import InitializeClass 3 6 ##from Products.CPSSchemas.Widget import CPSWidgetType 4 from Products.CPSSchemas.BasicWidgets import CPSStringWidget, CPSEmailWidget 7 from Products.CMFCore.utils import getToolByName 8 from Products.CPSSchemas.BasicWidgets import CPSWidget, CPSStringWidget, CPSEmailWidget 9 from Products.CPSSchemas.BasicWidgets import renderHtmlTag,CPSSelectWidget, CPSStringWidget 5 10 from Products.CPSSchemas.ExtendedWidgets import CPSDateTimeWidget 6 11 from Products.CPSSchemas.Widget import widgetRegistry … … 12 17 13 18 from zLOG import LOG, DEBUG 19 20 class CPSSelectWidgetForRecord(CPSSelectWidget): ###( 21 """Select widget. with record names""" 22 meta_type = 'Select Widget for Records' 23 24 field_types = ('CPS String Field',) 25 field_inits = ({'is_searchabletext': 1,},) 26 27 _properties = CPSSelectWidget._properties + ( 28 {'id': 'record_id', 'type': 'string', 'mode': 'w', 29 'label': 'Record Id', 'is_required' : 1}, 30 ) 31 32 def render(self, mode, datastructure, **kw): 33 """Render in mode from datastructure.""" 34 value = datastructure[self.getWidgetId()] 35 vocabulary = self._getVocabulary(datastructure) 36 portal = getToolByName(self, 'portal_url').getPortalObject() 37 cpsmcat = portal.translation_service 38 if mode == 'view': 39 if self.translated: 40 return escape(cpsmcat(vocabulary.getMsgid(value, value)).encode('ISO-8859-15', 'ignore')) 41 else: 42 return escape(vocabulary.get(value, value)) 43 elif mode == 'edit': 44 html_widget_id = self.getHtmlWidgetId() 45 res = renderHtmlTag('select', 46 name='%s.%s:records' % (self.record_id,html_widget_id), 47 id=html_widget_id) 48 in_selection = 0 49 for k, v in vocabulary.items(): 50 if self.translated: 51 kw = {'value': k, 52 'contents': cpsmcat(vocabulary.getMsgid(k, k)).encode('ISO-8859-15', 'ignore') 53 } 54 else: 55 kw = {'value': k, 'contents': v} 56 if value == k: 57 kw['selected'] = 'selected' 58 in_selection = 1 59 res += renderHtmlTag('option', **kw) 60 if value and not in_selection: 61 kw = {'value': value, 'contents': 'invalid: '+ str(value), 62 'selected': 'selected'} 63 res += renderHtmlTag('option', **kw) 64 res += '</select>' 65 return res 66 raise RuntimeError('unknown mode %s' % mode) 67 68 InitializeClass(CPSSelectWidgetForRecord) 69 70 widgetRegistry.register(CPSSelectWidgetForRecord) 71 72 ###) 73 74 class CPSStringWidgetForRecord(CPSStringWidget): 75 """String widget.""" 76 meta_type = 'String Widget For Record' 77 78 field_types = ('CPS String Field',) 79 field_inits = ({'is_searchabletext': 1,},) 80 _properties = CPSStringWidget._properties + ( 81 {'id': 'record_id', 'type': 'string', 'mode': 'w', 82 'label': 'Record Id', 'is_required' : 1}, 83 ) 84 85 def render(self, mode, datastructure, **kw): 86 """Render in mode from datastructure.""" 87 value = datastructure[self.getWidgetId()] 88 if mode == 'view': 89 return escape(value) 90 elif mode == 'edit': 91 # XXX TODO should use an other name than kw ! 92 # XXX change this everywhere 93 html_widget_id = self.getHtmlWidgetId() 94 kw = {'type': 'text', 95 'id' : html_widget_id, 96 'name': '%s.%s:records' % (self.record_id,html_widget_id), 97 'value': escape(value), 98 'size': self.display_width, 99 } 100 if self.size_max: 101 kw['maxlength'] = self.size_max 102 return renderHtmlTag('input', **kw) 103 raise RuntimeError('unknown mode %s' % mode) 104 105 InitializeClass(CPSStringWidgetForRecord) 106 107 widgetRegistry.register(CPSStringWidgetForRecord) 14 108 15 109 class StudentIdWidget(CPSStringWidget): ###( -
WAeUP_SRP/trunk/profiles/default/layouts.xml
r256 r295 15 15 <object name="department" meta_type="CPS Layout"/> 16 16 <object name="faculty" meta_type="CPS Layout"/> 17 <object name="faculty_row" meta_type="CPS Layout"/> 17 18 <object name="jamb" meta_type="CPS Layout"/> 18 19 <object name="jambcreate" meta_type="CPS Layout"/> -
WAeUP_SRP/trunk/profiles/default/skins.xml
r280 r295 3 3 cookie_persistence="False" default_skin="CPSSkins" 4 4 request_varname="portal_skin"> 5 <object name="waeup_custom" meta_type="Filesystem Directory View" 6 directory="WAeUP_SRP/skins/waeup_custom"/> 5 7 <object name="waeup_default" meta_type="Filesystem Directory View" 6 8 directory="WAeUP_SRP/skins/waeup_default"/> … … 10 12 directory="WAeUP_SRP/skins/waeup_student"/> 11 13 <skin-path name="CPSSkins"> 12 <layer name="waeup_default" insert-after="custom"/> 13 <layer name="waeup_student" insert-after="cps_default"/> 14 <layer name="waeup_academics" insert-after="cps_default"/> 14 <layer name="waeup_custom" insert-after="custom"/> 15 <layer name="waeup_default" insert-after="waeup_custom"/> 16 <layer name="waeup_student" insert-after="waeup_custom"/> 17 <layer name="waeup_academics" insert-after="waeup_custom"/> 15 18 </skin-path> 16 19 <skin-path name="CPSSkins-macroless"> 17 <layer name="waeup_default" insert-after="custom"/> 18 <layer name="waeup_student" insert-after="cps_default"/> 19 <layer name="waeup_academics" insert-after="cps_default"/> 20 <layer name="waeup_custom" insert-after="custom"/> 21 <layer name="waeup_default" insert-after="waeup_custom"/> 22 <layer name="waeup_student" insert-after="waeup_custom"/> 23 <layer name="waeup_academics" insert-after="waeup_custom"/> 20 24 </skin-path> 21 25 </object> -
WAeUP_SRP/trunk/profiles/default/types.xml
r256 r295 5 5 <object name="AccoFolder" meta_type="CPS Flexible Type Information"/> 6 6 <object name="Accommodation" meta_type="CPS Flexible Type Information"/> 7 <object name="CertificatesFolder" meta_type="CPS Flexible Type Information"/> 7 8 <object name="Certificate" meta_type="CPS Flexible Type Information"/> 9 <object name="CoursesFolder" meta_type="CPS Flexible Type Information"/> 8 10 <object name="Course" meta_type="CPS Flexible Type Information"/> 9 11 <object name="CertificateCourse" meta_type="CPS Flexible Type Information"/> -
WAeUP_SRP/trunk/profiles/default/types/Department.xml
r290 r295 12 12 <property name="filter_content_types">True</property> 13 13 <property name="allowed_content_types"> 14 <element value="Certificate "/>15 <element value="Course "/>14 <element value="CertificatesFolder"/> 15 <element value="CoursesFolder"/> 16 16 </property> 17 17 <property name="allow_discussion">False</property> … … 42 42 <action title="action_edit" action_id="edit" category="object" 43 43 condition_expr="python:member and 'Manager' in member.getRoles()" 44 url_expr="string:${object_url}/cpsdocument_edit_form" visible="True"> 45 <permission value=""/> 46 </action> 44 url_expr="string:${object_url}/cpsdocument_edit_form" visible="True"/> 47 45 <action title="Add Course" action_id="create_course" category="object" 48 condition_expr="" url_expr="string:${object/absolute_url}/content_create?type_name=Course" 49 visible="True"> 50 <permission value=""/> 51 </action> 52 <action title="Add Certificate" action_id="create_certificate" category="object" 53 condition_expr="" url_expr="string:${object/absolute_url}/content_create?type_name=Certificate" 54 visible="True"> 55 </action> 46 condition_expr="" 47 url_expr="string:${object/absolute_url}/content_create?type_name=Course" 48 visible="False"/> 49 <action title="Add Certificate" action_id="create_certificate" 50 category="object" condition_expr="" 51 url_expr="string:${object/absolute_url}/content_create?type_name=Certificate" 52 visible="False"/> 56 53 <action title="action_folder_contents" action_id="contents" category="object" 57 54 condition_expr="python:member and 'Manager' in member.getRoles()" 58 url_expr="string:${object_url}/folder_contents" visible="True"> 59 <permission value=""/> 60 </action> 55 url_expr="string:${object_url}/folder_contents" visible="True"/> 61 56 <action title="action_metadata" action_id="metadata" category="object" 62 57 condition_expr="python:member and 'Manager' in member.getRoles()" -
WAeUP_SRP/trunk/profiles/default/workflows.xml
r290 r295 2 2 <object name="portal_workflow" meta_type="CPS Workflow Tool"> 3 3 <property name="title"></property> 4 <object name="blog_entry_wf" meta_type="CPS Workflow"/>5 <object name="blog_section_wf" meta_type="CPS Workflow"/>6 <object name="blog_workspace_wf" meta_type="CPS Workflow"/>7 <object name="chat_item_section_wf" meta_type="CPS Workflow"/>8 <object name="chat_item_workspace_wf" meta_type="CPS Workflow"/>9 <object name="chat_section_wf" meta_type="CPS Workflow"/>10 <object name="chat_workspace_wf" meta_type="CPS Workflow"/>11 <object name="forum_permissions_dummy_wf" meta_type="CPS Workflow"/>12 <object name="forum_post_wf" meta_type="CPS Workflow"/>13 <object name="section_content_wf" meta_type="CPS Workflow"/>14 <object name="section_folder_wf" meta_type="CPS Workflow"/>15 <object name="section_forum_wf" meta_type="CPS Workflow"/>16 <object name="section_wiki_wf" meta_type="CPS Workflow"/>17 4 <object name="waeup_academics_wf" meta_type="CPS Workflow"/> 18 5 <object name="waeup_accommodation_wf" meta_type="CPS Workflow"/> … … 26 13 <object name="waeup_student_wf" meta_type="CPS Workflow"/> 27 14 <object name="waeup_workspace_wf" meta_type="CPS Workflow"/> 28 <object name="workspace_calendar_wf" meta_type="CPS Workflow"/>29 <object name="workspace_content_wf" meta_type="CPS Workflow"/>30 <object name="workspace_folder_wf" meta_type="CPS Workflow"/>31 <object name="workspace_folderish_content_wf" meta_type="CPS Workflow"/>32 <object name="workspace_forum_wf" meta_type="CPS Workflow"/>33 <object name="workspace_wiki_wf" meta_type="CPS Workflow"/>34 15 <bindings> 35 16 <default/> … … 43 24 <bound-workflow workflow_id="waeup_accommodation_wf"/> 44 25 </type> 26 <type type_id="CertificatesFolder"> 27 <bound-workflow workflow_id="waeup_base_wf"/> 28 </type> 45 29 <type type_id="Certificate"> 46 30 <bound-workflow workflow_id="waeup_certificate_wf"/> … … 49 33 <bound-workflow workflow_id="waeup_certificate_course_wf"/> 50 34 </type> 51 <type type_id="C PS Calendar">52 <bound-workflow workflow_id="w orkspace_calendar_wf"/>35 <type type_id="CoursesFolder"> 36 <bound-workflow workflow_id="waeup_base_wf"/> 53 37 </type> 54 38 <type type_id="Course"> … … 67 51 <bound-workflow workflow_id="waeup_base_wf"/> 68 52 </type> 69 <type type_id="Members Workspace">70 <bound-workflow workflow_id="workspace_folder_wf"/>71 </type>72 53 <type type_id="SCFolder"> 73 <bound-workflow workflow_id="section_folder_wf"/>74 </type>75 <type type_id="Section">76 54 <bound-workflow workflow_id="section_folder_wf"/> 77 55 </type> … … 83 61 </type> 84 62 <type type_id="StudentDocuments"> 85 <bound-workflow workflow_id="waeup_base_wf"/>86 </type>87 <type type_id="StudentElegibility">88 63 <bound-workflow workflow_id="waeup_base_wf"/> 89 64 </type> … … 102 77 <type type_id="University"> 103 78 <bound-workflow workflow_id="section_folder_wf"/> 104 </type> 105 <type type_id="Workspace"> 106 <bound-workflow workflow_id="workspace_folder_wf"/> 107 </type> 79 </type>A 108 80 </bindings> 109 81 </object> -
WAeUP_SRP/trunk/skins/waeup_academics/academics_view.py
r280 r295 1 ##parameters=REQUEST=None ,psm=None,groups=None1 ##parameters=REQUEST=None 2 2 # $Id$ 3 """ 4 """ 5 request = REQUEST 6 rget = request.get 7 rset = request.set 8 fget = request.form.get 9 form = request.form 10 fhas = request.form.has_key 3 11 4 """Default view for the forum. If post_id is not None, post with id = <post_id>5 will be displayed, otherwise first post will be displayed."""6 12 7 member = context.portal_membership.getAuthenticatedMember() 13 lt = context.portal_layouts 14 pr = context.portal_registration 15 pm = context.portal_membership 16 items = context.contentValues() 8 17 9 if not context.portal_membership.isAnonymousUser(): 10 if 'Manager' in member.getRoles(): 11 return context.folder_view() 12 index = getattr(context,'documents',None) 13 if index: 14 fp = getattr(index,'academicsfrontpage',None) 15 if fp: 16 return fp() 17 return context.academics.academics_view_all(psm=psm) 18 validate = fhas('add') or fhas('change') or fhas('delete') 19 res,psm,ds = lt.renderLayout(layout_id='faculty_row', 20 schema_id= 'faculty_row', 21 context=context, 22 mapping= {},#validate and request, 23 ob={}, 24 layout_mode='edit', 25 formaction = "academics_view", 26 items=items, 27 ) 28 #return res 29 30 if 1 or psm == 'invalid': 31 return context.academics_view_form(rendered = res, 32 psm = 'Please correct your errors', 33 ds = ds, 34 ) 35 elif psm == '': 36 return context.academics_view_form(rendered = res, 37 psm = psm, 38 ds = ds, 39 ) 40 inr = 0 41 if fhas('add') and (fget('type') or fget('subject') or fget('result')): 42 sr.append((fget('type'),fget('subject'),fget('result'))) 43 psm = "new result added" 44 elif fhas('change') and fget('keys'): 45 for k in fget('keys'): 46 sr[int(k)] = (fget('type_%s' % k),fget('subject_%s' % k),fget('result_%s' % k)) 47 inr += 1 48 psm = "%s items changed" % inr 49 elif fhas('delete') and fget('keys'): 50 new = [] 51 todelete = fget('keys') 52 for k in range(len(sr)): 53 if str(k) not in todelete: 54 new.append(sr[k]) 55 inr = len(todelete) 56 sr = new 57 psm = "%s items deleted" % inr 58 elif psm == 'valid': 59 psm = "Your changes have been saved." 60 61 res,dummy,fds = lt.renderLayout(layout_id= 'faculty_row', 62 schema_id= 'faculty_row', 63 context=context, 64 mapping=request, 65 ob={}, 66 layout_mode='create', 67 formaction = "academics_view", 68 ) 69 70 return context.academic_view_form(rendered = res, 71 #psm = "%s <br /> %s" % (str(ds),str(lt.faculty_row.getLayoutDefinition())) 72 psm = psm, 73 ) -
WAeUP_SRP/trunk/skins/waeup_academics/academics_view_form.pt
r289 r295 1 1 <html metal:use-macro="here/content_lib_master/macros/master"> 2 3 2 <metal:block fill-slot="head_slot"> 4 <tal:block tal:define="student here/getContent">5 </tal:block>6 3 </metal:block> 7 4 8 5 <metal:block fill-slot="css_slot"> 9 6 <link rel="Stylesheet" type="text/css" href="" 10 tal:attributes="href string:${base_url}student.css" />7 tal:attributes="href string:${base_url}document.css" /> 11 8 </metal:block> 12 9 <metal:block fill-slot="header"> … … 14 11 15 12 <metal:block fill-slot="main" 16 tal:define="items here/contentValues"> 17 <h2>Academics (Faculties)</h2> 18 <table cellspacing="0" cellpadding="0"> 19 <tal:block condition="python: len(items)"> 20 <span tal:repeat="item items"> 21 <tr tal:condition="python:item.portal_type == 'Faculty'"> 22 <td colspan="1"> 23 <a href="faculty" tal:attributes="href item/absolute_url" tal:content="item/title_or_id"></a> 24 </td> 25 </tr> 26 </span> 27 </tal:block> 28 <tr tal:condition="python:not len(items)"> 29 <td> 30 nothing yet ! 31 </td> 32 </tr> 33 </table> 13 tal:define="roles member/getRoles; 14 backend python:'UniversityManager' in roles or 'StudentManager' in roles; 15 frontend python:'Student' in roles or isAnon; 16 folder here/getContent; 17 items here/contentValues; 18 rendered options;" 19 > 20 <h1> <span tal:content="context/title_or_id" /></h1> 21 22 <p>The Acamdemic Section</p> 23 24 <p>The Faculties:</p> 25 <span tal:replace="structure rendered" /> 34 26 </metal:block> 35 27 <metal:block fill-slot="sub"> -
WAeUP_SRP/trunk/skins/waeup_default/layout_row_edit.pt
r289 r295 15 15 is_flexible options/is_flexible; 16 16 cpsmcat nocall:here/translation_service; 17 results options/ schoolresults;17 results options/items; 18 18 " 19 19 > 20 <form action='eligibility' method='post' tal:attributes="action formaction" 20 <span tal:content="structure layout" tal:condition="python: 0" /> 21 <form tal:condition="python: 1" action='tobereplaced' method='post' tal:attributes="action formaction" 21 22 enctype='multipart/form-data' class='workflow'> 22 23 <div class=''> 23 24 <div class='documentFields'> 25 <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout"> 26 <tr tal:repeat="item results" valign="top"> 27 <td> 24 28 <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout"> 25 29 <tr tal:repeat="row layout/rows" valign="top"> … … 77 81 </tr> 78 82 </table> 79 <table cellspacing="0" cellpadding="2" border="0" width="100%" tal:condition="results|nothing"> 83 </td> 84 </tr> 85 <tr> 86 <td align="left" colspan="3"> 87 <input class="standalone" type="submit" name="change" value=" Change " /> 88 <input class="standalone" type="submit" name="delete" value=" Delete " /> 89 </td> 90 </tr> 91 </table> 92 <table cellspacing="0" cellpadding="2" border="0" width="100%" tal:condition="nothing"> 80 93 <tr> 81 94 <td align="left" valign="top"> … … 92 105 </td> 93 106 </tr> 94 <span tal:repeat="row results" tal: omit-tag="">107 <span tal:repeat="row results" tal:condition="python: 0" tal:omit-tag=""> 95 108 <tr tal:define="rindex repeat/row/index"> 96 109 <td align="left" valign="top"> … … 124 137 </tr> 125 138 </table> 126 <table cellspacing="0" cellpadding="2" border="0" width="100%">139 <table tal:condition="python:0" cellspacing="0" cellpadding="2" border="0" width="100%"> 127 140 <tr> 128 141 <td align="left" valign="top" colspan="2"> -
WAeUP_SRP/trunk/tests/__init__.py
r263 r295 1 1 from Testing.ZopeTestCase import installProduct 2 2 3 installProduct('WAeUP ')3 installProduct('WAeUP_SRP') -
WAeUP_SRP/trunk/tests/test_test.py
r263 r295 4 4 import unittest 5 5 6 from waeuptest import WAeUP Test6 from waeuptest import WAeUP_SRPTest 7 7 8 class TestTesting(WAeUP Test):8 class TestTesting(WAeUP_SRPTest): 9 9 10 10 def testTest(self): -
WAeUP_SRP/trunk/tests/test_vocabularies.py
r267 r295 4 4 import unittest 5 5 6 from waeuptest import WAeUP Test6 from waeuptest import WAeUP_SRPTest 7 7 8 8 from Products.CMFCore.utils import getToolByName 9 9 10 class TestVocabularies(WAeUP Test):10 class TestVocabularies(WAeUP_SRPTest): 11 11 12 12 def afterSetUp(self): 13 13 wftool = getToolByName(self.portal, 'portal_workflow') 14 af = self.portal. uniportal.academics14 af = self.portal.campus.academics 15 15 wftool.invokeFactoryFor(af, 'Faculty', 'fac1') 16 16 fac1 = af.fac1 -
WAeUP_SRP/trunk/tests/waeuptest.py
r264 r295 7 7 8 8 class LayerClass(ExtensionProfileLayerClass): 9 extension_ids = ('WAeUP :default',)9 extension_ids = ('WAeUP_SRP:default',) 10 10 11 WAeUP Layer = LayerClass(__name__, 'WAeUPLayer')11 WAeUP_SRPLayer = LayerClass(__name__, 'WAeUP_SRPLayer') 12 12 13 class WAeUP Test(CPSTestCase):14 layer = WAeUP Layer13 class WAeUP_SRPTest(CPSTestCase): 14 layer = WAeUP_SRPLayer
Note: See TracChangeset for help on using the changeset viewer.