app/soc/models/org_admin.py
author Lennard de Rijk <ljvderijk@gmail.com>
Mon, 24 Aug 2009 18:44:41 +0200
changeset 2793 8c88226b27e7
parent 2588 db306bbda381
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:
1112
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     2
#
1307
091a21cf3627 Update the copyright notice for 2009.
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1261
diff changeset
     3
# Copyright 2009 the Melange authors.
1112
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     4
#
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     8
# 
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    10
# 
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    16
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    17
"""This module contains the Organization Administrator Model."""
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    18
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    19
__authors__ = [
1387
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    20
  '"Lennard de Rijk" <ljvderijk@gmail.com>',
1989
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    21
  '"Sverre Rabbelier" <sverre@rabbelier.nl>',
1112
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    22
  '"Pawel Solyga" <pawel.solyga@gmail.com>',
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    23
]
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    24
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    25
1387
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    26
from google.appengine.ext import db
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    27
1989
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    28
from django.utils.translation import ugettext
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    29
1387
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    30
import soc.models.program
1112
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    31
import soc.models.role
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    32
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    33
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    34
class OrgAdmin(soc.models.role.Role):
1261
95b858816568 Fixed a typo in org_admin model.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1112
diff changeset
    35
  """Administrator details for a specific Organization.
1112
1a6eec8222e9 Add Organization Administrator model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff changeset
    36
  """
1387
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    37
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    38
  #: A required property that defines the program that this org admin works for
857e6cc8ebc1 Added required program property to org_admin and mentor.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 1307
diff changeset
    39
  program = db.ReferenceProperty(reference_class=soc.models.program.Program,
2588
db306bbda381 Indention fixes and adding "reference_class=" in ReferenceProperty params.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1989
diff changeset
    40
                                 required=True, collection_name='org_admins')
1989
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    41
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    42
  can_we_contact_you = db.BooleanProperty(verbose_name=ugettext(
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    43
      'Can we contact you?'))
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    44
  can_we_contact_you.help_text = ugettext(
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    45
      'Please check here if you would not mind being contacted by the Program'
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    46
      ' Administrators for follow up with members of the press who would like'
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    47
      ' to interview you about the program.')
3fa3384b5378 Added a 'Can we contact you' property
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1387
diff changeset
    48
  can_we_contact_you.group = ugettext("2. Contact Info (Private)")