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