def newfolder(request, tplname="webmail/folder.html"): mbc = IMAPconnector(user=request.user.username, password=request.session["password"]) ctx = {"title": _("Create a new mailbox"), "formid": "mboxform", "action": reverse(newfolder), "action_label": _("Create"), "action_classes": "submit", "withunseen": False, "selectonly": True, "mboxes": mbc.getmboxes(request.user), "hdelimiter": mbc.hdelimiter} if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): pf = request.POST.get("parent_folder", None) mbc.create_folder(form.cleaned_data["name"], pf) return ajax_simple_response(dict( status="ok", respmsg=_("Mailbox created"), newmb=form.cleaned_data["name"], parent=pf )) ctx["form"] = form ctx["selected"] = None return ajax_response(request, status="ko", template=tplname, **ctx) ctx["form"] = FolderForm() ctx["selected"] = None return _render(request, tplname, ctx)
def folder_add_typed(request, folder_id=None, response_format='html'): "Folder add to preselected folder" folder = None if folder_id: folder = get_object_or_404(Folder, pk=folder_id) if not request.user.profile.has_permission(folder, mode='x'): folder = None if request.POST: if 'cancel' not in request.POST: folder = Folder() form = FolderForm( request.user.profile, folder_id, request.POST, instance=folder) if form.is_valid(): folder = form.save() folder.set_user_from_request(request) return HttpResponseRedirect(reverse('documents_folder_view', args=[folder.id])) else: return HttpResponseRedirect(reverse('document_index')) else: form = FolderForm(request.user.profile, folder_id) context = _get_default_context(request) context.update({'form': form, 'folder': folder}) return render_to_response('documents/folder_add_typed', context, context_instance=RequestContext(request), response_format=response_format)
def folder_edit(request, folder_id, response_format='html'): "Folder edit page" folder = get_object_or_404(Folder, pk=folder_id) if not request.user.profile.has_permission(folder, mode='w'): return user_denied(request, message="You don't have access to this Folder") if request.POST: if 'cancel' not in request.POST: form = FolderForm( request.user.profile, folder_id, request.POST, instance=folder) if form.is_valid(): folder = form.save() return HttpResponseRedirect(reverse('documents_folder_view', args=[folder.id])) else: return HttpResponseRedirect(reverse('documents_folder_view', args=[folder.id])) else: form = FolderForm( request.user.profile, folder_id, instance=folder) context = _get_default_context(request) context.update({'form': form, 'folder': folder}) return render_to_response('documents/folder_edit', context, context_instance=RequestContext(request), response_format=response_format)
def newfolder(request, tplname="webmail/folder.html"): mbc = IMAPconnector(user=request.user.username, password=request.session["password"]) ctx = { "title": _("Create a new mailbox"), "formid": "mboxform", "action": reverse(newfolder), "action_label": _("Create"), "action_classes": "submit", "withunseen": False, "selectonly": True, "mboxes": mbc.getmboxes(request.user) } if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): pf = request.POST.get("parent_folder", None) mbc.create_folder(form.cleaned_data["name"], pf) return ajax_simple_response( dict(status="ok", respmsg=_("Mailbox created"), newmb=form.cleaned_data["name"], parent=pf)) ctx["form"] = form ctx["selected"] = None return ajax_response(request, status="ko", template=tplname, **ctx) ctx["form"] = FolderForm() ctx["selected"] = None return _render(request, tplname, ctx)
def get_response(self, request, *args, **kwargs): form = FolderForm(request.POST, request=request) if form.is_valid(): form.save() return {'result': 'success'} else: return {'result': 'error', 'errors': get_list_of_errors(form)}
def add_folder(request): id = request.GET.get('id', None) if id is not None: folder = get_object_or_404(Folder, id=id) else: folder = None if request.method == 'POST': if request.POST.get('control') == 'delete': folder.delete() messages.add_message(request, messages.INFO, "Folder deleted") return HttpResponseRedirect(reverse('notes:index')) form = FolderForm(request.POST, instance=folder) if form.is_valid(): form.save() messages.add_message(request, messages.INFO, "Folder added") return HttpResponseRedirect(reverse('notes:index')) else: form = FolderForm(instance=folder) return render(request, 'notes/addfolder.html', { 'form': form, 'folder': folder })
def create_folder(request, share, subdir=None): form = FolderForm(request.POST) data = json_form_validate(form) if form.is_valid(): folder_path = share.create_folder(form.cleaned_data['name'],subdir) (mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime) = os.stat(folder_path) data['objects']=[{'name':form.cleaned_data['name'],'modified':datetime.datetime.fromtimestamp(mtime).strftime("%m/%d/%Y %I:%M %p")}] ShareLog.create(share=share,user=request.user,action=ShareLog.ACTION_FOLDER_CREATED,paths=[form.cleaned_data['name']],subdir=subdir) return json_response(data) else: return json_error([error for name, error in form.errors.items()])
def create_folder(request, internal=False): folder_form = FolderForm(request.POST or None) if folder_form is not None and folder_form.is_valid(): title = folder_form.cleaned_data['title'] owner = Searcher.objects.filter(user_profile=request.user)[0] new_folder = Folder(title=title, owner=owner) new_folder.save() else: print "error" if internal: return new_folder
def get_response(self, request, *args, **kwargs): form = FolderForm(request.POST, request=request) if form.is_valid(): form.save() return { 'result': 'success' } else: return { 'result': 'error', 'errors': get_list_of_errors(form) }
def get_response(self, request, *args, **kwargs): try: folder = Folder.objects.get(pk=request.POST.get('folder_id', 0)) except Folder.DoesNotExist: raise Http404 form = FolderForm(request.POST, request=request, instance=folder) if form.is_valid(): form.save() return {'result': 'success'} else: return {'result': 'error', 'errors': get_list_of_errors(form)}
def create_fr(req): username = req.COOKIES.get('username', '') if req.method == "POST": ff = FolderForm(req.POST) if ff.is_valid(): folder_name = ff.cleaned_data['folder_name'] description = ff.cleaned_data['description'] create_time = timezone.now() modify_time = timezone.now() #写入数据库 f = User.objects.get(username=username) f.folder_set.create(folder_name=folder_name, create_time=create_time, modify_time=modify_time, description=description) return HttpResponseRedirect('/online/index/') else: ff = FolderForm() return render(req, 'create_folder_new.html', {'ff': ff})
def editfolder(request, tplname="webmail/folder.html"): mbc = IMAPconnector(user=request.user.username, password=request.session["password"]) ctx = { "title": _("Edit mailbox"), "formid": "mboxform", "action": reverse(editfolder), "action_label": _("Update"), "action_classes": "submit", "withunseen": False, "selectonly": True } if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): pf = request.POST.get("parent_folder", None) ctx["selected"] = pf oldname, oldparent = separate_mailbox(request.POST["oldname"]) res = dict(status="ok", respmsg=_("Mailbox updated")) if form.cleaned_data["name"] != oldname \ or (pf != oldparent): newname = form.cleaned_data["name"] if pf is None \ else "%s.%s" % (pf, form.cleaned_data["name"]) mbc.rename_folder(request.POST["oldname"], newname) res["oldmb"] = oldname res["newmb"] = form.cleaned_data["name"] res["oldparent"] = oldparent res["newparent"] = pf if "mbox" in request.session: del request.session["mbox"] return ajax_simple_response(res) ctx["mboxes"] = mbc.getmboxes(request.user) ctx["form"] = form return ajax_response(request, status="ko", template=tplname, **ctx) name = request.GET.get("name", None) if name is None: raise WebmailError(_("Invalid request")) shortname, parent = separate_mailbox(name) ctx["mboxes"] = mbc.getmboxes(request.user, until_mailbox=parent) ctx["form"] = FolderForm() ctx["form"].fields["oldname"].initial = name ctx["form"].fields["name"].initial = shortname ctx["selected"] = parent return _render(request, tplname, ctx)
def editfolder(request, tplname="webmail/folder.html"): mbc = IMAPconnector(user=request.user.username, password=request.session["password"]) ctx = {"title" : _("Edit mailbox"), "formid" : "mboxform", "action" : reverse(editfolder), "action_label" : _("Update"), "action_classes" : "submit", "withunseen" : False, "selectonly" : True, "hdelimiter": mbc.hdelimiter} if request.method == "POST": form = FolderForm(request.POST) if form.is_valid(): pf = request.POST.get("parent_folder", None) ctx["selected"] = pf oldname, oldparent = separate_mailbox(request.POST["oldname"], sep=mbc.hdelimiter) res = dict(status="ok", respmsg=_("Mailbox updated")) if form.cleaned_data["name"] != oldname \ or (pf != oldparent): newname = form.cleaned_data["name"] if pf is None \ else "%s.%s" % (pf, form.cleaned_data["name"]) mbc.rename_folder(request.POST["oldname"], newname) res["oldmb"] = oldname res["newmb"] = form.cleaned_data["name"] res["oldparent"] = oldparent res["newparent"] = pf if "mbox" in request.session: del request.session["mbox"] return ajax_simple_response(res) ctx["mboxes"] = mbc.getmboxes(request.user) ctx["form"] = form return ajax_response(request, status="ko", template=tplname, **ctx) name = request.GET.get("name", None) if name is None: raise WebmailError(_("Invalid request")) shortname, parent = separate_mailbox(name, sep=mbc.hdelimiter) ctx["mboxes"] = mbc.getmboxes(request.user, until_mailbox=parent) ctx["form"] = FolderForm() ctx["form"].fields["oldname"].initial = name ctx["form"].fields["name"].initial = shortname ctx["selected"] = parent return _render(request, tplname, ctx)
def get_response(self, request, *args, **kwargs): try: folder = Folder.objects.get(pk=request.POST.get('folder_id', 0)) except Folder.DoesNotExist: raise Http404 form = FolderForm(request.POST, request=request, instance=folder) if form.is_valid(): form.save() return { 'result': 'success' } else: return { 'result': 'error', 'errors': get_list_of_errors(form) }
def folder_add(request, response_format='html'): "New folder form" if request.POST: if 'cancel' not in request.POST: folder = Folder() form = FolderForm( request.user.profile, None, request.POST, instance=folder) if form.is_valid(): folder = form.save() folder.set_user_from_request(request) return HttpResponseRedirect(reverse('documents_folder_view', args=[folder.id])) else: return HttpResponseRedirect(reverse('document_index')) else: form = FolderForm(request.user.profile, None) context = _get_default_context(request) context.update({'form': form}) return render_to_response('documents/folder_add', context, context_instance=RequestContext(request), response_format=response_format)