示例#1
0
def edit_download_links(request, production_id):
    production = get_object_or_404(Production, id=production_id)
    if not production.editable_by_user(request.user):
        raise PermissionDenied

    if request.method == 'POST':
        formset = ProductionDownloadLinkFormSet(
            request.POST, instance=production, queryset=production.links.filter(is_download_link=True)
        )
        if formset.is_valid():
            formset.save_ignoring_uniqueness()
            formset.log_edit(request.user, 'production_edit_download_links')
            production.updated_at = datetime.datetime.now()
            production.has_bonafide_edits = True
            production.save()

            return HttpResponseRedirect(production.get_absolute_url())
    else:
        formset = ProductionDownloadLinkFormSet(
            instance=production, queryset=production.links.filter(is_download_link=True)
        )
    return render(request, 'productions/edit_links.html', {
        'submit_url': reverse('production_edit_download_links', args=[production.id]),
        'external_or_download': 'download',
        'production': production,
        'formset': formset,
    })
示例#2
0
def create(request):
    if request.method == 'POST':
        production = Production(updated_at=datetime.datetime.now())
        form = CreateProductionForm(request.POST, instance=production)
        download_link_formset = ProductionDownloadLinkFormSet(request.POST, instance=production)
        if form.is_valid() and download_link_formset.is_valid():
            form.save()
            download_link_formset.save_ignoring_uniqueness()
            form.log_creation(request.user)
            return HttpResponseRedirect(production.get_absolute_url())
    else:
        form = CreateProductionForm(initial={
            'byline': Byline.from_releaser_id(request.GET.get('releaser_id'))
        })
        download_link_formset = ProductionDownloadLinkFormSet()
    return render(request, 'productions/create.html', {
        'form': form,
        'download_link_formset': download_link_formset,
    })