app/soc/models/administrator.py
author Todd Larsen <tlarsen@google.com>
Thu, 25 Sep 2008 17:17:11 +0000
changeset 202 b8b4a83788d4
parent 181 fdd29818a954
child 207 8ecc2e4198cd
permissions -rw-r--r--
A key_name controller module to collect all of the name...() functions that compose Model entity key names, plus some minor changes to other controller modules to illustrate the proposed use. Patch by: Todd Larsen Review by: Pawel Solyga Review URL: http://codereviews.googleopensourceprograms.com/804 Review URL: http://codereviews.googleopensourceprograms.com/804
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     2
#
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     4
#
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     8
# 
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    10
# 
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    16
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    17
"""This module contains the Administrator Model."""
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    18
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    19
__authors__ = [
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    20
  '"Todd Larsen" <tlarsen@google.com>',
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    21
  '"Sverre Rabbelier" <sverre@rabbelier.nl>',
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    22
]
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    23
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    24
from google.appengine.ext import db
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    25
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    26
from soc import models
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    27
from soc.models import base
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    28
import soc.models.org
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    29
import soc.models.person
11
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    30
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    31
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    32
class Administrator(base.ModelWithFieldAttributes):
11
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    33
  """Administrator details for a specific Program.
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    34
  """
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    35
  
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    36
  #: A 1:1 relationship associating an Administrator with specific
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    37
  #: Person details and capabilities. The back-reference in the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    38
  #: Person model is a Query named 'admin'.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    39
  person = db.ReferenceProperty(reference_class=soc.models.person.Person,
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    40
          required=True, collection_name="admin")
11
78502d4eb06e Initial implementation of the Administrator Model in the administrator.py module.
Sverre Rabbelier <srabbelier@gmail.com>
parents:
diff changeset
    41
181
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    42
  #: A many:1 relationship associating Administrators with specific
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    43
  #: Organization details and capabilities. The back-reference in the
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    44
  #: Organization model is a Query named 'admins'.
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    45
  org = db.ReferenceProperty(reference_class=soc.models.org.Organization, 
fdd29818a954 Remove Author model (use Person instead). Update models after removing Author. Add new Sponsor, Organization models.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 54
diff changeset
    46
          required=True, collection_name="admins")