Changeset 2738 for WAeUP_SRP/base


Ignore:
Timestamp:
22 Nov 2007, 10:28:41 (17 years ago)
Author:
joachim
Message:

parttime application

Location:
WAeUP_SRP/base
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/base/WAeUPTables.py

    r2716 r2738  
    125125    def deleteRecord(self, uid):
    126126        self.uncatalog_object(uid)
     127
     128    def getRecordByKey(self,key):
     129        if not key:
     130            return None
     131        res = self.evalAdvancedQuery(Eq(self.key,key))
     132        if res:
     133            return res[0]
     134        return None
    127135
    128136    def searchAndSetRecord(self, **data):
     
    602610    #               "course_admitted",
    603611    #               )
    604     ###)
    605612
    606613    def __init__(self,name=None):
     
    13961403
    13971404class PaymentsCatalog(WAeUPTable): ###(
     1405    security = ClassSecurityInfo()
    13981406
    13991407    meta_type = 'WAeUP Payments Catalog'
    14001408    name = "students_catalog"
    1401     key = "id"
     1409    key = "key"
    14021410    def __init__(self,name=None):
    14031411        if name ==  None:
     
    14051413        WAeUPTable.__init__(self, name)
    14061414
     1415    security.declarePrivate('notify_event_listener') ###(
     1416    def notify_event_listener(self,event_type,object,infos):
     1417        "listen for events"
     1418        if not infos.has_key('rpath'):
     1419            return
     1420        pt = getattr(object,'portal_type',None)
     1421        mt = getattr(object,'meta_type',None)
     1422        data = {}
     1423        if pt == 'Payment' and mt == 'CPS Proxy Folder':
     1424            order_id = object.id
     1425            if event_type == "sys_add_object":
     1426                try:
     1427                    self.addRecord(order_id = order_id)
     1428                except ValueError:
     1429                    pass
     1430                return
     1431            elif event_type == 'sys_del_object':
     1432                self.deleteRecord(order_id)
     1433        if pt != 'Payment' or mt == 'CPS Proxy Folder':
     1434            return
     1435        if event_type not in ('sys_modify_object'):
     1436            return
     1437        for field in self.schema():
     1438            data[field] = getattr(object,field)
     1439        rpl = infos['rpath'].split('/')
     1440        student_id = rpl[-3]
     1441        data['student_id'] = student_id
     1442        self.modifyRecord(**data)
     1443    ###)
     1444
    14071445
    14081446InitializeClass(PaymentsCatalog)
  • WAeUP_SRP/base/Widgets.py

    r2723 r2738  
    769769##            return 0
    770770        widget_id = self.getWidgetId()
    771         value = makeCertificateCode(datastructure[widget_id]).upper()
     771        #value = makeCertificateCode(datastructure[widget_id]).upper()
     772        value = datastructure[widget_id].upper()
    772773        id_pat_str = r"\S"
    773774        inv_id_pat = re.compile(r"^%s$" % id_pat_str)
     
    11481149        widget_id = self.getWidgetId()
    11491150        v = datastructure[widget_id]
     1151        if not v:
     1152            v = []
    11501153        err = 0
    11511154        s = datastructure[widget_id+'_s'].strip()
  • WAeUP_SRP/base/skins/waeup_layout/layout_apply_admission_create.pt

    r2329 r2738  
    33<!-- a layout_lib macro -->
    44<!-- $Id: layout_apply_admission_create.pt 2141 2007-08-21 16:50:33Z henrik $ -->
    5 
    65<metal:block define-macro="default_table"
    7   tal:define="layout options/layout;
    8   ds options/datastructure;
    9   dm ds/getDataModel;
    10   creation creation|nothing;
    11   metadata metadata|nothing;
    12   cpsmcat nocall:here/translation_service;
    13   apply request/apply_button|nothing;">
    14  
    15   <table  cellpadding="2" cellspacing="2" summary="Form layout" border=0
    16        tal:condition="layout/rows">
    17   <tr tal:repeat="row layout/rows" valign="top">
    18 
    19   <span tal:repeat="cell row">
    20         <tal:block define="widget cell/widget;
    21                            wid widget/getWidgetId;
    22                            err python:ds.getError(wid);
    23                            err_mapping python:ds.getErrorMapping(wid);
    24                            widget_css_class cell/widget_css_class|nothing;
    25                            css_class python:test(err, 'row error','row')">
     6             tal:define="layout options/layout;
     7             ds options/datastructure;
     8             dm ds/getDataModel;
     9             creation creation|nothing;
     10             metadata metadata|nothing;
     11             cpsmcat nocall:here/translation_service;
     12             apply request/apply_button|nothing;"
     13             >
     14    <table  cellpadding="2" cellspacing="2" summary="Form layout" border=0
     15            tal:condition="layout/rows">
     16      <span tal:repeat="row layout/rows" valign="top" tal:omit-tag="">
     17        <span tal:repeat="cell row" tal:omit-tag="">
     18          <tal:block define="widget cell/widget;
     19          wid widget/getWidgetId;
     20          err python:ds.getError(wid);
     21          err_mapping python:ds.getErrorMapping(wid);
     22          widget_css_class cell/widget_css_class|nothing;
     23          css_class python:test(err, 'row error','row')">
    2624          <span tal:attributes="class widget_css_class;
    27                                id python:widget.getHtmlWidgetId()+'_widget';
    28                               ">
    29                              
    30                    
    31             <td valign="middle" tal:condition="python:widget.label_edit and widget.label_edit!='label field'">               
    32               <div class="label">
    33                 <label tal:content="widget/label_edit"
    34                   tal:attributes="for cell/widget_input_area_id|nothing;">label</label>
    35               </div>
    36             </td>
    37            
    38             <td tal:condition="cell/widget_rendered">
    39               <div tal:attributes="class python:test(widget.label_edit == 'label field', 'label','')">         
    40               <label tal:replace="structure cell/widget_rendered"/>
    41               </div>         
    42               <tal:block condition="err">
     25          id python:widget.getHtmlWidgetId()+'_widget';"
     26          >
     27            <tr tal:condition="widget/description|nothing" class="even ajaxtd">
     28              <th colspan="5" align="left"><h3 tal:replace="widget/description" /></th>
     29            </tr>
     30            <tr>
     31              <td valign="middle" tal:condition="python:widget.label_edit and widget.label_edit!='label field'">               
     32                <div class="label">
     33                  <label tal:content="widget/label_edit"
     34                         tal:attributes="for cell/widget_input_area_id|nothing;">label</label>
     35                </div>
     36              </td>
     37              <td tal:condition="cell/widget_rendered">
     38                <div tal:attributes="class python:test(widget.label_edit == 'label field', 'label','')">         
     39                  <label tal:replace="structure cell/widget_rendered"/>
     40                </div>         
     41                <tal:block condition="err">
    4342                  <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)">
    4443                    <br /><em style="color: red"
    45                       tal:content="msg">err</em>
     44                              tal:content="msg">err</em>
    4645                  </tal:block>
    47               </tal:block>
    48             </td>
    49  
     46                </tal:block>
     47              </td>
     48            </tr>
    5049          </span>
    5150        </tal:block>
    52   </span>     
    53   </tr>
     51      </span>     
     52    </span>     
    5453  </table>
    5554  <br/>
    5655</metal:block>
     56 
Note: See TracChangeset for help on using the changeset viewer.