def edit_location(request, location_id): location = get_object_or_404(Location, id=location_id) if (request.user != location.user): # TODO flag user messages.add_message( request, messages.ERROR, '<div class="error">You may only edit locations that you are the ' 'owner of!</div>') return render(request, "permission_denied.html", {}) form = LocationForm(instance=location) if (request.method == "POST"): form = LocationForm(request.POST, instance=location) if (form.is_valid()): form.save() si = StreamItem( action_type='U', user=request.user, content_type=ContentType.objects.get_for_model(Location), object_id=location_id) si.save() return HttpResponseRedirect(location.get_absolute_url()) return render(request, 'characters/location/edit.html', {'form': form})
def create_location(request): form = LocationForm() if (request.method == "POST"): form = LocationForm(request.POST) if (form.is_valid()): location = form.save(commit=False) location.user = request.user location.save() form.save_m2m() si = StreamItem( action_type='C', user=request.user, content_type=ContentType.objects.get_for_model(Location), object_id=location.id) si.save() return HttpResponseRedirect(location.get_absolute_url()) return render(request, "characters/location/edit.html", {'form': form})