author | Sverre Rabbelier <srabbelier@gmail.com> |
Sat, 14 Feb 2009 20:23:18 +0000 | |
changeset 1325 | 8368086dd3a7 |
parent 1308 | 35b75ffcbb37 |
child 1698 | a8da5a620236 |
permissions | -rw-r--r-- |
643 | 1 |
#!/usr/bin/python2.5 |
2 |
# |
|
1308
35b75ffcbb37
Partially reverted "Update the copyright notice for 2009."
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1307
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
643 | 4 |
# |
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
|
6 |
# you may not use this file except in compliance with the License. |
|
7 |
# You may obtain a copy of the License at |
|
8 |
# |
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
|
10 |
# |
|
11 |
# Unless required by applicable law or agreed to in writing, software |
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
14 |
# See the License for the specific language governing permissions and |
|
15 |
# limitations under the License. |
|
16 |
||
771
0b1beae179f5
Typo and style fixes.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
769
diff
changeset
|
17 |
"""This module contains the Program Model. |
0b1beae179f5
Typo and style fixes.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
769
diff
changeset
|
18 |
""" |
643 | 19 |
|
20 |
__authors__ = [ |
|
21 |
'"Sverre Rabbelier" <sverre@rabbelier.nl>', |
|
22 |
] |
|
23 |
||
24 |
||
649 | 25 |
from google.appengine.ext import db |
26 |
||
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
27 |
from django.utils.translation import ugettext |
643 | 28 |
|
1053
3b9552cf748a
Rename the confusing Tossed Model class to PresenceWithToS.
Todd Larsen <tlarsen@google.com>
parents:
1052
diff
changeset
|
29 |
import soc.models.presence_with_tos |
766
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
30 |
import soc.models.timeline |
643 | 31 |
|
32 |
||
1053
3b9552cf748a
Rename the confusing Tossed Model class to PresenceWithToS.
Todd Larsen <tlarsen@google.com>
parents:
1052
diff
changeset
|
33 |
class Program(soc.models.presence_with_tos.PresenceWithToS): |
667
f96095df1433
Some more import sorting fixes and docstring typos in program modules and soc.views.helper.redirects module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
649
diff
changeset
|
34 |
"""The Program model, representing a Program ran by a Sponsor. |
643 | 35 |
""" |
36 |
||
649 | 37 |
#: Required field storing name of the group. |
38 |
name = db.StringProperty(required=True, |
|
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
39 |
verbose_name=ugettext('Name')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
40 |
name.help_text = ugettext('Complete, formal name of the program.') |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
41 |
name.example_text = ugettext( |
849
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
42 |
'<small><i>e.g.</i></small> <tt>Google Summer of Code 2009</tt>') |
649 | 43 |
|
44 |
#: Required field storing short name of the group. |
|
45 |
#: It can be used for displaying group as sidebar menu item. |
|
46 |
short_name = db.StringProperty(required=True, |
|
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
47 |
verbose_name=ugettext('Short name')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
48 |
short_name.help_text = ugettext('Short name used for sidebar menu') |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
49 |
short_name.example_text = ugettext( |
849
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
50 |
'<small><i>e.g.</i></small> <tt>GSoC 2009</tt>') |
649 | 51 |
|
688
125cad9596da
Changed generic_name to group_label in models/program.py.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
667
diff
changeset
|
52 |
#: Optional field used to relate it to other programs |
125cad9596da
Changed generic_name to group_label in models/program.py.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
667
diff
changeset
|
53 |
#: For example, GSoC would be a group label for GSoC2008/GSoC2009 |
125cad9596da
Changed generic_name to group_label in models/program.py.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
667
diff
changeset
|
54 |
group_label = db.StringProperty( |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
55 |
verbose_name=ugettext('Group label')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
56 |
group_label.help_text = ugettext( |
740
caa143c799a7
Added some example_text to program
Sverre Rabbelier <srabbelier@gmail.com>
parents:
688
diff
changeset
|
57 |
'Optional name used to relate this program to others.') |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
58 |
group_label.example_text = ugettext( |
849
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
59 |
'<small><i>e.g.</i></small> <tt>GSoC</tt>') |
649 | 60 |
|
61 |
#: Required field storing description of the group. |
|
62 |
description = db.TextProperty(required=True, |
|
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
63 |
verbose_name=ugettext('Description')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
64 |
description.example_text = ugettext( |
849
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
65 |
'<small><i>for example:</i></small><br>' |
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
66 |
'<tt><b>GSoC 2009</b> is the <i>Google Summer of Code</i>,' |
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
67 |
' but in <u>2009</u>!</tt><br><br>' |
c193ac0ef593
Support HTML tags in form field example_text column.
Todd Larsen <tlarsen@google.com>
parents:
771
diff
changeset
|
68 |
'<small><i>(rich text formatting is supported)</i></small>') |
769
a0ee643fe832
Added an elementary workflow choosing method to program creation.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
766
diff
changeset
|
69 |
|
911
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
70 |
#: Required field storing application/tasks limit of the program. |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
71 |
apps_tasks_limit = db.IntegerProperty(required=True, |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
72 |
verbose_name=ugettext('Application/Tasks Limit')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
73 |
apps_tasks_limit.example_text = ugettext( |
911
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
74 |
'<small><i>e.g.</i></small> ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
75 |
'<tt><b>20</b> is the student applications limit for <i>Google Summer ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
76 |
'of Code</i>, but <b>1</b> is the tasks limit that the student can work ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
77 |
'on at the same time during <i>GHOP</i></tt>') |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
78 |
|
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
79 |
#: Required field storing slots limit of the program. |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
80 |
slots = db.IntegerProperty(required=True, |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
81 |
verbose_name=ugettext('Slots')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
82 |
slots.example_text = ugettext( |
911
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
83 |
'<small><i>e.g.</i></small> ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
84 |
'<tt><b>500</b> might be an amount of slots for <i>Google Summer ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
85 |
'of Code</i>, which indicates how many students can be accepted ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
86 |
'to the program.<br>For <i>GHOP</i> this indicates how ' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
87 |
'many tasks can be completed.</tt>') |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
88 |
|
769
a0ee643fe832
Added an elementary workflow choosing method to program creation.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
766
diff
changeset
|
89 |
#: Required field storing the type of workflow this program has |
a0ee643fe832
Added an elementary workflow choosing method to program creation.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
766
diff
changeset
|
90 |
workflow = db.StringProperty(required=True, |
a0ee643fe832
Added an elementary workflow choosing method to program creation.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
766
diff
changeset
|
91 |
choices=['gsoc', 'ghop'], |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
92 |
verbose_name= ugettext('Workflow type')) |
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
93 |
workflow.example_text = ugettext( |
911
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
94 |
'<tt><b>Project-based</b> for GSoC workflow type,<br>' |
efce8ee13b19
Add slots and student applications/tasks limit integer properties to the Program model.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
849
diff
changeset
|
95 |
'<b>Task-based</b> for GHOP workflow type.</tt>') |
766
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
96 |
|
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
97 |
#: Required 1:1 relationship indicating the Program the Timeline |
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
98 |
#: belongs to. |
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
99 |
timeline = db.ReferenceProperty(reference_class=soc.models.timeline.Timeline, |
046b4b51eabf
Made Program reference Timeline
Sverre Rabbelier <srabbelier@gmail.com>
parents:
740
diff
changeset
|
100 |
required=True, collection_name="program", |
970
8b5611d5b053
Use ugettext instead of ugettext_lazy
Sverre Rabbelier <srabbelier@gmail.com>
parents:
911
diff
changeset
|
101 |
verbose_name=ugettext('Timeline')) |
1051
c532dd9def48
Create a new Tossed layer in the MVC
Sverre Rabbelier <srabbelier@gmail.com>
parents:
970
diff
changeset
|
102 |
|
1260
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
103 |
#: Whether the slots allocations are visible |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
104 |
allocations_visible = db.BooleanProperty(default=False, |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
105 |
verbose_name=ugettext('Slot allocations visible')) |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
106 |
allocations_visible.help_text = ugettext( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
107 |
'Field used to indicate if the slot allocations should be visible.') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
108 |
|
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
109 |
#: Document reference property used for the Org Admin Agreement |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
110 |
org_admin_agreement = db.ReferenceProperty( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
111 |
reference_class=soc.models.document.Document, |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
112 |
verbose_name=ugettext('Organization Admin Agreement'), |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
113 |
collection_name='org_admin_agreement') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
114 |
org_admin_agreement.help_text = ugettext( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
115 |
'Document containing optional Mentor Agreement for participating as a ' |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
116 |
'Organization admin.') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
117 |
|
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
118 |
#: Document reference property used for the Mentor Agreement |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
119 |
mentor_agreement = db.ReferenceProperty( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
120 |
reference_class=soc.models.document.Document, |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
121 |
verbose_name=ugettext('Mentor Agreement'), |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
122 |
collection_name='mentor_agreement') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
123 |
mentor_agreement.help_text = ugettext( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
124 |
'Document containing optional Mentor Agreement for participating as a ' |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
125 |
'Mentor.') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
126 |
|
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
127 |
#: Document reference property used for the Student Agreement |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
128 |
student_agreement = db.ReferenceProperty( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
129 |
reference_class=soc.models.document.Document, |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
130 |
verbose_name=ugettext('Student Agreement'), |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
131 |
collection_name='student_agreement') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
132 |
student_agreement.help_text = ugettext( |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
133 |
'Document containing optional Student Agreement for participating as a ' |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
134 |
'Student.') |
594c6b500378
Added Agreement properties to Program Model.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1107
diff
changeset
|
135 |
|
1107
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
136 |
#: Status of the program |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
137 |
#: Invisible: Program Stealth-Mode Visible to Hosts and Devs only |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
138 |
#: Visible: Visible to everyone. |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
139 |
#: Inactive: Not visible in sidebar but can be reached for date retention |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
140 |
#: Invalid: Not visible or editable by anyone |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
141 |
status = db.StringProperty(required=True, default='invisible', |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
142 |
verbose_name=ugettext('Program Status'), |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
143 |
choices=['invisible', 'visible', 'inactive', 'invalid']) |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
144 |
status.example_text = ugettext( |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
145 |
'<tt>Invisible: Program Stealth-Mode Visible to Hosts and Devs only.<br/>' |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
146 |
'Visible: Visible to everyone.<br/>' |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
147 |
'Inactive: Not visible in sidebar, not editable.<br/>' |
a878188e225c
Added status to program.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
1057
diff
changeset
|
148 |
'Invalid: Not visible or editable by anyone.</tt>') |