Пример #1
0
 def _path_decorator(request, path, *args, **kwargs):
     directory = shortcuts.get_object_or_404(
         models.File.objects.all().prefetch_related('tags'),
         path__iexact=path,
         path__startswith=settings.DROPBOX_BASE_PATH,
     )
     return method(request, directory, *args, **kwargs)
Пример #2
0
def form_sent(request, slug, template="forms/form_sent.html"):
    """
    Show the response message.
    """
    published = Form.objects.published(for_user=request.user)
    form = get_object_or_404(published, slug=slug)
    context = {"form": form, "page": get_page(form, request)}
    return render_to_response(template, context, RequestContext(request))
Пример #3
0
def incident_detail(request, pk):
    """
    Detail view for a single incident, which may have multiple victims.
    """
    incident = get_object_or_404(Incident.objects.public(), pk=pk)
    victims = list(incident.victims.public()
                    .select_related('incident', 'race', 'method'))

    return render(request, 'gundeaths/incident_detail.html', {
        'incident': incident, 'victims': victims
    })
Пример #4
0
def incident_detail(request, pk):
    """
    Detail view for a single incident, which may have multiple victims.
    """
    incident = get_object_or_404(Incident.objects.public(), pk=pk)
    victims = list(incident.victims.public().select_related(
        'incident', 'race', 'method'))

    return render(request, 'gundeaths/incident_detail.html', {
        'incident': incident,
        'victims': victims
    })
Пример #5
0
def list_simple(request, path):
    path = os.path.split(path.rstrip('/'))[0] + '/'
    directory = shortcuts.get_object_or_404(
        models.File,
        path__iexact=path,
        path__startswith=settings.DROPBOX_BASE_PATH,
    )

    files = []
    directories = []
    for child in directory.children.visible():
        if child.is_file:
            files.append((child.path, child.name))
        else:
            directories.append((child.path, child.name))

    request.context['files'] = files
    request.context['directories'] = directories
Пример #6
0
def form_detail(request, slug, template="forms/form_detail.html"):
    """
    Display a built form and handle submission.
    """
    published = Form.objects.published(for_user=request.user)
    if USE_SITES:
        published = published.filter(sites=Site.objects.get_current())
    form = get_object_or_404(published, slug=slug)
    if form.login_required and not request.user.is_authenticated():
        return redirect("%s?%s=%s" % (settings.LOGIN_URL, REDIRECT_FIELD_NAME,
                        urlquote(request.get_full_path())))
    args = (form, request.POST or None, request.FILES or None)
    form_for_form = FormForForm(*args)
    if request.method == "POST":
        if not form_for_form.is_valid():
            form_invalid.send(sender=request, form=form_for_form)
        else:
            entry = form_for_form.save()
            fields = ["%s: %s" % (v.label, form_for_form.cleaned_data[k])
                for (k, v) in form_for_form.fields.items()]
            subject = form.email_subject
            if not subject:
                subject = "%s - %s" % (form.title, entry.entry_time)
            body = "\n".join(fields)
            if form.email_message:
                body = "%s\n\n%s" % (form.email_message, body)
            email_from = form.email_from or settings.DEFAULT_FROM_EMAIL
            email_to = form_for_form.email_to()
            if email_to and form.send_email:
                msg = EmailMessage(subject, body, email_from, [email_to])
                msg.send()
            email_from = email_to or email_from # Send from the email entered.
            email_copies = [e.strip() for e in form.email_copies.split(",")
                if e.strip()]
            if email_copies:
                msg = EmailMessage(subject, body, email_from, email_copies)
                for f in form_for_form.files.values():
                    f.seek(0)
                    msg.attach(f.name, f.read())
                msg.send()
            form_valid.send(sender=request, form=form_for_form, entry=entry)
            return redirect(reverse("form_sent", kwargs={"slug": form.slug}))
    context = {"form": form, "form_for_form": form_for_form, "page": get_page(form, request)}
    return render_to_response(template, context, RequestContext(request))