def addBox(request): u = request.session.get('switched_user', request.user) superuser = request.user domains = [(x.name, x.name) for x in u.domain_set.filter(mail=True)] if request.method == 'POST': form = FormEmail(request.POST) form.fields["xdomain"].choices = domains if form.is_valid(): form.cleaned_data["xdomain"] = get_object_or_404(u.domain_set, name= form.cleaned_data["xdomain"]) email = form.save(commit=False) email.login = form.cleaned_data["login"] email.domain = form.cleaned_data["xdomain"] email.pub_date = date.today() email.password = crypt.crypt(form.cleaned_data["password1"], form.cleaned_data["login"]) email.uid = config.email_uid email.gid = config.email_gid email.save() er = EMailRequest(u, u.parms.mail_machine) er.create_mailbox(email) messages.add_message(request, messages.INFO, _('Box will be created in few minutes')) return HttpResponseRedirect(reverse("mailbox_list")) else: form = FormEmail() form.fields["xdomain"].choices = domains helper = RostiFormHelper() return render_to_response('universal.html', { "form": form, "form_helper": helper, "title": _("New e-mail"), "submit": _("Create box"), "u": u, "superuser": superuser, "menu_active": "emails", }, context_instance=RequestContext(request) )
def mailbox_remove(request): try: object_id = request.POST['object_id'] u = request.session.get('switched_user', request.user) try: mail = Email.objects.get(domain__in=u.domain_set.all(), id=object_id) except EmailRedirect.DoesNotExist: raise Exception("redirect doesn't exist, obviously") else: mail.remove = True mail.save() er = EMailRequest(u, u.parms.mail_machine) er.remove_mailbox(mail) return JsonResponse("OK", {1: ugettext("Mailbox was successfuly deleted")}) except Exception, e: return JsonResponse("KO", {1: ugettext("Error during mailbox delete")})