- Timestamp:
- 12 Oct 2006, 18:23:28 (18 years ago)
- Location:
- WAeUP_SRP/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
WAeUP_SRP/trunk/WAeUPTables.py
r658 r672 85 85 return -1,"Student with Id %s already booked bed %s" % (student_id,records[0].bed) 86 86 87 records = [r for r in self.searchResults({'bed_type' : bed_type , "student": ''})]87 records = [r for r in self.searchResults({'bed_type' : bed_type}) if not r] 88 88 if len(records) == 0: 89 89 return -1,"no bed of this type available" -
WAeUP_SRP/trunk/profiles/default/layouts/student_accommodation.xml
r669 r672 2 2 <object name="student_accommodation" meta_type="CPS Layout"> 3 3 <property name="layout_create_method"></property> 4 <property name="layout_edit_method"> </property>4 <property name="layout_edit_method">layout_waeup_edit</property> 5 5 <property name="layout_view_method"></property> 6 6 <property name="style_prefix">layout_accommodation_</property> … … 8 8 <property name="validate_values_expr"></property> 9 9 <widget name="acco_maint_date" meta_type="DateTime Widget"> 10 <property name="title"> Maintainance Fee Date</property>10 <property name="title">Accommodation Maintainance Date</property> 11 11 <property name="fields"> 12 12 <element value="acco_maint_date"/> 13 13 </property> 14 <property name="label"> Maintainance Fee Date</property>15 <property name="label_edit"> Maintainance Fee Date</property>14 <property name="label">Accommodation Maintainance Date</property> 15 <property name="label_edit">Accommodation Maintainance Date</property> 16 16 <property name="readonly_layout_modes"/> 17 17 <property name="hidden_layout_modes"/> … … 21 21 </widget> 22 22 <widget name="acco_maint_sc_pin" meta_type="String Widget"> 23 <property name="title"> Maintainance Fee Access Code</property>23 <property name="title">Accommodation Maintainance SC-Pin</property> 24 24 <property name="fields"> 25 25 <element value="acco_maint_sc_pin"/> 26 26 </property> 27 <property name="label"> Maintainance Fee Access Code</property>28 <property name="label_edit"> Maintainance Fee Access Code</property>27 <property name="label">Accommodation Maintainance SC-Pin</property> 28 <property name="label_edit">Accommodation Maintainance SC-Pin</property> 29 29 <property name="readonly_layout_modes"/> 30 30 <property name="hidden_layout_modes"/> … … 33 33 </widget> 34 34 <widget name="acco_res_date" meta_type="DateTime Widget"> 35 <property name="title"> Reservation Date</property>35 <property name="title">Accommodation Reservation Date</property> 36 36 <property name="fields"> 37 37 <element value="acco_res_date"/> 38 38 </property> 39 <property name="label"> Reservation Date</property>40 <property name="label_edit"> Reservation Date</property>39 <property name="label">Accommodation Reservation Date</property> 40 <property name="label_edit">Accommodation Reservation Date</property> 41 41 <property name="readonly_layout_modes"/> 42 42 <property name="hidden_layout_modes"/> … … 45 45 </widget> 46 46 <widget name="acco_res_sc_pin" meta_type="String Widget"> 47 <property name="title"> Reservation Access Code</property>47 <property name="title">Accommodation Reservation SC-Pin</property> 48 48 <property name="fields"> 49 49 <element value="acco_res_sc_pin"/> 50 50 </property> 51 <property name="label"> Reservation Access Code</property>52 <property name="label_edit"> Reservation Access Code</property>51 <property name="label">Accommodation Reservation SC-Pin</property> 52 <property name="label_edit">Accommodation Reservation SC-Pin</property> 53 53 <property name="readonly_layout_modes"/> 54 54 <property name="hidden_layout_modes"/> -
WAeUP_SRP/trunk/skins/waeup_default/layout_waeup_edit.pt
r551 r672 1 1 <!-- a layout_lib macro --> 2 2 <!-- $Id$ --> 3 3 4 <metal:block define-macro="default_edit" 4 5 tal:define="layout options/layout; 5 ds options/datastructure; 6 dm ds/getDataModel; 7 creation creation|nothing; 8 metadata metadata|nothing; 9 type_name request/type_name|nothing; 10 ti python:type_name and getattr(here.portal_types,type_name,None) or getattr(here.portal_types,here.portal_type,None); 11 creation_form python:ti and ti.getActionById('create', 'cpsdocument_create_form') or 'cpsdocument_create_form' ; 12 edit_form python:ti and ti.getActionById('edit', 'cpsdocument_edit_form') or 'cpsdocument_edit_form'; 13 metadata_form python:ti and ti.getActionById('metadata', 'cpsdocument_metadata') or 'cpsdocument_metadata'; 14 formaction formaction|python: test(creation, creation_form, 15 test(metadata, metadata_form, 16 edit_form)); 17 first_layout options/first_layout|python:0; 18 last_layout options/last_layout|python:0; 19 is_flexible options/is_flexible; 20 cpsmcat nocall:here/translation_service; 21 "> 22 <tal:block condition="python:first_layout"> 23 <tal:block 24 content="structure string:<form id='editForm' action='${formaction}' method='post' 25 enctype='multipart/form-data' class='workflow'> 26 <div class='group'><div class='documentFields'>" /> 27 <input type="hidden" name="type_name" value="." 28 tal:condition="creation" tal:attributes="value request/type_name" /> 29 </tal:block> 30 31 <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout" 32 tal:condition="layout/rows"> 33 <tr tal:repeat="row layout/rows" valign="top"> 34 <td tal:repeat="cell row" 35 tal:attributes="colspan cell/ncols"> 36 <tal:block define="widget cell/widget; 37 wid widget/getWidgetId; 38 err python:ds.getError(wid); 39 err_mapping python:ds.getErrorMapping(wid); 40 is_required widget/is_required|nothing; 41 tooltip_id python:wid + '_help'; 42 widget_css_class cell/widget_css_class|nothing; 43 widget_css_class python:test(is_flexible, 'group', widget_css_class); 44 css_class python:test(err, 'row error', 45 test(is_flexible, 'group', 'row'))"> 46 <div tal:attributes="class widget_css_class; 47 id python:widget.getHtmlWidgetId()+'_widget'; 48 "> 49 <div class="label" tal:condition="widget/label_edit" 50 tal:attributes="class python:test(is_required, 'label required', 51 'label')"> 52 <label i18n:translate="" tal:condition="widget/is_i18n" 53 tal:content="widget/label_edit" 54 tal:attributes="for cell/widget_input_area_id|nothing;">label</label> 55 <label tal:condition="not:widget/is_i18n" 56 tal:content="widget/label_edit" 57 tal:attributes="for cell/widget_input_area_id|nothing;">label</label> 58 </div> 59 <button type="button" class="tooltipControl" 60 tal:condition="widget/help" 61 tal:attributes="onclick python:'toggleElementVisibility(\'%s\')' % tooltip_id;"> ? </button> 62 <div class="field"> 63 <div tal:replace="structure cell/widget_rendered"/> 64 </div> 65 <div class="tooltipArea" style="visibility: hidden;" 66 tal:condition="widget/help" 67 tal:attributes="id tooltip_id; 68 onclick python:'showElement(false, \'%s\')' % tooltip_id;"> 69 <tal:block i18n:translate="" tal:condition="widget/is_i18n" 70 tal:content="widget/help">i18_key-help_for_this_field</tal:block> 71 <tal:block tal:condition="not:widget/is_i18n" 72 tal:content="widget/help">This is the help for this field</tal:block> 73 </div> 74 <tal:block condition="err"> 6 ds options/datastructure; 7 dm ds/getDataModel; 8 formaction options/formaction|string:student_edit; 9 creation creation|nothing; 10 metadata metadata|nothing; 11 type_name request/type_name|nothing; 12 ti python:type_name and getattr(here.portal_types,type_name,None) or getattr(here.portal_types,here.portal_type,None); 13 cpsmcat nocall:here/translation_service; 14 apply request/apply_button|nothing; 15 widgets python:context.getRenderedWidgets(layout); 16 "> 17 <form action="" id="editForm" method="post" 18 enctype="multipart/form-data" class="workflow" 19 tal:attributes="action formaction" 20 > 21 <table class="layoutDefault" summary="Form layout" 22 tal:condition="layout/rows"> 23 <span tal:repeat="row python: layout['rows']" valign="top" > 24 <span tal:repeat="cell row"> 25 <tr tal:define="widget cell/widget; 26 wid widget/getWidgetId; 27 err python:ds.getError(wid); 28 err_mapping python:ds.getErrorMapping(wid); 29 is_required python: widget.is_required and creation and ('create' not in widget.readonly_layout_modes); 30 tooltip_id python:wid + '_help'; 31 widget_css_class cell/widget_css_class|nothing; 32 css_class python:test(err, 'row error','row')" 33 tal:condition="python: wid != 'passport'" 34 > 35 <div tal:attributes="class widget_css_class; 36 id python:widget.getHtmlWidgetId()+'_widget';" 37 > 38 <td> 39 <div class="label" tal:condition="widget/label_edit" 40 tal:attributes="class python:test(is_required, 'label required','label')"> 41 <label tal:content="widget/label_edit" 42 tal:attributes="for cell/widget_input_area_id|nothing;">label</label>: 43 </div> 44 <button type="button" class="tooltipControl" 45 tal:condition="widget/help" 46 tal:attributes="onclick python:'toggleElementVisibility(\'%s\')' % tooltip_id;"> ? </button> 47 </td> 48 <td> 49 <span class="field"> 50 <div tal:replace="structure cell/widget_rendered"/> 51 </span> 52 <div class="tooltipArea" style="visibility: hidden;" 53 tal:condition="widget/help" 54 tal:attributes="id tooltip_id; 55 onclick python:'showElement(false, \'%s\')' % tooltip_id;" 56 > 57 <tal:block tal:content="widget/help">This is the help for this field 58 </tal:block> 59 </div> 60 <tal:block condition="err"> 75 61 <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)"> 76 62 <br /><em style="color: red" 77 tal:content="msg">err</em>63 tal:content="msg">err</em> 78 64 </tal:block> 79 </tal:block> 80 <div style="float: right;" tal:condition="is_flexible"> 81 <input type="button" value="button_move_up" 82 tal:condition="not:repeat/row/start" 83 tal:attributes="name string:uprow_${repeat/row/index}; 84 onclick python:'CPSFlexibleEdit.buttonClick(this, \'\')'" 85 class="context moveUp" i18n:attributes="value" /> 86 <input type="button" value="button_move_down" 87 tal:condition="not:repeat/row/end" 88 tal:attributes="name string:downrow_${repeat/row/index}; 89 onclick python:'CPSFlexibleEdit.buttonClick(this, \'\')'" 90 class="context moveDown" i18n:attributes="value" /> 91 <input type="button" value="button_delete" 92 class="destructive" i18n:attributes="value" 93 tal:attributes="name string:deleterow_${repeat/row/index}; 94 onclick python:'CPSFlexibleEdit.buttonClick(this, \'%s\')' % 95 (cpsmcat('description_confirm_delete'), )" /> 65 </tal:block> 66 </td> 96 67 </div> 68 </tr> 69 </span> 70 </span> 71 <tr tal:condition="widgets/passport|nothing" 72 tal:define="cell widgets/passport|nothing;"> 73 <tal:block tal:define="widget cell/widget; 74 wid widget/getWidgetId; 75 err python:ds.getError(wid); 76 err_mapping python:ds.getErrorMapping(wid); 77 is_required python: widget.is_required and creation and ('create' not in widget.readonly_layout_modes); 78 tooltip_id python:wid + '_help'; 79 widget_css_class widget/widget_css_class|nothing; 80 css_class python:test(err, 'row error','row')" 81 > 82 <div tal:attributes="class widget_css_class; 83 id python:widget.getHtmlWidgetId()+'_widget';" 84 > 85 <td> 86 <div class="label" tal:condition="widget/label_edit" 87 tal:attributes="class python:test(is_required, 'label required','label')"> 88 <label tal:content="widget/label_edit" 89 tal:attributes="for cell/widget_input_area_id|nothing;">label</label>: 90 </div> 91 <button type="button" class="tooltipControl" 92 tal:condition="widget/help" 93 tal:attributes="onclick python:'toggleElementVisibility(\'%s\')' % tooltip_id;"> ? </button> 94 </td> 95 <td> 96 <span class="field"> 97 <div tal:replace="structure cell/widget_rendered"/> 98 </span> 99 <div class="tooltipArea" style="visibility: hidden;" 100 tal:condition="widget/help" 101 tal:attributes="id tooltip_id; 102 onclick python:'showElement(false, \'%s\')' % tooltip_id;" 103 > 104 <tal:block tal:content="widget/help">This is the help for this field 105 </tal:block> 106 </div> 107 <tal:block condition="err"> 108 <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)"> 109 <br /><em style="color: red" 110 tal:content="msg">err</em> 111 </tal:block> 112 </tal:block> 113 </td> 97 114 </div> 98 115 </tal:block> 99 </td> 100 </tr> 101 </table> 116 </tr> 117 </table> 118 <br /> 119 <input type="submit" class="standalone" name="cpsdocument_edit_button" 120 value="Save" 121 id="cpsdocument_edit_button" 122 tal:condition="not:creation" /> 123 <input type="submit" class="standalone" name="apply_admission" 124 value="apply for admission" 125 id="cpsdocument_edit_and_view_button" 126 tal:condition="apply" 127 tal:attributes="value apply"/> 128 <input type="submit" 129 class="standalone" 130 name="cpsdocument_create_button" 131 value="apply" 132 tal:attributes="value options/button" 133 tal:condition="creation" /> 102 134 103 <tal:block condition="is_flexible"> 104 <div tal:define="flexible_widgets options/flexible_widgets"> 105 <input type="hidden" name="layout_id" value="." 106 tal:attributes="value layout/layout_id" /> 107 <tal:select condition="python:len(flexible_widgets)>1"> 108 <select name="widget_type"> 109 <tal:block repeat="widget options/flexible_widgets"> 110 <option value="." 111 tal:condition="widget/is_i18n" 112 i18n:translate="" 113 tal:attributes="value widget/getWidgetId" 114 tal:content="widget/title_or_id">Type</option> 115 <option value="." 116 tal:condition="not:widget/is_i18n" 117 tal:attributes="value widget/getWidgetId" 118 tal:content="widget/title_or_id">Type</option> 119 </tal:block> 120 </select> 121 <input type="button" id="addwidget_button" 122 name="addwidget_button" value="button_add" 123 class="context" 124 i18n:attributes="value" 125 tal:attributes="onclick python:'CPSFlexibleEdit.buttonClick(this, \'\')'" /> 126 </tal:select> 127 <tal:button condition="python:len(flexible_widgets) == 1"> 128 <tal:block define="widget python:flexible_widgets[0]"> 129 <input type="hidden" name="widget_type" 130 tal:attributes="value widget/getWidgetId"> 131 <input type="submit" name="addwidget_button" 132 id="addwidget_button" 133 tal:define="button_add python:cpsmcat('button_add'); 134 widget_title python:cpsmcat(widget.title_or_id())" 135 tal:attributes="value string:${button_add} ${widget_title}" 136 class="context" /> 137 </tal:block> 138 </tal:button> 139 </div> 140 </tal:block> 141 142 <tal:block condition="python: last_layout"> 143 <tal:block content="structure string:</div>" /> 144 <metal:block define-slot="additional_content" /> 145 146 <tal:block condition="not:creation"> 147 <div class="tooltipArea" style="visibility: hidden;" 148 id="transition_comments_help" 149 onclick="showElement(false, 'transition_comments_help')" 150 i18n:translate="help_transition_comments_modification"> 151 In this filed you can give the reason of the modification that you are doing on this document. 152 Your comments may be used to notify other users. 153 </div> 154 <dl> 155 <dt><label for="comments" 156 i18n:translate="transition_comments_modification">Reason of the modification</label> 157 <button type="button" class="tooltipControl" 158 onclick="toggleElementVisibility('transition_comments_help')"> ? </button> 159 </dt> 160 <dd> 161 <textarea name="comments" id="comments" cols="60" rows="3" 162 tal:content="nothing"> 163 </textarea> 164 </dd> 165 </dl> 166 </tal:block> 167 <input type="submit" class="standalone" name="cpsdocument_edit_button" 168 value="button_change" i18n:attributes="value" id="cpsdocument_edit_button" 169 tal:condition="not:creation" /> 170 <input type="submit" class="standalone" name="cpsdocument_edit_and_view_button" 171 value="button_change_and_view" i18n:attributes="value" 172 id="cpsdocument_edit_and_view_button" 173 tal:condition="not:creation" /> 174 <input type="submit" class="standalone" name="cpsdocument_create_button" 175 value="button_create" i18n:attributes="value" tal:condition="creation" /> 176 <tal:block content="structure string:</div></form>" /> 177 </tal:block> 178 135 </form> 179 136 </metal:block> -
WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py
r662 r672 62 62 63 63 items = [] 64 s_edit_links = {'StudentApplication': 'student_edit', 65 'StudentAccommodation': '', 66 'StudentPersonal': '', 67 } 64 68 sos = context.portal_catalog(container_path=student_path) 65 69 for so in sos: … … 72 76 row['type'] = so.portal_type 73 77 row['is_editable'] = mtool.checkPermission('Modify portal content', soo) 78 row['s_edit_link'] = "%s/%s" % (student.absolute_url(),s_edit_links[so.portal_type]) 74 79 row['review_state'] = so.review_state 80 row['display'] = so.review_state in ('opened','closed') 75 81 items.append(row) 76 82 info['items'] = items -
WAeUP_SRP/trunk/skins/waeup_student/layout_application_edit.pt
r635 r672 15 15 widgets python:context.getRenderedWidgets(layout); 16 16 "> 17 <span tal:condition="python: 0" tal:replace="structure widgets" />18 17 <form action="" id="editForm" method="post" 19 18 enctype="multipart/form-data" class="workflow" 20 19 tal:attributes="action formaction" 21 22 20 > 23 21 <table class="layoutDefault" summary="Form layout" … … 71 69 </span> 72 70 </span> 73 <tr tal:condition="widgets/passport|nothing" tal:define="cell widgets/passport|nothing;"> 71 <tr tal:condition="widgets/passport|nothing" 72 tal:define="cell widgets/passport|nothing;"> 74 73 <tal:block tal:define="widget cell/widget; 75 74 wid widget/getWidgetId; -
WAeUP_SRP/trunk/skins/waeup_student/passport_entry_view.pt
r670 r672 15 15 tal:content="structure python: info['app_doc'].render(proxy=info['app_doc'], 16 16 layout_mode='edit', 17 layout_id='student_application_fe')" 17 layout_id='student_application_fe', 18 )" 18 19 /> 19 20 </span> -
WAeUP_SRP/trunk/skins/waeup_student/student_view.pt
r662 r672 38 38 <table tal:condition="is_student" class="contentListing" width="100%" summary="content layout" id="folder_content"> 39 39 <span tal:repeat="row rows"> 40 <tr tal:condition=" python:row['type'] == 'StudentApplication' and row['review_state'] in ['opened', 'closed']"40 <tr tal:condition="row/display" 41 41 tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')"> 42 42 <td><a href="view" tal:attributes="href string:${row/url}/application_view"> … … 44 44 <td> 45 45 <a tal:condition="row/is_editable" 46 href="edit" tal:attributes="href string:${ info/url}/passport_entry_view">46 href="edit" tal:attributes="href string:${row/s_edit_link}"> 47 47 [edit] 48 48 </a>
Note: See TracChangeset for help on using the changeset viewer.