Changeset 1120


Ignore:
Timestamp:
21 Dec 2006, 21:37:26 (18 years ago)
Author:
joachim
Message:

view used pins

Location:
WAeUP_SRP/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/trunk/ScratchCards.py

    r1082 r1120  
    137137                                               % (doc.prefix,doc.batch_no),
    138138                                               )[-max_pins:] if not p.student]
    139 ##        used = [{'pin': p.pin,
    140 ##              'serial': p.serial,
    141 ##              'student': p.student,
    142 ##              } for p in pins_cat.searchResults(prefix_batch = "%s%d"
    143 ##                                               % (doc.prefix,doc.batch_no),
    144 ##                                               ) if p.student]
    145 ##        if len (unused) <= max_pins:
    146 ##            return unused,used
    147139        return unused
     140
     141    security.declareProtected(View,"getUsedPins")
     142    def getUsedPins(self):
     143        """return a list of used Pins"""
     144        #import pdb;pdb.set_trace()
     145        pins_cat = self.portal_pins
     146        doc = self.getContent()
     147        used = [{'pin': p.pin,
     148              'prefix_batch': p.prefix_batch,
     149              'serial': p.serial,
     150              'student': p.student,
     151              } for p in pins_cat.searchResults(prefix_batch = "%s%d"
     152                                               % (doc.prefix,doc.batch_no),
     153                                               ) if p.student]
     154        return used
    148155
    149156    security.declareProtected(View,"getNumberOfUsedPins")
  • WAeUP_SRP/trunk/skins/waeup_pins/batch_view.pt

    r1012 r1120  
    2525              />
    2626        <br />
    27        
    28        
    29 
    3027        <h3><span tal:replace="info/nr_used" /> Pins used out of
    3128        <span tal:replace="info/batch_doc/no_of_pins" /></h3>
    32      
    3329        <span tal:replace="structure rendered" />
    34 
    3530        <table>
    3631          <tr tal:repeat="pin info/used">
     32            <td tal:content="python:path('repeat/pin/index')+1" />
    3733            <td width="50px"> <span tal:content="pin/serial" />: </td>
    3834            <td tal:content="pin/pin" />
     
    4541          </tr>
    4642        </table>
    47 
    48 
    4943        <br />
    50 
    5144        <span tal:condition="python:member.id in ('admin','joachim')">       
    5245        ---top secret---
     
    5952        ---top secret---
    6053        </span>       
    61        
    62        
    6354      </span>
    6455    </metal:main>
  • WAeUP_SRP/trunk/skins/waeup_pins/search_pins.py

    r1070 r1120  
    2020#from Products.zdb import set_trace
    2121#set_trace()
     22def set_used_pins(items, from_cat=False):
     23    l = []
     24    for i in items:
     25        item = {}
     26        if from_cat:
     27            sno = i.student
     28            prefix = i.prefix_batch
     29            serial = i.serial
     30            pin = i.pin
     31        else:
     32            sno = i['student']
     33            prefix = i.get('prefix_batch')
     34            serial = i.get('serial')
     35            pin = i.get('pin')
     36        item['student'] = sno
     37        item['prefix'] = prefix
     38        item['serial'] = serial
     39        if len(sno) > 0:
     40            item['pin'] = pin
     41        else:
     42            if str(member) in ('henrik','joachim'):
     43                item['pin'] = "%s" % (pin,)
     44            else:
     45                item['pin'] = "%s%s****%s" % (i.prefix_batch,pin[-10:-7],pin[-3:])
     46        if len(sno)==10:
     47            #res = context.portal_catalog(SearchableText=sno,portal_type='StudentApplication')
     48            res = context.students_catalog(jamb_reg_no=sno.upper())
     49            if len(res) > 0:
     50                if sno.startswith('disabled'):
     51                    item['student_url'] = None
     52                else:
     53                    item['student_url'] = "%s/campus/students/%s" % (context.portal_url(),res[0].id)
     54                item['student_id'] = res[0].id
     55            else:
     56                item['student_url'] = None
     57                item['student_id'] = ''
     58        elif sno:
     59            if sno.startswith('disabled'):
     60                item['student_url'] = None
     61            else:
     62                item['student_url'] = '%s/campus/students/%s' % (context.portal_url(),item['student'])
     63            item['student_id'] = item['student']
     64        else:
     65            item['student_url'] = ''
     66            item['student_id'] = "not used"
     67        l.append(item)
     68    return l
     69
    2270lt = context.portal_layouts
    2371validate = request.has_key("cpsdocument_edit_button")
     
    3684if context.portal_type == "ScratchCardBatch":
    3785    info['batch_doc'] = context.getContent()
     86    info['used'] = set_used_pins(info['batch_doc'].getUsedPins())
    3887    info['unused'] = info['batch_doc'].getUnusedPins()
    3988    info['nr_used'] = info['batch_doc'].getNumberOfUsedPins()
     
    68117    else:
    69118        items = []
    70     l = []
    71119##  students_url = "%s/%s" % (context.portal_url(),'students')
    72     pins = []
    73     for i in items:
    74         item = {}
    75         sno = i['student']
    76         item['student'] = sno
    77         item['prefix'] = i.prefix_batch
    78         item['serial'] = i.serial
    79         if len(sno) > 0:
    80             item['pin'] = i.pin
    81         else:
    82             if str(member) in ('henrik','joachim'):
    83                 item['pin'] = "%s" % (i.pin,)
    84             else:
    85                 item['pin'] = "%s%s****%s" % (i.prefix_batch,i.pin[-10:-7],i.pin[-3:])
    86         if i.pin in pins:
    87             continue
    88         pins.append(i.pins)
    89         if len(sno)==10:
    90             #res = context.portal_catalog(SearchableText=sno,portal_type='StudentApplication')
    91             res = context.students_catalog(jamb_reg_no=sno.upper())
    92             if len(res) > 0:
    93                 if sno.startswith('disabled'):
    94                     item['student_url'] = None
    95                 else:
    96                     item['student_url'] = "%s/campus/students/%s" % (context.portal_url(),res[0].id)
    97                 item['student_id'] = res[0].id
    98             else:
    99                 item['student_url'] = None
    100                 item['student_id'] = ''
    101         elif sno:
    102             if sno.startswith('disabled'):
    103                 item['student_url'] = None
    104             else:
    105                 item['student_url'] = '%s/campus/students/%s' % (context.portal_url(),item['student'])
    106             item['student_id'] = item['student']
    107         else:
    108             item['student_url'] = ''
    109             item['student_id'] = "not used"
    110         l.append(item)
    111120       
    112     info['used'] = l
     121info['used'] = set_used_pins(items,from_cat=True)
    113122
    114123return view(rendered = rend,
Note: See TracChangeset for help on using the changeset viewer.