Beispiel #1
0
    def step_diagrams(self, request):
        context = {}
        # short circuit all mutators if not in edit mode...
        if self.order.status != WorkingOrder.Const.DEALER_EDIT:
            if request.method == "POST":
                return self.dispatch_next_step()
            if "delete" in request.GET:
                return HttpResponseRedirect("./")

        if request.method == "POST":
            if "upload_file" not in request.POST:
                self.order.finish_step(self.step)
                return self.dispatch_next_step()
            form = AttachmentForm(request.POST, request.FILES)
            if form.is_valid():
                obj = form.save(commit=False)
                obj.order = self.order
                obj.save()
                if obj.file.path.lower().endswith("pdf"):
                    obj.split_pages()
            #                context['confirm_attach'] = obj.id
            return HttpResponseRedirect("./")

        # GET processing
        form = AttachmentForm()
        if "delete" in request.GET:
            attach = get_object_or_404(Attachment, order=self.order, id=int(request.GET["delete"]))
            attach.delete()
            return HttpResponseRedirect("./")
        attachments = Attachment.objects.filter(order=self.order)
        context.update({"form": form, "order": self.order, "attachments": attachments})
        return context
Beispiel #2
0
def attachments(request, tplname="webmail/attachments.html"):
    if request.method == "POST":
        csuploader = AttachmentUploadHandler()
        request.upload_handlers.insert(0, csuploader)
        error = None
        form = AttachmentForm(request.POST, request.FILES)
        if form.is_valid():
            try:
                fobj = request.FILES["attachment"]
                tmpname = save_attachment(fobj)
                request.session["compose_mail"]["attachments"] \
                    += [{"fname" : str(fobj),
                         "content-type" : fobj.content_type,
                         "size" : fobj.size,
                         "tmpname" : os.path.basename(tmpname)}]
                request.session.modified = True
                return _render(request, "webmail/upload_done.html", {
                        "status" : "ok", "fname" : request.FILES["attachment"],
                        "tmpname" : os.path.basename(tmpname)
                        })
            except WebmailError, inst:
                error = _("Failed to save attachment: ") + str(inst)

        if csuploader.toobig:
            error = _("Attachment is too big (limit: %s)" \
                          % parameters.get_admin("MAX_ATTACHMENT_SIZE"))
        return _render(request, "webmail/upload_done.html", {
                "status" : "ko", "error" : error
                })
Beispiel #3
0
def attachments(request, tplname="webmail/attachments.html"):
    if request.method == "POST":
        csuploader = AttachmentUploadHandler()
        request.upload_handlers.insert(0, csuploader)
        error = None
        form = AttachmentForm(request.POST, request.FILES)
        if form.is_valid():
            try:
                fobj = request.FILES["attachment"]
                tmpname = save_attachment(fobj)
                request.session["compose_mail"]["attachments"] \
                    += [{"fname" : str(fobj),
                         "content-type" : fobj.content_type,
                         "size" : fobj.size,
                         "tmpname" : os.path.basename(tmpname)}]
                request.session.modified = True
                return _render(
                    request, "webmail/upload_done.html", {
                        "status": "ok",
                        "fname": request.FILES["attachment"],
                        "tmpname": os.path.basename(tmpname)
                    })
            except WebmailError, inst:
                error = _("Failed to save attachment: ") + str(inst)

        if csuploader.toobig:
            error = _("Attachment is too big (limit: %s)" \
                          % parameters.get_admin("MAX_ATTACHMENT_SIZE"))
        return _render(request, "webmail/upload_done.html", {
            "status": "ko",
            "error": error
        })
def submit(request):
    """
    returns a message submission page
    processes a message submission
    """
	# Process message form if it has been submitted
    if request.method == 'POST':
        message_form = MessageForm(request.POST)
        recipient_form = RecipientForm(request.POST)
        attachment_form = AttachmentForm(request.POST, request.FILES)

		# Enter into database and email users if valid
        if (message_form.is_valid() and
            recipient_form.is_valid() and
            attachment_form.is_valid()):

            message = message_form.save()
            attachment_form.save(message)
            recipient_form.save(message)

            return render_to_response('thanks.html')

	# If message has not submitted, render message form
    else:
        message_form = MessageForm()
        recipient_form = RecipientForm()
        attachment_form = AttachmentForm()
    return render(request, "submit.html",
        {
           "formset": message_form,
           "recipients": recipient_form,
           "attachments": attachment_form
        })
Beispiel #5
0
def upload_attachments(request):
    if request.method == "POST":
        attachment_form = AttachmentForm(request.POST, request.FILES)
        print request.POST, request.FILES
        if attachment_form.is_valid():
            attachment_form.save()
            return HttpResponseRedirect('/')
    else:
        form = AttachmentForm()
        return render_to_response('posts/upload_attachments.html', RequestContext(request, {'form':form}))
Beispiel #6
0
    def form_valid(self, form):
        topic = get_object_or_404(Topic, pk=self.kwargs['topic_id'])
        form.instance.topic = topic
        form.instance.creator = self.request.user
        comment = form.save()
        attachment_form = AttachmentForm(self.request.POST, self.request.FILES)
        attachment_form.instance.comment = comment
        if attachment_form.is_valid():
            attachment_form.save()

        return HttpResponseRedirect(topic.get_absolute_url())
Beispiel #7
0
def index(request):
    "Obtains the attachment and saves it to the disk"
    if request.method == 'POST':
        form = AttachmentForm(request.POST, request.FILES)
        if form.is_valid():
            f = form.cleaned_data['image']
            foto = Photo()
            foto.image.save(f.name, f)
            foto.comments = form.cleaned_data['comments']
            foto.save()
            return HttpResponseRedirect('/')
    else:
        form = AttachmentForm()
    fotos = Photo.objects.all()
    return render_to_response('index.html', {'form':form, 'fotos': fotos})
Beispiel #8
0
def new_attachment(request, attach_to=None, template_name='uploads/new_upload.html', extra_context={}, success_url=None):
	if attach_to is None: attach_to = request.user
	if request.method == 'POST':
		form = AttachmentForm(request.POST, request.FILES)
		if form.is_valid():
			success = form.save(request, attach_to)
			if success_url is not None:
				return HttpResponseRedirect(success_url)
			return HttpResponseRedirect(attach_to.get_absolute_url())
	else:
		form = AttachmentForm()
	
	data = {'form': form}
	data.update(extra_context)
	return render_to_response(template_name, data, context_instance=RequestContext(request))
Beispiel #9
0
def ajax_upload(request):
    data = {'valid': False, 'errors': ugettext('no file')}
    attachment_form = AttachmentForm(user=request.user)
    if request.method == "POST":
        attachment_form = AttachmentForm(request.POST, request.FILES, user=request.user, \
                actived=False)
        #TODO improve validate
        if  attachment_form.is_valid():
            attachment = attachment_form.save()
            data['valid'] = True
            data.pop('errors')
            data['attachment'] = {'id': attachment.id, \
                    'fn': attachment.org_filename, 'url': attachment.file.url, 'descn': ''}
        else:
            print attachment_form.errors
    return json_response(data)
def list_attachments(request, storyID):
    story = mdl_story.get_story(storyID)
    attachments = mdl_attachment.get_attachments_for_story(story)
    form = AttachmentForm()
    context = {
        'attachments': attachments,
        'newform': form,
        'story': story
    }
    return render(request, 'AttachmentForm.html', context)
Beispiel #11
0
def ajax_upload(request):
    data = {'valid': False, 'errors': ugettext('no file')}
    attachment_form = AttachmentForm(user=request.user)
    if request.method == "POST":
        attachment_form = AttachmentForm(request.POST, request.FILES, user=request.user, \
                actived=False)
        #TODO improve validate
        if attachment_form.is_valid():
            attachment = attachment_form.save()
            data['valid'] = True
            data.pop('errors')
            data['attachment'] = {'id': attachment.id, \
                    'fn': attachment.org_filename, 'url': attachment.file.url, 'descn': ''}
        else:
            print attachment_form.errors
    return json_response(data)
Beispiel #12
0
def new_attachment(request,
                   attach_to=None,
                   template_name='uploads/new_upload.html',
                   extra_context={},
                   success_url=None):
    if attach_to is None: attach_to = request.user
    if request.method == 'POST':
        form = AttachmentForm(request.POST, request.FILES)
        if form.is_valid():
            success = form.save(request, attach_to)
            if success_url is not None:
                return HttpResponseRedirect(success_url)
            return HttpResponseRedirect(attach_to.get_absolute_url())
    else:
        form = AttachmentForm()

    data = {'form': form}
    data.update(extra_context)
    return render_to_response(template_name,
                              data,
                              context_instance=RequestContext(request))
Beispiel #13
0
            except WebmailError, inst:
                error = _("Failed to save attachment: ") + str(inst)

        if csuploader.toobig:
            error = _("Attachment is too big (limit: %s)" \
                          % parameters.get_admin("MAX_ATTACHMENT_SIZE"))
        return _render(request, "webmail/upload_done.html", {
            "status": "ko",
            "error": error
        })
    ctx = {
        "title": _("Attachments"),
        "formid": "uploadfile",
        "target": "upload_target",
        "enctype": "multipart/form-data",
        "form": AttachmentForm(),
        "action": reverse(attachments),
        "attachments": request.session["compose_mail"]["attachments"]
    }
    return _render(request, tplname, ctx)


@login_required
@needs_mailbox()
def delattachment(request):
    if not request.session.has_key("compose_mail") \
            or not request.GET.has_key("name") \
            or not request.GET["name"]:
        return ajax_response(request, "ko", respmsg=_("Bad query"))

    error = None