author | Madhusudan C.S. <madhusudancs@gmail.com> |
Mon, 25 May 2009 23:42:56 +0200 | |
changeset 2347 | c5a397f57d65 |
permissions | -rw-r--r-- |
2347
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
2 |
# |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
3 |
# Copyright 2009 the Melange authors. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
4 |
# |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
7 |
# You may obtain a copy of the License at |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
8 |
# |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
10 |
# |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
15 |
# limitations under the License. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
16 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
17 |
"""This module contains the GHOP specific Program Model. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
18 |
""" |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
19 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
20 |
__authors__ = [ |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
21 |
'"Madhusudan.C.S" <madhusudancs@gmail.com>', |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
22 |
] |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
23 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
24 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
25 |
from google.appengine.ext import db |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
26 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
27 |
from django.utils.translation import ugettext |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
28 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
29 |
import soc.models.program |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
30 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
31 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
32 |
class GHOPProgram(soc.models.program.Program): |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
33 |
"""GHOP Program model extends the basic Program model. |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
34 |
""" |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
35 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
36 |
#: Property that contains the latest date of birth before which a Student |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
37 |
#: can participate |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
38 |
student_min_age = db.DateTimeProperty(required=False) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
39 |
student_min_age.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
40 |
'Minimum age of the student to sign-up. Given by the latest birthdate allowed') |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
41 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
42 |
#: Required property containing the number of Tasks Students can work |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
43 |
#: on simultaneously. For GHOP it is 1 |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
44 |
nr_simultaneous_tasks = db.IntegerProperty( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
45 |
required=True, default=1, |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
46 |
verbose_name=ugettext('Simultaneous tasks')) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
47 |
nr_simultaneous_tasks.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
48 |
'Number of tasks students can work on simultaneously in the program.') |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
49 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
50 |
#: Property containing the number of winners per Organization |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
51 |
nr_winners = db.IntegerProperty( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
52 |
required=True, default=0, |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
53 |
verbose_name=ugettext('Winners per organization')) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
54 |
nr_winners.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
55 |
'Number of winners an organization can announce.') |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
56 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
57 |
#: Property containing the number of runner ups per Organization |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
58 |
nr_runnerups = db.IntegerProperty( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
59 |
required=True, default=0, |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
60 |
verbose_name=ugettext('Runner-ups per organization')) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
61 |
nr_runnerups.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
62 |
'Number of runner-ups an organization can announce.') |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
63 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
64 |
#: A list of difficulty levels that can be assigned for each Task created |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
65 |
task_difficulties = db.StringListProperty( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
66 |
required=True, default=[''], |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
67 |
verbose_name=ugettext('Difficulty levels')) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
68 |
task_difficulties.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
69 |
'List all the difficulty levels that can be assigned to a task.') |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
70 |
|
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
71 |
#: A list of task types that a Task can belong to |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
72 |
task_types = db.StringListProperty( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
73 |
required=True, default=['Any'], |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
74 |
verbose_name=ugettext('Task Types')) |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
75 |
task_rypes.help_text = ugettext( |
c5a397f57d65
Added several models related to the GHOP workflow.
Madhusudan C.S. <madhusudancs@gmail.com>
parents:
diff
changeset
|
76 |
'List all the types a task can be in.') |