app/soc/views/site/docs/edit.py
changeset 294 1fdaab4a6ef2
parent 290 2a92b866ed40
child 298 c76a366c7ab4
equal deleted inserted replaced
293:1edd01373e71 294:1fdaab4a6ef2
    29 from django.utils.translation import ugettext_lazy
    29 from django.utils.translation import ugettext_lazy
    30 
    30 
    31 from soc.logic import document
    31 from soc.logic import document
    32 from soc.logic import out_of_band
    32 from soc.logic import out_of_band
    33 from soc.logic import path_linkname
    33 from soc.logic import path_linkname
       
    34 from soc.logic.helper import access
    34 from soc.logic.site import id_user
    35 from soc.logic.site import id_user
    35 from soc.views import helper
    36 from soc.views import helper
    36 import soc.views.helper.forms
    37 import soc.views.helper.forms
    37 import soc.views.helper.requests
    38 import soc.views.helper.requests
    38 import soc.views.helper.responses
    39 import soc.views.helper.responses
    90 
    91 
    91   Returns:
    92   Returns:
    92     A subclass of django.http.HttpResponse which either contains the form to
    93     A subclass of django.http.HttpResponse which either contains the form to
    93     be filled out, or a redirect to the correct view in the interface.
    94     be filled out, or a redirect to the correct view in the interface.
    94   """
    95   """
    95   # create default template context for use with any templates
    96 
       
    97   try:
       
    98     access.checkIsDeveloper(request)
       
    99   except  soc.logic.out_of_band.AccessViolationResponse, alt_response:
       
   100     return alt_response.response()
       
   101 
       
   102 # create default template context for use with any templates
    96   context = helper.responses.getUniversalContext(request)
   103   context = helper.responses.getUniversalContext(request)
    97 
       
    98   logged_in_id = users.get_current_user()
   104   logged_in_id = users.get_current_user()
    99   
       
   100   alt_response = simple.getAltResponseIfNotDeveloper(request, context, 
       
   101                                                      id=logged_in_id)
       
   102   if alt_response:
       
   103     # not a developer
       
   104     return alt_response
       
   105   
       
   106   alt_response = simple.getAltResponseIfNotLoggedIn(request, context, 
       
   107                                                     id=logged_in_id)
       
   108   if alt_response:
       
   109     # not logged in
       
   110     return alt_response
       
   111   
       
   112   alt_response = simple.getAltResponseIfNotUser(request, context, 
       
   113                                                 id = logged_in_id)
       
   114   if alt_response:
       
   115     # no existing User entity for logged in Google Account. User entity is 
       
   116     # required for creating Documents
       
   117     return alt_response
       
   118 
       
   119   alt_response = simple.getAltResponseIfNotDeveloper(request,
       
   120                                                      context=context)
       
   121   if alt_response:
       
   122     return alt_response
       
   123 
   105 
   124   doc = None  # assume that no Document entity will be found
   106   doc = None  # assume that no Document entity will be found
   125 
   107 
   126   path = path_linkname.combinePath([partial_path, linkname])
   108   path = path_linkname.combinePath([partial_path, linkname])
   127 
   109 
   239 
   221 
   240   Returns:
   222   Returns:
   241     A subclass of django.http.HttpResponse which either contains the form to
   223     A subclass of django.http.HttpResponse which either contains the form to
   242     be filled out, or a redirect to the correct view in the interface.
   224     be filled out, or a redirect to the correct view in the interface.
   243   """
   225   """
       
   226 
       
   227   try:
       
   228     access.checkIsDeveloper(request)
       
   229   except  soc.logic.out_of_band.AccessViolationResponse, alt_response:
       
   230     return alt_response.response()
       
   231 
   244   # create default template context for use with any templates
   232   # create default template context for use with any templates
   245   context = helper.responses.getUniversalContext(request)
   233   context = helper.responses.getUniversalContext(request)
   246 
       
   247   logged_in_id = users.get_current_user()
   234   logged_in_id = users.get_current_user()
   248 
   235 
   249   alt_response = simple.getAltResponseIfNotDeveloper(request,
       
   250                                                      context=context,
       
   251                                                      id=logged_in_id)
       
   252   if alt_response:
       
   253     return alt_response
       
   254 
       
   255   alt_response = simple.getAltResponseIfNotDeveloper(request,
       
   256                                                      context=context)
       
   257   if alt_response:
       
   258     return alt_response
       
   259   if request.method == 'POST':
   236   if request.method == 'POST':
   260     form = CreateForm(request.POST)
   237     form = CreateForm(request.POST)
   261 
   238 
   262     if form.is_valid():
   239     if form.is_valid():
   263       new_partial_path = form.cleaned_data.get('partial_path')
   240       new_partial_path = form.cleaned_data.get('partial_path')