app/soc/models/student.py
changeset 1374 ed12ed835755
parent 1308 35b75ffcbb37
child 1383 18383d2e5a5b
equal deleted inserted replaced
1373:178bd19966fe 1374:ed12ed835755
    21 ]
    21 ]
    22 
    22 
    23 
    23 
    24 from google.appengine.ext import db
    24 from google.appengine.ext import db
    25 
    25 
    26 import soc.models.contributor
    26 import soc.models.role
    27 import soc.models.school
       
    28 
    27 
    29 
    28 
    30 class Student(soc.models.contributor.Contributor):
    29 class Student(soc.models.role.Role):
    31   """Student Contributor details for a specific Program.
    30   """Student details for a specific Program.
    32 
       
    33   Some Students author Proposals to be reviewed by Reviewers (Mentors),
       
    34   followed by Hosts, who then convert them into Tasks (usually a single
       
    35   Task, in the case of GSoC).  In GSoC, this conversion of a Proposal into
       
    36   a Task grants the Student entry into the Program for that year, and is
       
    37   referred to as being "accepted".
       
    38 
       
    39   Other Students claim Proposals that were written by Reviewers (Mentors),
       
    40   converting them into Tasks (but only a single Task at a time can be
       
    41   claimed by a Student, in the case of GHOP).
       
    42   """
    31   """
    43 
    32   pass
    44   #: A required many:1 relationship that ties multiple Students to the
       
    45   #: School that they attend.  A Student cannot exist unassociated with
       
    46   #: a School.  The back-reference in the School model is a Query
       
    47   #: named 'students'.
       
    48   school = db.ReferenceProperty(reference_class=soc.models.school.School,
       
    49                                 required=True, collection_name='students')
       
    50