app/soc/views/site/home.py
changeset 314 dfaf249c12b2
parent 311 a2121c1143b2
child 317 87215136c268
equal deleted inserted replaced
313:c25b1b680ba7 314:dfaf249c12b2
    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