Ignore:
Timestamp:
16 Sep 2011, 08:26:25 (13 years ago)
Author:
Henrik Bettermann
Message:

Add CourseTicket? class.

  • work in progress -
File:
1 edited

Legend:

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

    r6775 r6781  
    2222from zope.component.interfaces import IFactory
    2323from waeup.sirp.students.interfaces import (
    24     IStudentStudyLevel, IStudentNavigation)
     24    IStudentStudyLevel, IStudentNavigation, ICourseTicket)
    2525from waeup.sirp.utils.helpers import attrs_to_fields
    2626from waeup.sirp.students.vocabularies import StudyLevelSource
     
    4545        return studylevelsource.factory.getTitle(self.__parent__, self.level)
    4646
     47    def addCourseTicket(self, courseticket):
     48        """Add a course ticket object.
     49        """
     50        if not ICourseTicket.providedBy(courseticket):
     51            raise TypeError(
     52                'StudentStudyLeves contain only ICourseTicket instances')
     53        self[str(courseticket.code)] = courseticket
     54        return
     55
    4756StudentStudyLevel = attrs_to_fields(StudentStudyLevel)
     57
     58class CourseTicket(grok.Model):
     59    """This is a course ticket which allows the
     60    student to attend the course. Lecturers will enter scores and more at
     61    the end of the term.
     62    """
     63    grok.implements(ICourseTicket, IStudentNavigation)
     64    grok.provides(ICourseTicket)
     65
     66    def __init__(self, code, title, course_level, core_or_elective):
     67        super(CourseTicket, self).__init__()
     68        self.title = title
     69        self.code = code
     70        self.course_level = course_level
     71        self.core_or_elective = core_or_elective
     72        return
     73
     74    def getStudent(self):
     75        return self.__parent__.__parent__.__parent__
     76
     77CourseTicket = attrs_to_fields(CourseTicket)
Note: See TracChangeset for help on using the changeset viewer.