Changeset 659
- Timestamp:
- 11 Oct 2006, 23:22:16 (18 years ago)
- Location:
- WAeUP_SRP/trunk
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/profiles/default/actions.xml
r656 r659 108 108 <permission>View</permission> 109 109 </action> 110 <action title="H alls" action_id="view_accommodation"110 <action title="Hostels" action_id="view_accommodation" 111 111 category="navigation" condition_expr="member" 112 112 url_expr="string:${portal_url}/campus/accommodation" visible="True"> -
WAeUP_SRP/trunk/profiles/default/layouts/student_accommodation.xml
r658 r659 18 18 <property name="hidden_readonly_layout_modes"/> 19 19 <property name="view_format">iso8601_medium_easy</property> 20 <property name="hidden_empty"> True</property>20 <property name="hidden_empty"></property> 21 21 </widget> 22 22 <widget name="acco_maint_sc_pin" meta_type="String Widget"> … … 30 30 <property name="hidden_layout_modes"/> 31 31 <property name="hidden_readonly_layout_modes"/> 32 <property name="hidden_empty">True</property> 33 </widget> 34 <widget name="acco_maint_sc_serial" meta_type="String Widget"> 35 <property name="title">Accommodation Maintainance SC-Serial</property> 36 <property name="fields"> 37 <element value="acco_maint_sc_serial"/> 38 </property> 39 <property name="label">Accommodation Maintainance SC-Serial</property> 40 <property name="label_edit">Accommodation Maintainance SC-Serial</property> 41 <property name="readonly_layout_modes"/> 42 <property name="hidden_layout_modes"/> 43 <property name="hidden_readonly_layout_modes"/> 44 <property name="display_width">10</property> 45 <property name="hidden_empty">True</property> 32 <property name="hidden_empty"></property> 46 33 </widget> 47 34 <widget name="acco_res_date" meta_type="DateTime Widget"> … … 68 55 <property name="hidden_readonly_layout_modes"/> 69 56 </widget> 70 <widget name="acco_res_sc_serial" meta_type="String Widget">71 <property name="title">Accommodation Reservation SC-Serial</property>72 <property name="fields">73 <element value="acco_res_sc_serial"/>74 </property>75 <property name="label">Accommodation Reservation SC-Serial</property>76 <property name="label_edit">Accommodation Reservation SC-Serial</property>77 <property name="readonly_layout_modes"/>78 <property name="hidden_layout_modes"/>79 <property name="hidden_readonly_layout_modes"/>80 <property name="hidden_empty">True</property>81 </widget>82 57 <widget name="bed" meta_type="String Widget"> 83 58 <property name="title">Bed Id</property> … … 87 62 <property name="label">Bed Id</property> 88 63 <property name="label_edit">Bed Id</property> 89 <property name="readonly_layout_modes" />64 <property name="readonly_layout_modes">edit</property> 90 65 <property name="hidden_layout_modes"/> 91 66 <property name="hidden_readonly_layout_modes"/> … … 98 73 <property name="label">Session</property> 99 74 <property name="label_edit">Session</property> 100 <property name="readonly_layout_modes" />75 <property name="readonly_layout_modes">edit</property> 101 76 <property name="hidden_layout_modes"/> 102 77 <property name="hidden_readonly_layout_modes"/> … … 113 88 </row> 114 89 <row> 115 <cell name="acco_res_sc_serial"/>116 </row>117 <row>118 90 <cell name="acco_res_sc_pin"/> 119 91 </row> … … 122 94 </row> 123 95 <row> 124 <cell name="acco_maint_sc_serial"/>125 </row>126 <row>127 96 <cell name="acco_maint_sc_pin"/> 128 97 </row> -
WAeUP_SRP/trunk/profiles/default/layouts/student_application_fe.xml
r658 r659 91 91 </property> 92 92 <property name="label">Student's Name</property> 93 <property name="label_edit">Name</property> 93 <property name="label_edit">Name</property> 94 94 <property name="readonly_layout_modes"> 95 95 <element value="edit"/> … … 106 106 </property> 107 107 <property name="label">JAMB Middlename</property> 108 <property name="label_edit">JAMB Middlename</property> 108 <property name="label_edit">JAMB Middlename</property> 109 109 <property name="readonly_layout_modes"> 110 110 <element value="edit"/> … … 170 170 <property name="readonly_layout_modes"> 171 171 </property> 172 <property name="hidden_layout_modes"/> 172 <property name="hidden_layout_modes"> 173 <element value="create"/> 174 </property> 173 175 <property name="hidden_readonly_layout_modes"/> 174 176 </widget> -
WAeUP_SRP/trunk/profiles/default/schemas/student_accommodation.xml
r629 r659 3 3 <field name="acco_maint_date" meta_type="CPS DateTime Field"/> 4 4 <field name="acco_maint_sc_pin" meta_type="CPS String Field"/> 5 <field name="acco_maint_sc_serial" meta_type="CPS String Field"/>6 5 <field name="acco_res_date" meta_type="CPS DateTime Field"/> 7 6 <field name="acco_res_sc_pin" meta_type="CPS String Field"/> 8 <field name="acco_res_sc_serial" meta_type="CPS String Field"/>9 7 <field name="bed" meta_type="CPS String Field"/> 10 8 <field name="session" meta_type="CPS String Field"/> -
WAeUP_SRP/trunk/profiles/default/types/ScratchCardBatch.xml
r619 r659 30 30 <alias from="created" to="scratch_card_batch_created"/> 31 31 <alias from="view" to="batch_index_html"/> 32 <action title=" StandardView" action_id="view" category="object"32 <action title="View" action_id="view" category="object" 33 33 condition_expr="" url_expr="string:${object_url}/batch_index_html" 34 34 visible="True"> -
WAeUP_SRP/trunk/profiles/default/types/ScratchCardBatchesFolder.xml
r535 r659 29 29 <alias from="created" to=""/> 30 30 <alias from="view" to="pins_index_html"/> 31 <action title=" StandardView" action_id="view" category="object"31 <action title="View" action_id="view" category="object" 32 32 condition_expr="" url_expr="string:${object_url}/pins_index_html" 33 33 visible="True"> -
WAeUP_SRP/trunk/profiles/default/types/Student.xml
r639 r659 35 35 <alias from="(Default)" to="student_index"/> 36 36 <alias from="view" to="student_index"/> 37 <action title=" StandardView" action_id="view" category="object"37 <action title="View" action_id="view" category="object" 38 38 condition_expr="" 39 39 url_expr="string:${object_url}/student_index" visible="True"> -
WAeUP_SRP/trunk/profiles/default/types/StudentAccommodation.xml
r658 r659 8 8 <property name="product">WAeUP_SRP</property> 9 9 <property name="factory">addStudentAccommodation</property> 10 <property name="immediate_view">ac commodation_view</property>10 <property name="immediate_view">academics_document_view</property> 11 11 <property name="global_allow">True</property> 12 12 <property name="filter_content_types">True</property> … … 26 26 <property name="storage_methods"/> 27 27 <property name="cps_is_portlet">False</property> 28 <alias from="(Default)" to="ac commodation_view"/>29 <alias from="view" to="ac commodation_view"/>30 <action title=" StandardView" action_id="view" category="object"31 condition_expr="" url_expr="string:${object_url}/ac commodation_view"28 <alias from="(Default)" to="academics_document_view"/> 29 <alias from="view" to="academics_document_view"/> 30 <action title="View" action_id="view" category="object" 31 condition_expr="" url_expr="string:${object_url}/academics_document_view" 32 32 visible="True"> 33 33 <permission value="View"/> 34 34 </action> 35 <action title="action_edit" action_id="edit" category="object" 36 condition_expr="" url_expr="string:${object_url}/cpsdocument_edit" 37 visible="True"> 38 <permission value="Modify portal content"/> 39 </action> 35 40 </object> -
WAeUP_SRP/trunk/profiles/default/types/StudentApplication.xml
r617 r659 28 28 <alias from="(Default)" to="academics_document_view"/> 29 29 <alias from="view" to="academics_document_view"/> 30 <action title=" StandardView" action_id="view" category="object"30 <action title="View" action_id="view" category="object" 31 31 condition_expr="" url_expr="string:${object_url}/academics_document_view" 32 32 visible="True"> -
WAeUP_SRP/trunk/profiles/default/types/StudentClearance.xml
r617 r659 30 30 <alias from="(Default)" to="academics_document_view"/> 31 31 <alias from="view" to="academics_contents"/> 32 <action title=" StandardView" action_id="view" category="object"32 <action title="View" action_id="view" category="object" 33 33 condition_expr="" 34 34 url_expr="string:${object_url}/academics_document_view" -
WAeUP_SRP/trunk/profiles/default/types/StudentCourseResult.xml
r486 r659 28 28 <alias from="(Default)" to="academics_contents"/> 29 29 <alias from="view" to="academics_contents"/> 30 <action title=" StandardView" action_id="view" category="object"30 <action title="View" action_id="view" category="object" 31 31 condition_expr="" url_expr="string:${object_url}/academics_contents" 32 32 visible="True"> -
WAeUP_SRP/trunk/profiles/default/types/StudentPersonal.xml
r617 r659 30 30 <alias from="(Default)" to="academics_document_view"/> 31 31 <alias from="view" to="academics_document_view"/> 32 <action title=" StandardView" action_id="view" category="object"32 <action title="View" action_id="view" category="object" 33 33 condition_expr="" 34 34 url_expr="string:${object_url}/academics_document_view" -
WAeUP_SRP/trunk/profiles/default/workflows/waeup_course_registration_wf/definition.xml
r534 r659 38 38 new_state="created" trigger="USER" 39 39 before_script="" after_script=""> 40 40 41 41 <guard> 42 42 <guard-role>Manager</guard-role> … … 49 49 new_state="" trigger="USER" before_script="" 50 50 after_script=""> 51 51 52 52 <guard> 53 53 <guard-role>Manager</guard-role> … … 61 61 new_state="school_fee_pin_entered" 62 62 trigger="USER" before_script="" after_script=""> 63 63 64 64 <guard> 65 65 <guard-role>Manager</guard-role> … … 71 71 new_state="finished" trigger="USER" 72 72 before_script="" after_script=""> 73 73 74 74 <guard> 75 75 <guard-role>Manager</guard-role> … … 80 80 new_state="school_fee_pin_entered" 81 81 trigger="USER" before_script="" after_script=""> 82 82 83 83 <guard> 84 84 <guard-role>Manager</guard-role> … … 89 89 new_state="passed" trigger="USER" 90 90 before_script="" after_script=""> 91 91 92 92 <guard> 93 93 <guard-role>Manager</guard-role> … … 98 98 new_state="probation" trigger="USER" 99 99 before_script="" after_script=""> 100 100 101 101 <guard> 102 102 <guard-role>Manager</guard-role> … … 107 107 new_state="courses_registered" trigger="USER" 108 108 before_script="" after_script=""> 109 109 110 110 <guard> 111 111 <guard-role>Manager</guard-role> … … 117 117 new_state="failed" trigger="USER" 118 118 before_script="" after_script=""> 119 119 120 120 <guard> 121 121 <guard-role>Manager</guard-role> … … 126 126 new_state="validated" trigger="USER" 127 127 before_script="" after_script=""> 128 128 129 129 <guard> 130 130 <guard-role>Manager</guard-role> … … 132 132 </guard> 133 133 </transition> 134 135 134 </cps-workflow> -
WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_subobject_wf/definition.xml
r603 r659 14 14 <exit-transition transition_id="open"/> 15 15 <permission-map name="Modify portal content" 16 acquired="False"> 17 <permission-role>Owner</permission-role> 18 <permission-role>Manager</permission-role> 19 <permission-role>SectionManager</permission-role> 16 acquired="True"> 20 17 </permission-map> 21 <permission-map name="View" acquired="False"> 22 <permission-role>Owner</permission-role> 23 <permission-role>Manager</permission-role> 24 <permission-role>SectionManager</permission-role> 18 <permission-map name="View" acquired="True"> 25 19 </permission-map> 26 20 <permission-map name="WAeUPModify own content" 27 acquired="False"> 28 <permission-role>Owner</permission-role> 21 acquired="True"> 29 22 </permission-map> 30 23 </state> … … 32 25 <exit-transition transition_id="close"/> 33 26 <permission-map name="Modify portal content" 34 acquired=" False">27 acquired="True"> 35 28 <permission-role>Owner</permission-role> 36 <permission-role>SectionManager</permission-role>37 <permission-role>Manager</permission-role>38 29 </permission-map> 39 <permission-map name="View" acquired=" False">30 <permission-map name="View" acquired="True"> 40 31 <permission-role>Owner</permission-role> 41 32 </permission-map> 42 33 <permission-map name="WAeUPModify own content" 43 acquired=" False">34 acquired="True"> 44 35 <permission-role>Owner</permission-role> 45 36 </permission-map> … … 50 41 51 42 <guard> 52 <guard-permission>WAeUPModify own content</guard-permission> 43 <guard-role>Manager</guard-role> 44 <guard-role>SectionManager</guard-role> 45 <guard-role>Owner</guard-role> 53 46 </guard> 54 47 </transition> … … 67 60 68 61 <guard> 69 <guard-permission>WAeUPModify own content</guard-permission> 62 <guard-role>Manager</guard-role> 63 <guard-role>SectionManager</guard-role> 64 <guard-role>Owner</guard-role> 70 65 </guard> 71 66 </transition> 72 67 </cps-workflow> 73 -
WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/definition.xml
r643 r659 7 7 <permission>View</permission> 8 8 <state state_id="admission_applied" title=""> 9 <exit-transition transition_id="create_content"/>9 <exit-transition transition_id="create_content"/> 10 10 <exit-transition transition_id="pume_fail"/> 11 11 <exit-transition transition_id="pume_pass"/> … … 21 21 <permission-map name="Modify portal content" 22 22 acquired="True"> 23 <permission-role>Anonymous</permission-role>24 23 </permission-map> 25 24 <permission-map name="View" acquired="True"> … … 35 34 <exit-transition transition_id="reject_clearance"/> 36 35 </state> 37 <state state_id="closed" title="">38 <exit-transition transition_id="open"/>39 </state>40 36 <state state_id="created" title=""> 41 37 <exit-transition transition_id="create_content"/> … … 43 39 <exit-transition transition_id="open"/> 44 40 <permission-map name="Modify portal content" 45 acquired="False"> 46 <permission-role>Owner</permission-role> 47 <permission-role>Manager</permission-role> 48 <permission-role>SectionManager</permission-role> 41 acquired="True"> 49 42 </permission-map> 50 43 <permission-map name="View" acquired="True"> … … 52 45 </state> 53 46 <state state_id="finally_rejected" title=""> 54 </state>55 <state state_id="opened" title="">56 <exit-transition transition_id="close"/>57 <permission-map name="Modify portal content"58 acquired="True">59 <permission-role>Owner</permission-role>60 </permission-map>61 <permission-map name="View" acquired="True">62 </permission-map>63 47 </state> 64 48 <state state_id="pume_failed" title=""> … … 99 83 </guard> 100 84 </transition> 101 <transition transition_id="close" title=""102 new_state="closed" trigger="USER"103 before_script="" after_script="">104 105 <guard>106 <guard-role>Manager</guard-role>107 <guard-role>SectionManager</guard-role>108 </guard>109 </transition>110 85 <transition transition_id="create" title="" 111 86 new_state="created" trigger="USER" … … 122 97 123 98 <guard> 99 <guard-role>Manager</guard-role> 100 <guard-role>SectionManager</guard-role> 101 <guard-role>Owner</guard-role> 124 102 </guard> 125 103 <transition-behavior behavior_id="allow-sub-create"/> 126 <transition-behavior behavior_id="allow-sub-delete"/>127 104 </transition> 128 105 <transition transition_id="enter_application_pin" title="" … … 131 108 132 109 <guard> 133 <guard-permission>Modify portal content</guard-permission> 134 <guard-permission></guard-permission> 110 <guard-role>Manager</guard-role> 111 <guard-role>SectionManager</guard-role> 112 <guard-role>Owner</guard-role> 135 113 </guard> 136 114 </transition> … … 153 131 <guard-role>SectionManager</guard-role> 154 132 <guard-role>ClearanceOfficer</guard-role> 155 </guard>156 </transition>157 <transition transition_id="open" title=""158 new_state="opened" trigger="USER"159 before_script="" after_script="">160 161 <guard>162 <guard-role>Manager</guard-role>163 <guard-role>SectionManager</guard-role>164 133 </guard> 165 134 </transition> … … 214 183 </guard> 215 184 </transition> 185 <variable variable_id="time" for_catalog="True" 186 for_status="True" update_always="True"> 187 <description>Time of the last transition</description> 188 <default> 189 190 <expression>state_change/getDateTime</expression> 191 </default> 192 <guard> 193 </guard> 194 </variable> 216 195 <script script_id="open_application_personal" 217 196 type="Script (Python)" -
WAeUP_SRP/trunk/profiles/default/workflows/waeup_student_wf/scripts/open_application_personal.py
r514 r659 1 ## Script (Python) "open_ personal"1 ## Script (Python) "open_application_personal" 2 2 ##bind container=container 3 3 ##bind context=context -
WAeUP_SRP/trunk/skins/waeup_accommodation/acco_folder_view.pt
r654 r659 27 27 <tr> 28 28 <th width="200px">Bed Type</th> 29 <th >Total No of Beds</th>30 <th >Reserved Beds</th>29 <th width="80px">Total</th> 30 <th width="80px">Booked</th> 31 31 </tr> 32 32 <tr tal:repeat="bt bed_types"> -
WAeUP_SRP/trunk/skins/waeup_accommodation/acco_hall_view.pt
r654 r659 16 16 <span tal:omit-tag="" 17 17 tal:content="structure python: info['doc'].render(layout_mode='view')" /> 18 18 <br /> 19 19 <table tal:condition="info/bed_types" 20 20 tal:define="bed_types info/bed_types"> 21 21 <tr> 22 <th width=" 190px">Bed Type</th>23 <th >Total No of Beds</th>24 <th >Reserved Beds</th>22 <th width="200px">Bed Type</th> 23 <th width="80px">Total</th> 24 <th width="80px">Booked</th> 25 25 </tr> 26 26 <tr tal:repeat="bt bed_types"> … … 31 31 <tr><td> </td></tr> 32 32 </table> 33 <br /> 33 34 <table tal:condition="info/reserved" 34 35 tal:define="reserved info/reserved"> -
WAeUP_SRP/trunk/skins/waeup_custom/logged_in.py
r658 r659 53 53 if info['review_state'] == "created": 54 54 student.content_status_modify(workflow_action="enter_application_pin") 55 wftool.doActionFor(info['app'],'open',dest_container=info['app']) 55 56 da = {} 56 57 pin = request.get('pin') … … 79 80 member.setProperties(last_login_time=current,login_time=current) 80 81 if info['review_state'] == "application_pin_entered": 81 wftool.doActionFor(info['app'],'open',dest_container=info['app']) 82 82 83 return response.redirect("%s/passport_entry_view" % student.absolute_url()) 83 84 return response.redirect("%s" % student.absolute_url()) -
WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py
r656 r659 22 22 info = {} 23 23 info['is_manager'] = context.isManager 24 info['is_student'] = context.isStudent() 24 25 member_id = str(member) 25 26 if student is None: … … 58 59 else: 59 60 info['acco'] = None 60 61 items = [] 62 sos = context.portal_catalog(container_path=student_path, 63 review_state = ['opened', 'closed']) 61 62 items = [] 63 sos = context.portal_catalog(container_path=student_path) 64 64 for so in sos: 65 65 row = {} … … 69 69 row['title'] = sod.Title() 70 70 row['url'] = soo.absolute_url() 71 row['type'] = so.portal_type 71 72 row['is_editable'] = mtool.checkPermission('Modify portal content', soo) 73 row['review_state'] = so.review_state 72 74 items.append(row) 73 75 info['items'] = items -
WAeUP_SRP/trunk/skins/waeup_student/reserve_accommodation.py
r652 r659 8 8 current = DateTime.DateTime() 9 9 pr = context.portal_registration 10 wftool = context.portal_workflow 10 11 11 12 info = context.getStudentInfo() … … 15 16 pr = context.portal_registration 16 17 session = current.year() 17 acco_id = ' Acco_%s' % session18 acco_id = 'accommodation_%s' % session 18 19 info = context.getStudentInfo() 19 20 student = info['student'] … … 27 28 layout_mode='create', 28 29 formaction = "reserve_accommodation", 29 button = " book Bed",30 button = "Book", 30 31 ) 31 32 if psm == 'invalid': … … 47 48 s_id = ds.get('s_id') 48 49 pin = str(ds.get('acco_res_ac_pin')) 49 50 50 51 pa = context.portal_accommodation 51 52 code,bed = pa.searchAndReserveBed(s_id,"%s_%s" % (info['sex'],ds.get('student_status'))) … … 59 60 student.invokeFactory('StudentAccommodation',acco_id) 60 61 acco = getattr(student,acco_id) 62 wftool.doActionFor(acco,'open',dest_container=acco) 61 63 ds.set('acco_res_date', current) 62 64 ds.set('bed', bed) -
WAeUP_SRP/trunk/skins/waeup_student/student_edit.py
r607 r659 48 48 use_session=True) 49 49 action = "/passport_entry_view" 50 if is_valid andapp_doc.passport is not None:50 if app_doc.passport is not None: 51 51 psm = 'You successfully uploaded your passport image.' 52 52 args = {'apply_button': 'Apply',} -
WAeUP_SRP/trunk/skins/waeup_student/student_index.py
r655 r659 21 21 22 22 if context.isManager(): 23 return redirect("%s/ academics_contents" % context.absolute_url())23 return redirect("%s/student_view" % context.absolute_url()) 24 24 if context.isStudent(): 25 25 info = context.getStudentInfo() 26 26 student = info['student'] 27 # doc = info['app_doc'] 28 # state = context.getStudentInfo()['review_state'] 29 # if state == 'admission_applied': 30 # elif state == 'application_pin_entered': 31 # return redirect("%s/passport_entry_view" % student.absolute_url()) 32 33 return redirect("%s/student_view" % student.absolute_url()) 27 doc = info['app_doc'] 28 state = context.getStudentInfo()['review_state'] 29 if state == 'admission_applied': 30 return redirect("%s/application_view" % student.absolute_url()) 31 elif state == 'application_pin_entered': 32 return redirect("%s/passport_entry_view" % student.absolute_url()) 34 33 35 34 -
WAeUP_SRP/trunk/skins/waeup_student/student_view.pt
r656 r659 1 1 <metal:html tal:define="info context/getStudentInfo; 2 is_manager info/is_manager|nothing;"> 2 is_manager info/is_manager|nothing; 3 is_student info/is_student|nothing"> 3 4 <metal:body use-macro="here/main_template/macros/master"> 4 5 <metal:main fill-slot="main"> … … 9 10 tal:define="review_state info/review_state; 10 11 rows python: info['items']"> 12 13 <a href="" tal:condition="is_manager" 14 tal:attributes="href string:${here/academicsParent}"> 15 <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/> 16 Up one level 17 </a> 11 18 12 <h3 >My Study Data</h3>19 <h3 tal:content="info/student/Title" /> 13 20 <br /> 14 21 15 <table tal:condition=" python: 1" class="contentListing" width="100%" summary="content layout" id="folder_content">22 <table tal:condition="is_manager" class="contentListing" width="100%" summary="content layout" id="folder_content"> 16 23 <tr tal:repeat="row rows" 17 24 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')"> 18 <td align="left" valign="middle" style="width: 5px;"19 tal:condition="is_manager">20 21 </td>22 25 <td><a href="view" tal:attributes="href string:${row/url}"> 23 26 <strong tal:content="row/title" /></a> </td> 24 25 27 <td> 26 28 <a tal:condition="row/is_editable" … … 31 33 </a> 32 34 </td> 33 34 35 </tr> 35 36 </table> 37 38 <table tal:condition="is_student" class="contentListing" width="100%" summary="content layout" id="folder_content"> 39 <span tal:repeat="row rows"> 40 <tr tal:condition="python:row['type'] == 'StudentApplication' and row['review_state'] in ['opened', 'closed']" 41 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')"> 42 <td><a href="view" tal:attributes="href string:${row/url}/application_view"> 43 <strong tal:content="row/title" /></a> </td> 44 <td> 45 <a tal:condition="row/is_editable" 46 href="edit" tal:attributes="href string:${here/absolute_url}/passport_entry_view"> 47 [edit] 48 </a> 49 </td> 50 </tr> 51 52 <tr tal:condition="python:row['type'] == 'StudentAccommodation' and row['review_state'] in ['opened', 'closed']" 53 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')"> 54 <td><a href="view" tal:attributes="href string:${row/url}/accommodation_view"> 55 <strong tal:content="row/title" /></a> </td> 56 <td> 57 </td> 58 </tr> 59 60 </span> 61 </table> 62 36 63 37 64 </span>
Note: See TracChangeset for help on using the changeset viewer.