def edit_provider(request, provider_id): provider = get_object_or_404(Provider, id=provider_id) admin_user = provider.admin #TEMPORARY location = Location.objects.filter(provider__pk = provider_id)[0] if request.user == admin_user: # only the provider's registered user can edit page if request.method == 'POST': provider_form = ProviderForm(request.POST,instance=provider) location_form = LocationForm(request.POST,instance=location) if provider_form.is_valid() and location_form.is_valid(): provider = provider_form.save(commit=False) provider.admin = admin_user provider.save() location = location_form.save(commit=False) location.provider = provider location.save() location_form.save_m2m() return HttpResponseRedirect(reverse('provider_detail', kwargs={'provider_id': provider.id})) else: provider_form = ProviderForm(instance=provider) location_form = LocationForm(instance=location) #todo: turn into formsets--right now this is creating a new loca return render(request, "provider/edit.html", { 'provider_form': provider_form, 'location_form': location_form }) else: return HttpResponseRedirect(reverse('index'))
def add_provider(request): if request.method == "POST": admin_form = UserCreationForm(request.POST) provider_form = ProviderForm(request.POST) location_form = LocationForm(request.POST) if admin_form.is_valid() and provider_form.is_valid() and location_form.is_valid(): admin = admin_form.save() provider = provider_form.save(commit=False) provider.admin = admin provider.save() location = location_form.save(commit=False) location.provider = provider location.save() location_form.save_m2m() return HttpResponseRedirect(reverse('provider_detail', kwargs={'provider_id': provider.id})) else: admin_form = UserCreationForm() provider_form = ProviderForm() location_form = LocationForm() return render(request, "provider/new.html", { 'provider_form': provider_form, 'location_form': location_form, 'admin_form': admin_form, })