Beispiel #1
0
def oneliner_edit(request, pk):
    params = _common_params(request)
    params['cancel_url'] = reverse(oneliner, args=(pk, ))

    try:
        oneliner0 = OneLiner.objects.get(pk=pk, user=request.user)
        oneliner0.score = sum([x.value for x in oneliner0.vote_set.all()])
    except OneLiner.DoesNotExist:
        return render_to_response('oneliners/pages/access_error.html', params)

    if request.method == 'POST':
        form = EditOneLinerForm(request.user, request.POST, instance=oneliner0)
        if form.is_valid():
            if form.is_save:
                oneliner1 = form.save()
                if oneliner1.is_published:
                    tweet(oneliner1, format_canonical_url(request))
                return redirect(oneliner1)
            elif form.is_delete:
                oneliner0.delete()
                return redirect(profile)
    else:
        form = EditOneLinerForm(request.user, instance=oneliner0)

    params['form'] = form

    return render_to_response('oneliners/pages/oneliner_edit.html',
                              params,
                              context_instance=RequestContext(request))
Beispiel #2
0
def oneliner_edit(request, pk):
    params = _common_params(request)
    params['cancel_url'] = reverse(oneliner, args=(pk, ))

    try:
        if request.user.is_staff:
            oneliner0 = OneLiner.objects.get(pk=pk)
        else:
            oneliner0 = OneLiner.objects.get(pk=pk, user=request.user)
    except OneLiner.DoesNotExist:
        return render(request, 'oneliners/pages/access_error.html', params)

    if request.method == 'POST':
        form = EditOneLinerForm(oneliner0.user,
                                request.POST,
                                instance=oneliner0)
        if form.is_valid():
            if form.is_save:
                oneliner1 = form.save()
                return redirect(oneliner1)
            elif form.is_delete:
                oneliner0.delete()
                return redirect(profile)
    else:
        form = EditOneLinerForm(request.user, instance=oneliner0)

    params['form'] = form

    return render(request, 'oneliners/pages/oneliner_edit.html', params)
    def test_save_notown_failure(self):
        oneliner0 = self.jacks_oneliner
        data = {
            'summary': oneliner0.summary,
            'line': oneliner0.line,
            'explanation': oneliner0.explanation,
            'action': EditOneLinerForm.action_save,
        }

        form = EditOneLinerForm(self.frank, data, instance=self.jacks_oneliner)
        self.assertFalse(form.is_valid())

        error_items = form.errors.items()
        self.assertEquals(len(error_items), 1)
        self.assertEquals(list(error_items)[0][0], '__all__')
    def test_save_own_failure(self):
        oneliner0 = self.jacks_oneliner
        data = {
            'summary': oneliner0.summary,
            'line': oneliner0.line,
            'action': EditOneLinerForm.action_save,
        }
        new_summary = oneliner0.summary + ' some change'
        data['summary'] = new_summary

        form = EditOneLinerForm(self.jack, data, instance=oneliner0)
        self.assertFalse(form.is_valid())

        error_items = form.errors.items()
        self.assertEquals(len(error_items), 1)
        self.assertEquals(list(error_items)[0][0], 'explanation')
    def test_save_own_success(self):
        oneliner0 = self.jacks_oneliner
        data = {
            'summary': oneliner0.summary,
            'line': oneliner0.line,
            'explanation': oneliner0.explanation,
            'action': EditOneLinerForm.action_save,
        }
        new_summary = oneliner0.summary + ' some change'
        data['summary'] = new_summary

        form = EditOneLinerForm(self.jack, data, instance=oneliner0)
        self.assertTrue(form.is_valid())
        oneliner1 = form.save()

        self.assertEquals(oneliner1.summary, new_summary)
        self.assertEquals(oneliner1.user, self.jack)