author | Sverre Rabbelier <srabbelier@gmail.com> |
Fri, 30 Jan 2009 22:02:20 +0000 | |
changeset 1097 | 1f7015b33a0c |
parent 1095 | 0122dc66e5d2 |
child 1134 | 493e7b5d3ab2 |
permissions | -rw-r--r-- |
141
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
1 |
#!/usr/bin/python2.5 |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
2 |
# |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
3 |
# Copyright 2008 the Melange authors. |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
4 |
# |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
5 |
# Licensed under the Apache License, Version 2.0 (the "License"); |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
6 |
# you may not use this file except in compliance with the License. |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
7 |
# You may obtain a copy of the License at |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
8 |
# |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
9 |
# http://www.apache.org/licenses/LICENSE-2.0 |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
10 |
# |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
11 |
# Unless required by applicable law or agreed to in writing, software |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
12 |
# distributed under the License is distributed on an "AS IS" BASIS, |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
13 |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
14 |
# See the License for the specific language governing permissions and |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
15 |
# limitations under the License. |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
16 |
|
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
17 |
"""This module contains the Document Model.""" |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
18 |
|
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
19 |
__authors__ = [ |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
20 |
'"Pawel Solyga" <pawel.solyga@gmail.com>', |
1091
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
21 |
'"Sverre Rabbelier" <sverre@rabbelier.nl>', |
141
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
22 |
] |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
23 |
|
206
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
24 |
|
1091
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
25 |
from google.appengine.ext import db |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
26 |
|
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
27 |
from django.utils.translation import ugettext |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
28 |
|
206
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
29 |
import soc.models.work |
141
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
30 |
|
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:
141
diff
changeset
|
31 |
|
206
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
32 |
class Document(soc.models.work.Work): |
141
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
33 |
"""Model of a Document. |
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
34 |
|
206
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
35 |
Document is used for things like FAQs, front page text, etc. |
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
36 |
|
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
37 |
The specific way that the properties and relations inherited from Work |
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
38 |
are used with a Document are described below. |
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
39 |
|
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
40 |
work.title: the title of the Document |
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
41 |
|
832335761384
Make use of PolyModel for Works, Documents, etc. Add some (but not all) of
Todd Larsen <tlarsen@google.com>
parents:
181
diff
changeset
|
42 |
work.reviews: reviews of the Document by Reviewers |
141
e120c24b89e2
Added Melange front page edit view where you can change title, content, feed url. Created SiteSettings and Document models and some logic for them. Added isFeedURLValid function in soc/logic/feed.py. Created some functions for handling datastore updates of different kinds of Models (soc/logic/model.py). Fixed some typos and too long lines of code.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents:
diff
changeset
|
43 |
|
351
b37fc4c1e189
Eliminate the Work.abstract property and move the Document.content property
Todd Larsen <tlarsen@google.com>
parents:
342
diff
changeset
|
44 |
work.content: the rich-text contents of the Document |
b37fc4c1e189
Eliminate the Work.abstract property and move the Document.content property
Todd Larsen <tlarsen@google.com>
parents:
342
diff
changeset
|
45 |
""" |
936
b3e1e0c9649c
Enable pick links for all the references we have
Sverre Rabbelier <srabbelier@gmail.com>
parents:
385
diff
changeset
|
46 |
|
b3e1e0c9649c
Enable pick links for all the references we have
Sverre Rabbelier <srabbelier@gmail.com>
parents:
385
diff
changeset
|
47 |
URL_NAME = 'document' |
b3e1e0c9649c
Enable pick links for all the references we have
Sverre Rabbelier <srabbelier@gmail.com>
parents:
385
diff
changeset
|
48 |
|
1095
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
49 |
#: field storing the prefix of this document |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
50 |
prefix = db.StringProperty(default='user', |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
51 |
choices=['site','sponsor','program', 'club', 'organization', 'user'], |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
52 |
verbose_name=ugettext('Prefix')) |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
53 |
prefix.help_text = ugettext( |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
54 |
'Indicates the prefix of the document,' |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
55 |
' determines which access scheme is used.') |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
56 |
|
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
57 |
#: field storing the access status of this document |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
58 |
# wiki = any user can read and write the document |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
59 |
# public = any user can read, only restricted can write |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
60 |
# member = member can read, only restricted can write |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
61 |
# restricted = restricted can read, only admin can write |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
62 |
# admin = admin can read, only admin can write |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
63 |
# |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
64 |
# example meanings for an organisations: |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
65 |
# admin = ['org_admin'] |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
66 |
# restricted = ['org_admin', 'org_mentor'] |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
67 |
# member = ['org_admin', 'org_mentor', 'org_student'] |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
68 |
# public = anyone |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
69 |
# wiki = anyone |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
70 |
access_status = db.StringProperty(default='restricted', required=True, |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
71 |
choices=['admin','restricted', 'member', 'public', 'wiki'], |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
72 |
verbose_name=ugettext('Access type')) |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
73 |
access_status.help_text = ugettext( |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
74 |
'Indicates the state of the document, ' |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
75 |
'determines the access scheme.') |
0122dc66e5d2
Add access control to document model and view
Sverre Rabbelier <srabbelier@gmail.com>
parents:
1091
diff
changeset
|
76 |
|
1091
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
77 |
#: field storing whether a link to the Document should be featured in |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
78 |
#: the sidebar menu (and possibly elsewhere); FAQs, Terms of Service, |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
79 |
#: and the like are examples of "featured" Document |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
80 |
is_featured = db.BooleanProperty( |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
81 |
verbose_name=ugettext('Is Featured')) |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
82 |
is_featured.help_text = ugettext( |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
83 |
'Field used to indicate if a Work should be featured, for example,' |
0e648c690bb7
Moved is_featured property to Document
Sverre Rabbelier <srabbelier@gmail.com>
parents:
936
diff
changeset
|
84 |
' in the sidebar menu.') |