26 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
26 '"Pawel Solyga" <pawel.solyga@gmail.com>', |
27 ] |
27 ] |
28 |
28 |
29 |
29 |
30 from google.appengine.api import users |
30 from google.appengine.api import users |
|
31 from google.appengine.ext import db |
31 |
32 |
32 from django import http |
33 from django import http |
33 from django import shortcuts |
34 from django import shortcuts |
34 from django import newforms as forms |
35 from django import newforms as forms |
35 |
36 |
36 |
|
37 import soc.logic.models.settings |
|
38 from soc.logic import models |
37 from soc.logic import models |
39 from soc.logic import out_of_band |
38 from soc.logic import out_of_band |
40 from soc.logic import validate |
39 from soc.logic import validate |
41 from soc.logic.models import document |
40 from soc.logic.models import document |
42 from soc.logic.site import id_user |
41 from soc.logic.site import id_user |
43 from soc.views import simple |
42 from soc.views import simple |
44 from soc.views import helper |
43 from soc.views import helper |
45 from soc.views.helper import access |
44 from soc.views.helper import access |
46 import soc.views.out_of_band |
45 |
|
46 import soc.logic.models.settings |
|
47 import soc.models.document |
|
48 import soc.models.site_settings |
47 import soc.views.helper.forms |
49 import soc.views.helper.forms |
48 import soc.views.helper.responses |
50 import soc.views.helper.responses |
49 import soc.views.helper.templates |
51 import soc.views.helper.templates |
50 import soc.views.helper.widgets |
52 import soc.views.helper.widgets |
51 |
53 import soc.views.out_of_band |
52 import soc.models.site_settings |
|
53 import soc.models.document |
|
54 |
54 |
55 |
55 |
56 class DocumentForm(helper.forms.DbModelForm): |
56 class DocumentForm(helper.forms.DbModelForm): |
57 content = forms.fields.CharField(widget=helper.widgets.TinyMCE()) |
57 content = forms.fields.CharField(widget=helper.widgets.TinyMCE()) |
58 |
58 |
112 |
112 |
113 site_settings = soc.logic.models.settings.logic.getFromFields(path=DEF_SITE_SETTINGS_PATH) |
113 site_settings = soc.logic.models.settings.logic.getFromFields(path=DEF_SITE_SETTINGS_PATH) |
114 |
114 |
115 if site_settings: |
115 if site_settings: |
116 context['site_settings'] = site_settings |
116 context['site_settings'] = site_settings |
117 site_doc = site_settings.home |
117 |
|
118 # check if ReferenceProperty to home Document is valid |
|
119 try: |
|
120 site_doc = site_settings.home |
|
121 except db.Error: |
|
122 site_doc = None |
118 |
123 |
119 if site_doc: |
124 if site_doc: |
120 site_doc.content = helper.templates.unescape(site_doc.content) |
125 site_doc.content = helper.templates.unescape(site_doc.content) |
121 context['site_document'] = site_doc |
126 context['site_document'] = site_doc |
122 |
127 |
183 path=DEF_SITE_SETTINGS_PATH) |
188 path=DEF_SITE_SETTINGS_PATH) |
184 |
189 |
185 if site_settings: |
190 if site_settings: |
186 # populate form with the existing SiteSettings entity |
191 # populate form with the existing SiteSettings entity |
187 settings_form = SiteSettingsForm(instance=site_settings) |
192 settings_form = SiteSettingsForm(instance=site_settings) |
188 site_doc = site_settings.home |
193 |
|
194 # check if ReferenceProperty to home Document is valid |
|
195 try: |
|
196 site_doc = site_settings.home |
|
197 except db.Error: |
|
198 site_doc = None |
|
199 |
189 else: |
200 else: |
190 # no SiteSettings entity exists for this key_name, so show a blank form |
201 # no SiteSettings entity exists for this key_name, so show a blank form |
191 settings_form = SiteSettingsForm() |
202 settings_form = SiteSettingsForm() |
192 site_doc = None |
203 site_doc = None |
193 |
204 |