equal
deleted
inserted
replaced
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") |
|