def create_description(request): form = DescriptionForm() if (request.method == "POST"): form = DescriptionForm(request.POST) if (form.is_valid()): description = form.save(commit=False) if (request.user != description.morph.user): # TODO flag user messages.add_message( request, messages.ERROR, '<div class="error">You may only create descriptions for ' 'your morphs!</div>') return render(request, "permission_denied.html", {}) description.user = request.user description.save() form.save_m2m() si = StreamItem( action_type='C', user=request.user, content_type=ContentType.objects.get_for_model(Description), object_id=description.id) si.save() si = StreamItem( action_type='DA', user=request.user, content_type=ContentType.objects.get_for_model(Morph), object_id=description.morph.id) si.save() return HttpResponseRedirect(description.get_absolute_url()) return render(request, "characters/description/edit.html", {'form': form})
def edit_description(request, description_id): description = get_object_or_404(Description, id=description_id) form = DescriptionForm(instance=description) if (request.method == "POST"): form = DescriptionForm(request.POST, instance=description) if (form.is_valid()): form.save() si = StreamItem( action_type='U', user=request.user, content_type=ContentType.objects.get_for_model(Description), object_id=description_id) si.save() return HttpResponseRedirect(description.get_absolute_url()) return render(request, 'characters/description/edit.html', {'form': form})