#-*- mode: python; mode: fold -*-
from Globals import InitializeClass
from AccessControl import ClassSecurityInfo

from Products.CMFCore.utils import UniqueObject, getToolByName
from Products.CMFCore.permissions import View
from Products.CMFCore.permissions import ModifyPortalContent
from Products.CPSCore.CPSBase import CPSBase_adder, CPSBaseFolder
#from Products.CPSCore.CPSBase import CPSBaseDocument as BaseDocument
from Products.CPSDocument.CPSDocument import CPSDocument
from Products.CPSCore.CPSBase import CPSBaseBTreeFolder as BaseBTreeFolder
from Products.WAeUP_SRP.WAeUPTables import AccommodationTable
import Globals
import DateTime
import re
p_home = Globals.package_home(globals())
i_home = Globals.INSTANCE_HOME

class PaymentsFolder(CPSDocument): ###(
    """
    WAeUP PaymentsFolder containing Paymentsmmodation halls
    """
    meta_type = 'PaymentsFolder'
    portal_type = meta_type
    security = ClassSecurityInfo()

    security.declareProtected(View,"Title")
    def Title(self):
        """compose title"""
        return "Payments"

InitializeClass(PaymentsFolder)

def addPaymentsFolder(container, id, REQUEST=None, **kw):
    """Add a PaymentsFolder."""
    ob = PaymentsFolder(id, **kw)
    return CPSBase_adder(container, ob, REQUEST=REQUEST)
###)

class Payment(CPSDocument): ###(
    """
    WAeUP Payment containing Departments
    """
    meta_type = 'Payment'
    portal_type = meta_type
    security = ClassSecurityInfo()

    security.declareProtected(View,"Title") ###(
    def Title(self):
        """compose title"""
        content = self.getContent()
        description = getattr(content,'type_description','')
        d = getattr(content,'date','')
        #pay_date = "%s/%s/%s %s:%s:%s" %(d[:2],d[2:4],d[4:6],d[6:8],d[8:10],d[10:])
        pay_date = d.strftime("%d/%m/%y %H:%M:%S")
        amount = getattr(content,'amount','')
        if not (description or pay_date or amount):
            return self.getId()
        return "%(description)s, Naira %(amount)s, %(pay_date)s" % vars()
    ###)

InitializeClass(Payment)

def addPayment(container, id, REQUEST=None, **kw):
    """Add a Payment."""
    ob = Payment(id, **kw)
    return CPSBase_adder(container, ob, REQUEST=REQUEST)
###)
