Changeset 478 for WAeUP_SRP/trunk/skins


Ignore:
Timestamp:
4 Sep 2006, 13:03:08 (19 years ago)
Author:
joachim
Message:

apply_admission basics

Location:
WAeUP_SRP/trunk/skins
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/skins/waeup_default/layout_waeup_create.pt

    r477 r478  
    1 <tal:block define="global creation python:1" />
    2 <metal:block use-macro="here/layout_waeup_lib/macros/default_edit" />
     1<tal:block define="global creation python:1;
     2                   global formaction string:apply_admission" />
     3<metal:block use-macro="here/layout_waeup_edit/macros/default_edit" />
  • WAeUP_SRP/trunk/skins/waeup_default/layout_waeup_edit.pt

    r477 r478  
    1 <metal:block use-macro="here/layout_waeup_lib/macros/default_edit" />
     1<!-- a layout_lib macro -->
     2<!-- $Id: layout_lib_default_edit.pt 34052 2006-03-06 14:59:24Z atchertchian $ -->
     3<metal:block define-macro="default_edit"
     4  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:1 or 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">
     75              <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)">
     76                <br /><em style="color: red"
     77                  tal:content="msg">err</em>
     78              </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'), )" />
     96          </div>
     97        </div>
     98      </tal:block>
     99    </td>
     100  </tr>
     101</table>
     102
     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: 1 or 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
     179</metal:block>
  • WAeUP_SRP/trunk/skins/waeup_student/application_form.pt

    r477 r478  
    1010  </metal:block>
    1111
    12   <metal:block fill-slot="main"
    13                tal:define="roles member/getRoles;
    14                frontend python:'Student' in roles or isAnon;
    15                folder here/getContent;"                             
    16                >
     12  <metal:block fill-slot="main">
    1713
    1814    <tal:block tal:condition="python:context.portal_type == 'Student'" tal:omit-tag=""> 
    1915      <tal:block tal:define="
    20                           appl python:here.application;
    21                           appl_proxy python:appl.getContent();"
     16                          rendered python:context.application.getContent().renderEdit(layout_id='student_application_fe',
     17                                                         layout_mode='edit');"
    2218                          >
    2319
    24       <h2>Application Form for <span tal:content="appl_proxy/jamb_firstname" /> <span tal:content="appl_proxy/jamb_lastname" /></h2>     
    2520   
    26       <tal:block tal:content="structure python:appl_proxy.renderEdit(request=request, layout_id='student_application_fe', proxy=appl_proxy, layout_mode='edit')" />
    27      
    28       <tal:block tal:content="structure python:appl_proxy.renderEdit(layout_id='student_application_fe', layout_mode='view')" />
    29            
    30       <tal:block tal:content="structure python:appl_proxy.render(layout_id='student_application_fe')" />
     21      <tal:block tal:content="structure rendered" />
    3122
    3223      </tal:block> 
     
    3425    <tal:block condition="python:context.portal_type != 'Student'">
    3526   
    36       This is not a student object!
     27      This is not a student object
     28     
    3729   
    3830    </tal:block> 
  • WAeUP_SRP/trunk/skins/waeup_student/application_pin_form.pt

    r476 r478  
    1818          <p>Instructions :</p>
    1919          <ul>
    20             <li>Buy an Application Scratch Card.</li>
     20            <li>Buy an Appliiication Scratch Card.</li>
    2121            <li>Enter your JAMB registration number and the Application PIN above.</li>
    2222            <li>Upload your passport picture.</li>
  • WAeUP_SRP/trunk/skins/waeup_student/apply_admission.py

    r477 r478  
    1414REQUEST.set('type_name',type_name)
    1515
    16 validate = REQUEST.has_key("cpsdocument_edit_button")
     16validate = REQUEST.has_key("cpsdocument_create_button")
    1717
    1818
     
    2121
    2222res,psm,ds = lt.renderLayout(layout_id= 'student_check_pin',
    23                       schema_id= 'student_application',
     23                      schema_id= 'student_check_pin',
    2424                      context=context,
    2525                      mapping=validate and REQUEST,
     
    3131if psm == 'invalid':
    3232    return context.application_pin_form(rendered = res,
    33                                  psm = "Please correct your input",
     33                                 #psm = "Please correct your input",
     34                                 psm = "psm : #%s#" % (psm,),
     35                                 firstlayout = True,
     36                                 lastlayout = True,
    3437                                 ds = ds,
    3538                                 )
     
    3740    return context.application_pin_form(rendered = res,
    3841                                 psm = None,
     42                                 firstlayout = True,
     43                                 lastlayout = True,
    3944                                 ds = ds,
    4045                                 )
    4146elif psm == 'valid':
    42     jamb_id = ds.get('jamb_id')
     47    jamb_id = ds.get('jamb_reg_no')
    4348    catalog = context.portal_catalog
    4449    search = catalog({'meta_type': 'StudentApplication',
     
    5459application = search[0].getObject()
    5560student = application.aq_parent
    56 student.invokeFactory('StudentClearance','clearance')
    57 student.invokeFactory('StudentPersonal','personal')
     61if context.portal_workflow.getInfoFor(student,'review_state',None) == "created":
     62    student.invokeFactory('StudentClearance','clearance')
     63    student.invokeFactory('StudentPersonal','personal')
     64    student.content_status_modify(workflow_action="enter_application_pin")
     65
     66apdoc = application.getContent()
     67names = apdoc.jamb_lastname.split()
     68dp = {}
     69if len(names) == 3:
     70    dp['firstname'] = names[0].capitalize()
     71    dp['middlename'] = names[1].capitalize()
     72    dp['lastname'] = names[2].capitalize()
     73elif len(names) == 2:
     74    dp['firstname'] = names[0].capitalize()
     75    dp['lastname'] = names[1].capitalize()
     76else:
     77    dp['lastname'] = apdoc.jamb_lastname
     78dp['sex'] = apdoc.jamb_sex == 'M'
     79dp['lga'] = "%s/%s" % (apdoc.jamb_state,apdoc.jamb_lga )
     80student.personal.getContent().edit(mapping = dp)
     81da = {}
     82da['app_ac_pin'] = ds['pin']
     83apdoc.edit(mapping = da)
    5884# now display the passport form with jamb-data readonly
    5985return student.application_form()
Note: See TracChangeset for help on using the changeset viewer.