# -*- coding: UTF-8 -*- # -*- Mode: Python; py-indent-offset: 4 -*- # Authors: Nik Kim <fafhrd@legco.biz> import Globals from AccessControl import ModuleSecurityInfo, allow_module from AccessControl.Permissions import view from TimerService import TimerService, current_version misc_ = { 'timer_icon.gif': Globals.ImageFile('zpt/timer_icon.gif', globals())} cp_id = 'timer_service' def getTimerService(context): """ returns the SMTP srevice instance """ return context.Control_Panel.timer_service def make_timer_service(cp): """Control_Panel smtp service""" timer_service = TimerService(cp_id) cp._setObject(cp_id, timer_service) return getattr(cp, cp_id) def initialize(context): # hook into the Control Panel cp = context._ProductContext__app.Control_Panel if cp_id in cp.objectIds(): #cp._delObject(cp_id) timer = getattr(cp, cp_id) timer_service = timer if not isinstance(timer_service, TimerService): timer = make_timer_service(cp) else: timer = make_timer_service(cp) if timer._version < current_version: cp._delObject(cp_id) timer = make_timer_service(cp)