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)
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))
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 })
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 })
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
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))