app/soc/views/site/home.py
changeset 309 7190b224c701
parent 305 972d28056d9d
child 311 a2121c1143b2
equal deleted inserted replaced
308:740090cd17c9 309:7190b224c701
    31 
    31 
    32 from django import http
    32 from django import http
    33 from django import shortcuts
    33 from django import shortcuts
    34 from django import newforms as forms
    34 from django import newforms as forms
    35 
    35 
    36 import soc.logic
    36 
       
    37 import soc.logic.models.settings
       
    38 from soc.logic import models
    37 from soc.logic import out_of_band
    39 from soc.logic import out_of_band
    38 from soc.logic import validate
    40 from soc.logic import validate
       
    41 from soc.logic.models import document
    39 from soc.logic.site import id_user
    42 from soc.logic.site import id_user
    40 from soc.views import simple
    43 from soc.views import simple
    41 from soc.views import helper
    44 from soc.views import helper
    42 from soc.views.helper import access
    45 from soc.views.helper import access
    43 import soc.views.out_of_band
    46 import soc.views.out_of_band
   105     A subclass of django.http.HttpResponse with generated template.
   108     A subclass of django.http.HttpResponse with generated template.
   106   """
   109   """
   107   # create default template context for use with any templates
   110   # create default template context for use with any templates
   108   context = helper.responses.getUniversalContext(request)
   111   context = helper.responses.getUniversalContext(request)
   109   
   112   
   110   site_settings = soc.logic.settings_logic.getFromFields(path=DEF_SITE_SETTINGS_PATH)
   113   site_settings = soc.logic.models.settings.logic.getFromFields(path=DEF_SITE_SETTINGS_PATH)
   111 
   114 
   112   if site_settings:
   115   if site_settings:
   113     context['site_settings'] = site_settings
   116     context['site_settings'] = site_settings
   114     site_doc = site_settings.home
   117     site_doc = site_settings.home
   115   
   118   
   150 
   153 
   151     if document_form.is_valid() and settings_form.is_valid():
   154     if document_form.is_valid() and settings_form.is_valid():
   152       link_name = DEF_SITE_HOME_DOC_LINK_NAME
   155       link_name = DEF_SITE_HOME_DOC_LINK_NAME
   153       partial_path=DEF_SITE_SETTINGS_PATH
   156       partial_path=DEF_SITE_SETTINGS_PATH
   154       logged_in_id = users.get_current_user()
   157       logged_in_id = users.get_current_user()
   155       user = soc.logic.user_logic.getFromFields(email=logged_in_id)
   158       user = models.user.logic.getFromFields(email=logged_in_id)
   156 
   159 
   157       properties = {
   160       properties = {
   158         title : document_form.cleaned_data.get('title'),
   161         title : document_form.cleaned_data.get('title'),
   159         short_name : document_form.cleaned_data.get('short_name'),
   162         short_name : document_form.cleaned_data.get('short_name'),
   160         abstract : document_form.cleaned_data.get('abstract'),
   163         abstract : document_form.cleaned_data.get('abstract'),
   163         partial_path : partial_path,
   166         partial_path : partial_path,
   164         id : logged_in_id,
   167         id : logged_in_id,
   165         user : user,
   168         user : user,
   166       }
   169       }
   167 
   170 
   168       site_doc = soc.logic.document_logic.updateOrCreateFromFields(
   171       site_doc = document.logic.updateOrCreateFromFields(
   169           properties, partial_path=partial_path, link_name=link_name)
   172           properties, partial_path=partial_path, link_name=link_name)
   170       
   173       
   171       feed_url = settings_form.cleaned_data.get('feed_url')
   174       feed_url = settings_form.cleaned_data.get('feed_url')
   172 
   175 
   173       site_settings = soc.logic.settings_logic.updateOrCreateFromFields(
   176       site_settings = models.settings.logic.updateOrCreateFromFields(
   174           {'feed_url' : feed_url, 'home' : site_doc}, path=DEF_SITE_SETTINGS_PATH)
   177           {'feed_url' : feed_url, 'home' : site_doc}, path=DEF_SITE_SETTINGS_PATH)
   175       
   178       
   176       context['notice'] = 'Site Settings saved.'
   179       context['notice'] = 'Site Settings saved.'
   177   else: # request.method == 'GET'
   180   else: # request.method == 'GET'
   178     # try to fetch SiteSettings entity by unique key_name
   181     # try to fetch SiteSettings entity by unique key_name
   179     site_settings = soc.logic.settings_logic.getFromFields(
   182     site_settings = models.settings.logic.getFromFields(
   180         path=DEF_SITE_SETTINGS_PATH)
   183         path=DEF_SITE_SETTINGS_PATH)
   181 
   184 
   182     if site_settings:
   185     if site_settings:
   183       # populate form with the existing SiteSettings entity
   186       # populate form with the existing SiteSettings entity
   184       settings_form = SiteSettingsForm(instance=site_settings)
   187       settings_form = SiteSettingsForm(instance=site_settings)