app/soc/models/contributor.py
changeset 207 8ecc2e4198cd
parent 181 fdd29818a954
child 385 6d410bf49a82
equal deleted inserted replaced
206:832335761384 207:8ecc2e4198cd
    19 __authors__ = [
    19 __authors__ = [
    20   '"Todd Larsen" <tlarsen@google.com>',
    20   '"Todd Larsen" <tlarsen@google.com>',
    21   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    21   '"Sverre Rabbelier" <sverre@rabbelier.nl>',
    22 ]
    22 ]
    23 
    23 
       
    24 
    24 from google.appengine.ext import db
    25 from google.appengine.ext import db
    25 
    26 
    26 from soc import models
    27 import soc.models.role
    27 from soc.models import base
       
    28 import soc.models.person
       
    29 
    28 
    30 
    29 
    31 class Contributor(base.ModelWithFieldAttributes):
    30 class Contributor(soc.models.role.Role):
    32   """Contributor details for a specific Program.
    31   """Contributor details for a specific Program.
    33 
    32 
    34   Some Contributor workflows have the Contributor (acting as an author)
    33   Some Contributor workflows have the Contributor (acting as an author)
    35   creating Proposals and desiring for one (or more?) of them to be
    34   creating Proposals and desiring for one (or more?) of them to be
    36   converted into Tasks by Reviewers and Hosts.  Other workflows have the
    35   converted into Tasks by Reviewers and Hosts.  Other workflows have the
    42 
    41 
    43    tasks)  a many:many relationship associating all of the Tasks to which
    42    tasks)  a many:many relationship associating all of the Tasks to which
    44      a specific Contributor has contributed with that Contributor.  See
    43      a specific Contributor has contributed with that Contributor.  See
    45      the TasksContributors model for details.
    44      the TasksContributors model for details.
    46   """
    45   """
    47   
    46   pass 
    48   #: a 1:1 relationship associating a Contributor with generic Author
    47 
    49   #: details and capabilities. The back-reference in the Author
       
    50   #: model is a Query named 'contributor'.
       
    51   person = db.ReferenceProperty(reference_class=models.person.Person, 
       
    52                                 required=True, 
       
    53                                 collection_name="contributor")