app/soc/models/reviewer.py
author Todd Larsen <tlarsen@google.com>
Tue, 14 Oct 2008 21:39:57 +0000
changeset 329 2d90d49ce78a
parent 207 8ecc2e4198cd
child 533 ba3309b2fd30
permissions -rw-r--r--
Add is_featured boolean property to the Work model, so that Works can be designated as "featured" items in various places in the UI. This will be used to allow Sponsors, Programs, and Organizations to select Documents that should be included in their sidebar menus. Perhaps featured "site" Documents, such as site-wide Terms of Service, should probably be listed below the "User (sign-out)" menu, since the User will have to read and agree to these before being allowed to use the site. A collapsable Javascript sidebar is probably going to be needed soon... Patch by: Todd Larsen Review 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
207
8ecc2e4198cd Take advantage of the Model inheritance provided by polymodel.PolyModel to
Todd Larsen <tlarsen@google.com>
parents: 181
diff changeset
    26
import soc.models.role
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.organization
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