app/soc/models/reviewer.py
author Lennard de Rijk <ljvderijk@gmail.com>
Sun, 01 Feb 2009 17:14:42 +0000
changeset 1157 76e2ed09661c
parent 533 ba3309b2fd30
child 1307 091a21cf3627
permissions -rw-r--r--
Added status property to the user model. This is to accommodate the ability to exclude users from using the website. Note that since the access modules is currently undergoing some reconstruction changing the status will not actually effect the User yet. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed
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
#
6200e66bb046 Initial implementation of the Reviewer Model in the reviewer.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
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