## Script (Python) "disable_pins"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=REQUEST,ids=[]
##title=
##
# $Id: disable_pins.py 1593 2007-03-19 18:57:54Z uli $
"""
disable pins
"""
import DateTime
current = DateTime.DateTime().strftime("%d-%m-%y_%H_%M_%S")
import logging
logger = logging.getLogger('Skins.disable_pins')

request = REQUEST
wftool = context.portal_workflow
mtool = context.portal_membership
member = mtool.getAuthenticatedMember()
#from Products.zdb import set_trace
#set_trace()

if not ids:
    return

pincat = context.portal_pins
for pid in ids:
    serial,prefix = pid.split("_")
    res = pincat(prefix_batch=prefix,
                 serial=int(serial))
    if len(res) != 1:
        continue
    uid = res[0].pin
    dict = {"pin": uid,
            "student": "disabled by %s on %s" % (member,current)
            }
    pincat.modifyRecord(**dict)
    logger.info('%s disabled pin %s' % (member,uid))
return request.RESPONSE.redirect("%s/campus/pins/search_pins" % context.portal_url())
