Ignore:
Timestamp:
12 Oct 2011, 19:28:49 (13 years ago)
Author:
Henrik Bettermann
Message:

Add StudentOnlinePayment? class (including factory) which also implements IStudentNavigation.

Location:
main/waeup.sirp/trunk/src/waeup/sirp/students
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/students/payments.py

    r6860 r6875  
    2020from grok import index
    2121from zope.component.interfaces import IFactory
     22from zope.interface import implementedBy
    2223from waeup.sirp.students.interfaces import IStudentPaymentsContainer, IStudentNavigation
    23 from waeup.sirp.payments import PaymentsContainer
     24from waeup.sirp.payments import PaymentsContainer, OnlinePayment
     25from waeup.sirp.payments.interfaces import IOnlinePayment
    2426from waeup.sirp.utils.helpers import attrs_to_fields
    2527
     
    3840
    3941StudentPaymentsContainer = attrs_to_fields(StudentPaymentsContainer)
     42
     43class StudentOnlinePayment(OnlinePayment):
     44    """This is an online payment.
     45    """
     46    grok.implements(IOnlinePayment, IStudentNavigation)
     47    grok.provides(IOnlinePayment)
     48
     49    def __init__(self):
     50        super(StudentOnlinePayment, self).__init__()
     51        p_id = None
     52        return
     53
     54    def getStudent(self):
     55        return self.__parent__.__parent__
     56
     57StudentOnlinePayment = attrs_to_fields(StudentOnlinePayment)
     58
     59# Student online payments must be importable. So we might need a factory.
     60class StudentOnlinePaymentFactory(grok.GlobalUtility):
     61    """A factory for student online payments.
     62    """
     63    grok.implements(IFactory)
     64    grok.name(u'waeup.StudentOnlinePayment')
     65    title = u"Create a new online payment.",
     66    description = u"This factory instantiates new online payment instances."
     67
     68    def __call__(self, *args, **kw):
     69        return StudentOnlinePayment()
     70
     71    def getInterfaces(self):
     72        return implementedBy(StudentOnlinePayment)
Note: See TracChangeset for help on using the changeset viewer.