app/soc/models/reviewer.py
author Lennard de Rijk <ljvderijk@gmail.com>
Mon, 24 Aug 2009 18:44:41 +0200
changeset 2793 8c88226b27e7
parent 1308 35b75ffcbb37
permissions -rw-r--r--
Set default taking access for GradingProjectSurvey to org. This will allow Mentors and Org Admins to take GradingProjectSurveys in case that an Org Admin has no Mentor roles.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     2
#
1308
35b75ffcbb37 Partially reverted "Update the copyright notice for 2009."
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1307
diff changeset
     3
# Copyright 2008 the Melange authors.
15
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     4
#
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     8
# 
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    10
# 
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    16
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    17
"""This module contains the Reviewer Model."""
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    18
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    19
__authors__ = [
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    20
  '"Todd Larsen" <tlarsen@google.com>',
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    21
]
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    22
207
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    23
15
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    24
from google.appengine.ext import db
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    25
533
ba3309b2fd30 Move LINK_ID and SCOPE_PATH regular expressions to soc/models/linkable.py.
Todd Larsen <tlarsen@google.com>
parents: 207
diff changeset
    26
import soc.models.organization
207
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    27
import soc.models.role
15
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    28
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    29
207
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    30
class Reviewer(soc.models.role.Role):
15
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    31
  """Reviewer details for a specific Program.
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    32
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    33
  A Reviewer entity participates in the following relationships implemented 
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    34
  as a db.ReferenceProperty elsewhere in another db.Model:
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    35
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    36
   reviews)  an optional 1:many relationship of Reviews written by the
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    37
     Reviewer.  This relation is implemented as the 'reviews'
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    38
     back-reference Query of the Review model 'reviewer' reference.
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    39
  """
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    40
207
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    41
  #: A many:1 relationship associating Reviewers with specific Organization
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    42
  #: details and capabilities. The back-reference in the Organization model
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    43
  #: is a Query named 'reviewers'.
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    44
  org = db.ReferenceProperty(
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    45
      reference_class=soc.models.organization.Organization, 
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    46
      required=True, collection_name='reviewers')
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    47