Changeset 672 for WAeUP_SRP


Ignore:
Timestamp:
12 Oct 2006, 18:23:28 (18 years ago)
Author:
joachim
Message:

several simplifications to student_index, student_edit must be called instead of passport_entry_view

Location:
WAeUP_SRP/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/WAeUPTables.py

    r658 r672  
    8585            return -1,"Student with Id %s already booked bed %s" % (student_id,records[0].bed)
    8686           
    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]
    8888        if len(records) == 0:
    8989            return -1,"no bed of this type available"
  • WAeUP_SRP/trunk/profiles/default/layouts/student_accommodation.xml

    r669 r672  
    22<object name="student_accommodation" meta_type="CPS Layout">
    33 <property name="layout_create_method"></property>
    4  <property name="layout_edit_method"></property>
     4 <property name="layout_edit_method">layout_waeup_edit</property>
    55 <property name="layout_view_method"></property>
    66 <property name="style_prefix">layout_accommodation_</property>
     
    88 <property name="validate_values_expr"></property>
    99 <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>
    1111  <property name="fields">
    1212   <element value="acco_maint_date"/>
    1313  </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>
    1616  <property name="readonly_layout_modes"/>
    1717  <property name="hidden_layout_modes"/>
     
    2121 </widget>
    2222 <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>
    2424  <property name="fields">
    2525   <element value="acco_maint_sc_pin"/>
    2626  </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>
    2929  <property name="readonly_layout_modes"/>
    3030  <property name="hidden_layout_modes"/>
     
    3333 </widget>
    3434 <widget name="acco_res_date" meta_type="DateTime Widget">
    35   <property name="title">Reservation Date</property>
     35  <property name="title">Accommodation Reservation Date</property>
    3636  <property name="fields">
    3737   <element value="acco_res_date"/>
    3838  </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>
    4141  <property name="readonly_layout_modes"/>
    4242  <property name="hidden_layout_modes"/>
     
    4545 </widget>
    4646 <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>
    4848  <property name="fields">
    4949   <element value="acco_res_sc_pin"/>
    5050  </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>
    5353  <property name="readonly_layout_modes"/>
    5454  <property name="hidden_layout_modes"/>
  • WAeUP_SRP/trunk/skins/waeup_default/layout_waeup_edit.pt

    r551 r672  
    11<!-- a layout_lib macro -->
    22<!-- $Id$ -->
     3
    34<metal:block define-macro="default_edit"
    45  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">
    7561              <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)">
    7662                <br /><em style="color: red"
    77                   tal:content="msg">err</em>
     63                          tal:content="msg">err</em>
    7864              </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>
    9667          </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>
    97114        </div>
    98115      </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" />
    102134
    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>
    179136</metal:block>
  • WAeUP_SRP/trunk/skins/waeup_student/getStudentInfo.py

    r662 r672  
    6262
    6363items = []
     64s_edit_links = {'StudentApplication': 'student_edit',
     65              'StudentAccommodation': '',
     66              'StudentPersonal': '',
     67              }
    6468sos = context.portal_catalog(container_path=student_path)
    6569for so in sos:
     
    7276    row['type'] = so.portal_type
    7377    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])
    7479    row['review_state'] = so.review_state
     80    row['display'] = so.review_state in ('opened','closed')
    7581    items.append(row)
    7682info['items'] = items
  • WAeUP_SRP/trunk/skins/waeup_student/layout_application_edit.pt

    r635 r672  
    1515  widgets python:context.getRenderedWidgets(layout);
    1616  ">
    17   <span tal:condition="python: 0" tal:replace="structure widgets" />
    1817  <form action="" id="editForm" method="post"
    1918        enctype="multipart/form-data" class="workflow"
    2019        tal:attributes="action formaction"
    21        
    2220        >
    2321  <table class="layoutDefault" summary="Form layout"
     
    7169      </span>
    7270    </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;">
    7473      <tal:block tal:define="widget cell/widget;
    7574      wid widget/getWidgetId;
  • WAeUP_SRP/trunk/skins/waeup_student/passport_entry_view.pt

    r670 r672  
    1515              tal:content="structure python: info['app_doc'].render(proxy=info['app_doc'],
    1616              layout_mode='edit',
    17               layout_id='student_application_fe')"
     17              layout_id='student_application_fe',
     18              )"
    1819              />
    1920      </span>
  • WAeUP_SRP/trunk/skins/waeup_student/student_view.pt

    r662 r672  
    3838        <table tal:condition="is_student" class="contentListing" width="100%" summary="content layout" id="folder_content">     
    3939          <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"
    4141            tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')">
    4242            <td><a href="view" tal:attributes="href string:${row/url}/application_view">
     
    4444            <td>
    4545            <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}">
    4747                [edit]
    4848            </a>
Note: See TracChangeset for help on using the changeset viewer.