app/soc/views/site/docs/edit.py
author Todd Larsen <tlarsen@google.com>
Fri, 03 Oct 2008 22:17:05 +0000
changeset 269 0f1acc4c3e1e
parent 267 0c008a43443b
child 271 01e90bb21b7e
permissions -rw-r--r--
Move helpers/request.py to helper/requests.py to avoid conflict with common local variable name "request". Patch by: Todd Larsen Review by: to-be-reviewed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     2
#
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     4
#
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     8
#
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    10
#
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    15
# limitations under the License.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    16
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    17
"""Developer views for editing and examining Documents.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    18
"""
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    19
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    20
__authors__ = [
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    21
  '"Todd Larsen" <tlarsen@google.com>',
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    22
  ]
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    23
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    24
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    25
from google.appengine.api import users
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    26
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    27
from django import http
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    28
from django import newforms as forms
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    29
from django.utils.translation import ugettext_lazy
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    30
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    31
from soc.logic import document
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    32
from soc.logic import out_of_band
251
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
    33
from soc.logic import path_linkname
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    34
from soc.logic.site import id_user
269
0f1acc4c3e1e Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents: 267
diff changeset
    35
from soc.views import helper
0f1acc4c3e1e Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents: 267
diff changeset
    36
import soc.views.helper.requests
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    37
from soc.views import simple
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    38
from soc.views.helpers import custom_widgets
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    39
from soc.views.helpers import forms_helpers
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    40
from soc.views.helpers import response_helpers
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    41
from soc.views.user import profile
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    42
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    43
import soc.models.document
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    44
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    45
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    46
class EditForm(forms_helpers.DbModelForm):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    47
  """Django form displayed when Developer edits a Document.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    48
  """
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    49
  doc_key_name = forms.CharField(widget=forms.HiddenInput)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    50
  content = forms.fields.CharField(widget=custom_widgets.TinyMCE())
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    51
  
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    52
  class Meta:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    53
    model = soc.models.document.Document
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    54
    
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    55
    #: list of model fields which will *not* be gathered by the form
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    56
    exclude = ['inheritance_line', 'user', 'created', 'modified']
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    57
 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    58
  def clean_partial_path(self):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    59
    partial_path = self.cleaned_data.get('partial_path')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    60
    # TODO(tlarsen): combine path and link_name and check for uniqueness
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    61
    return partial_path
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    62
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    63
  def clean_link_name(self):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    64
    link_name = self.cleaned_data.get('link_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    65
    # TODO(tlarsen): combine path and link_name and check for uniqueness
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    66
    return link_name
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    67
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    68
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    69
DEF_SITE_DOCS_EDIT_TMPL = 'soc/site/docs/edit.html'
247
4997b54b0400 Fixed typo in DEF_CREATE_NEW_DOC_MSG.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 237
diff changeset
    70
DEF_CREATE_NEW_DOC_MSG = ' You can create a new document by visiting the' \
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    71
                         ' <a href="/site/docs/edit">Create ' \
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    72
                         'a New Document</a> page.'
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    73
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    74
def edit(request, partial_path=None, linkname=None,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    75
         template=DEF_SITE_DOCS_EDIT_TMPL):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    76
  """View for a Developer to modify the properties of a Document Model entity.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    77
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    78
  Args:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    79
    request: the standard django request object
251
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
    80
    partial_path: the Document's site-unique "path" extracted from the URL,
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
    81
      minus the trailing link_name
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
    82
    link_name: the last portion of the Document's site-unique "path"
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
    83
      extracted from the URL
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    84
    template: the "sibling" template (or a search list of such templates)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    85
      from which to construct the public.html template name (or names)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    86
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    87
  Returns:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    88
    A subclass of django.http.HttpResponse which either contains the form to
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    89
    be filled out, or a redirect to the correct view in the interface.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    90
  """
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    91
  # create default template context for use with any templates
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    92
  context = response_helpers.getUniversalContext(request)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    93
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    94
  logged_in_id = users.get_current_user()
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    95
  
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    96
  alt_response = simple.getAltResponseIfNotDeveloper(request, context, 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    97
                                                     id=logged_in_id)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    98
  if alt_response:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
    99
    # not a developer
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   100
    return alt_response
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   101
  
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   102
  alt_response = simple.getAltResponseIfNotLoggedIn(request, context, 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   103
                                                    id=logged_in_id)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   104
  if alt_response:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   105
    # not logged in
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   106
    return alt_response
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   107
  
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   108
  alt_response = simple.getAltResponseIfNotUser(request, context, 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   109
                                                id = logged_in_id)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   110
  if alt_response:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   111
    # no existing User entity for logged in Google Account. User entity is 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   112
    # required for creating Documents
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   113
    return alt_response
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   114
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   115
  alt_response = simple.getAltResponseIfNotDeveloper(request,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   116
                                                     context=context)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   117
  if alt_response:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   118
    return alt_response
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   119
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   120
  doc = None  # assume that no Document entity will be found
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   121
251
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
   122
  path = path_linkname.combinePath([partial_path, linkname])
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   123
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   124
  # try to fetch Document entity corresponding to path if one exists    
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   125
  try:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   126
    doc = document.getDocumentIfPath(path)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   127
  except out_of_band.ErrorResponse, error:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   128
    # show custom 404 page when path doesn't exist in Datastore
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   129
    error.message = error.message + DEF_CREATE_NEW_DOC_MSG
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   130
    return simple.errorResponse(request, error, template, context)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   131
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   132
  if request.method == 'POST':
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   133
    form = EditForm(request.POST)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   134
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   135
    if form.is_valid():
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   136
      new_partial_path = form.cleaned_data.get('partial_path')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   137
      new_linkname = form.cleaned_data.get('link_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   138
      title = form.cleaned_data.get('title')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   139
      short_name = form.cleaned_data.get('short_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   140
      abstract = form.cleaned_data.get('abstract')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   141
      content = form.cleaned_data.get('content')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   142
      doc_key_name = form.cleaned_data.get('doc_key_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   143
      
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   144
      doc = soc.logic.document.updateOrCreateDocument(
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   145
          partial_path=new_partial_path, link_name=new_linkname,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   146
          title=title, short_name=short_name, abstract=abstract,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   147
          content=content, user=id_user.getUserFromId(logged_in_id))
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   148
      
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   149
      if not doc:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   150
        return http.HttpResponseRedirect('/')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   151
251
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
   152
      new_path = path_linkname.combinePath([new_partial_path, new_linkname])
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   153
        
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   154
      # redirect to new /site/docs/edit/new_path?s=0
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   155
      # (causes 'Profile saved' message to be displayed)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   156
      return response_helpers.redirectToChangedSuffix(
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   157
          request, path, new_path,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   158
          params=profile.SUBMIT_PROFILE_SAVED_PARAMS)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   159
  else: # method == 'GET':
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   160
    # try to fetch Document entity corresponding to path if one exists
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   161
    if path:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   162
      if doc:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   163
        # is 'Profile saved' parameter present, but referrer was not ourself?
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   164
        # (e.g. someone bookmarked the GET that followed the POST submit) 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   165
        if (request.GET.get(profile.SUBMIT_MSG_PARAM_NAME)
269
0f1acc4c3e1e Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents: 267
diff changeset
   166
            and (not helper.requests.isReferrerSelf(request, suffix=path))):
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   167
          # redirect to aggressively remove 'Profile saved' query parameter
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   168
          return http.HttpResponseRedirect(request.path)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   169
    
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   170
        # referrer was us, so select which submit message to display
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   171
        # (may display no message if ?s=0 parameter is not present)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   172
        context['submit_message'] = (
269
0f1acc4c3e1e Move helpers/request.py to helper/requests.py to avoid conflict with common
Todd Larsen <tlarsen@google.com>
parents: 267
diff changeset
   173
            helper.requests.getSingleIndexedParamValue(
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   174
                request, profile.SUBMIT_MSG_PARAM_NAME,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   175
                values=profile.SUBMIT_MESSAGES))
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   176
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   177
        # populate form with the existing User entity
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   178
        form = EditForm(initial={'doc_key_name': doc.key().name(),
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   179
            'title': doc.title, 'partial_path': doc.partial_path,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   180
            'link_name': doc.link_name, 'short_name': doc.short_name,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   181
            'abstract': doc.abstract, 'content': doc.content,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   182
            'user': doc.user})       
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   183
      else:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   184
        if request.GET.get(profile.SUBMIT_MSG_PARAM_NAME):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   185
          # redirect to aggressively remove 'Profile saved' query parameter
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   186
          return http.HttpResponseRedirect(request.path)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   187
          
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   188
        context['lookup_error'] = ugettext_lazy(
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   189
            'Document with that path not found.')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   190
        form = EditForm(initial={'link_name': linkname})
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   191
    else:  # no link name specified in the URL
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   192
      if request.GET.get(profile.SUBMIT_MSG_PARAM_NAME):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   193
        # redirect to aggressively remove 'Profile saved' query parameter
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   194
        return http.HttpResponseRedirect(request.path)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   195
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   196
      # no link name specified, so start with an empty form
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   197
      form = EditForm()
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   198
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   199
  context.update({'form': form,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   200
                  'existing_doc': doc})
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   201
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   202
  return response_helpers.respond(request, template, context)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   203
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   204
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   205
class CreateForm(forms_helpers.DbModelForm):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   206
  """Django form displayed when Developer creates a Document.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   207
  """
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   208
  doc_key_name = forms.CharField(widget=forms.HiddenInput)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   209
  content = forms.fields.CharField(widget=custom_widgets.TinyMCE())
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   210
  
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   211
  class Meta:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   212
    model = soc.models.document.Document
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   213
    
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   214
    #: list of model fields which will *not* be gathered by the form
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   215
    exclude = ['inheritance_line', 'user', 'created', 'modified']
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   216
 
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   217
  def clean_partial_path(self):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   218
    partial_path = self.cleaned_data.get('partial_path')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   219
    # TODO(tlarsen): combine path and link_name and check for uniqueness
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   220
    return partial_path
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   221
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   222
  def clean_link_name(self):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   223
    link_name = self.cleaned_data.get('link_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   224
    # TODO(tlarsen): combine path and link_name and check for uniqueness
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   225
    return link_name
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   226
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   227
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   228
DEF_SITE_DOCS_CREATE_TMPL = 'soc/site/docs/edit.html'
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   229
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   230
def create(request, template=DEF_SITE_DOCS_CREATE_TMPL):
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   231
  """View for a Developer to create a new Document entity.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   232
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   233
  Args:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   234
    request: the standard django request object
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   235
    template: the "sibling" template (or a search list of such templates)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   236
      from which to construct the public.html template name (or names)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   238
  Returns:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   239
    A subclass of django.http.HttpResponse which either contains the form to
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   240
    be filled out, or a redirect to the correct view in the interface.
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   241
  """
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   242
  # create default template context for use with any templates
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   243
  context = response_helpers.getUniversalContext(request)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   244
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   245
  alt_response = simple.getAltResponseIfNotDeveloper(request,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   246
                                                     context=context)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   247
  if alt_response:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   248
    return alt_response
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   249
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   250
  if request.method == 'POST':
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   251
    form = CreateForm(request.POST)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   252
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   253
    if form.is_valid():
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   254
      new_partial_path = form.cleaned_data.get('partial_path')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   255
      new_linkname = form.cleaned_data.get('link_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   256
      title = form.cleaned_data.get('title')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   257
      short_name = form.cleaned_data.get('short_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   258
      abstract = form.cleaned_data.get('abstract')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   259
      content = form.cleaned_data.get('content')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   260
      doc_key_name = form.cleaned_data.get('doc_key_name')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   261
      
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   262
      doc = soc.logic.document.updateOrCreateDocument(
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   263
          partial_path=new_partial_path, link_name=new_linkname,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   264
          title=title, short_name=short_name, abstract=abstract,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   265
          content=content, user=id_user.getUserFromId(logged_in_id))
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   266
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   267
      if not doc:
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   268
        return http.HttpResponseRedirect('/')
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   269
251
8f23804302d0 Move path and link_name related functions and regex patterns to a new
Todd Larsen <tlarsen@google.com>
parents: 247
diff changeset
   270
      new_path = path_linkname.combinePath([new_partial_path, new_linkname])
237
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   271
        
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   272
      # redirect to new /site/docs/edit/new_path?s=0
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   273
      # (causes 'Profile saved' message to be displayed)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   274
      return response_helpers.redirectToChangedSuffix(
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   275
          request, None, new_path,
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   276
          params=profile.SUBMIT_PROFILE_SAVED_PARAMS)
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   277
  else: # method == 'GET':
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   278
    # no link name specified, so start with an empty form
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   279
    form = CreateForm()
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   280
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   281
  context.update({'form': form})
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   282
d360162714b6 Implements a Site (Developer) generic Document editor form.
Todd Larsen <tlarsen@google.com>
parents:
diff changeset
   283
  return response_helpers.respond(request, template, context)