Beispiel #1
0
    def post(self):
#        if not self.check_user():
#            return

        file_id = self.request.get("id")
        file = self.get_file( file_id )
        if file is None:
            self.response.out.write(file_id + " not found")
            return

        if self.get_file_permission(file) < base.ACCESS_WRITE:
            self.response.out.write("permission denied")
            return

        new_text = self.request.get('content')

        self.log_info("new_text = " + new_text)

        if self.has_text_changed(file, new_text):
            revision = Revision()
            revision.author     = self.get_current_user()
            revision.content    = new_text
            revision.file       = file
            revision.prev       = file.head
            revision.put()
            
            file.head = revision
            file.put()
Beispiel #2
0
def edit(request, name):
    """Allows users to edit wiki pages."""
    try:
        page = Page.objects.get(name=name)
    except Page.DoesNotExist:
        page = None

    if request.method == 'POST':
        form = PageForm(request.POST)
        if form.is_valid():
            if not page:
                page = Page()
            page.name = form.cleaned_data['name']
            page.save()

            revision = Revision()
            revision.page = page
            revision.content = form.cleaned_data['content']
            if request.user.is_authenticated():
                revision.editor = request.user
            revision.save()
            return HttpResponseRedirect(page.get_absolute_url())
    else:
        if page:
            revision = page.get_latest_revision()
            form = PageForm(initial={'name': page.name, 'content': revision.content})
        else:
            form = PageForm(initial={'name': name})

    ctx = { 'form': form }
    return render_to_response('wiki/edit.html', ctx, context_instance=RequestContext(request))
Beispiel #3
0
    def post(self):
        #        if not self.check_user():
        #            return

        file_id = self.request.get("id")
        file = self.get_file(file_id)
        if file is None:
            self.response.out.write(file_id + " not found")
            return

        if self.get_file_permission(file) < base.ACCESS_WRITE:
            self.response.out.write("permission denied")
            return

        new_text = self.request.get('content')

        self.log_info("new_text = " + new_text)

        if self.has_text_changed(file, new_text):
            revision = Revision()
            revision.author = self.get_current_user()
            revision.content = new_text
            revision.file = file
            revision.prev = file.head
            revision.put()

            file.head = revision
            file.put()