mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
75 lines
2.5 KiB
Python
75 lines
2.5 KiB
Python
from django.shortcuts import get_object_or_404, render_to_response
|
|
from django.template.loader import render_to_string
|
|
from django.template import RequestContext
|
|
from django.core.urlresolvers import reverse
|
|
from django.http import HttpResponse, HttpResponseRedirect
|
|
from django.contrib.auth.forms import PasswordChangeForm
|
|
from django.contrib.auth.decorators \
|
|
import login_required
|
|
from django.utils import simplejson
|
|
from django.utils.translation import ugettext as _
|
|
from mailng import main
|
|
from mailng.lib import _render, _ctx_ok, _ctx_ko
|
|
from mailng.lib.authbackends import crypt_password
|
|
from forms import ARmessageForm, ChangePasswordForm
|
|
from models import ARmessage
|
|
from mailng.admin.models import Mailbox
|
|
|
|
@login_required
|
|
def index(request):
|
|
mb = Mailbox.objects.get(user=request.user.id)
|
|
try:
|
|
arm = ARmessage.objects.filter(mbox=mb.id, enabled=True)
|
|
except ARmessage.DoesNotExist:
|
|
arm = None
|
|
return _render(request, "main/index.html", {"arm" : arm})
|
|
|
|
@login_required
|
|
def autoreply(request):
|
|
mb = Mailbox.objects.get(user=request.user.id)
|
|
try:
|
|
arm = ARmessage.objects.get(mbox=mb.id)
|
|
except ARmessage.DoesNotExist:
|
|
arm = None
|
|
if request.method == "POST":
|
|
if arm:
|
|
form = ARmessageForm(request.POST, instance=arm)
|
|
else:
|
|
form = ARmessageForm(request.POST)
|
|
error = None
|
|
if form.is_valid():
|
|
arm = form.save(commit=False)
|
|
arm.mbox = mb
|
|
arm.save()
|
|
request.user.message_set.create(
|
|
message=_("Auto reply message updated successfully.")
|
|
)
|
|
|
|
form = ARmessageForm(instance=arm)
|
|
return _render(request, "main/autoreply.html", {
|
|
"form" : form
|
|
})
|
|
|
|
@login_required
|
|
def changepassword(request):
|
|
mb = Mailbox.objects.get(user=request.user.id)
|
|
error = None
|
|
if request.method == "POST":
|
|
form = ChangePasswordForm(mb, request.POST)
|
|
if form.is_valid():
|
|
mb.password = crypt_password(request.POST["confirmation"])
|
|
mb.save()
|
|
ctx = _ctx_ok("")
|
|
return HttpResponse(simplejson.dumps(ctx),
|
|
mimetype="application/json")
|
|
ctx = _ctx_ko("main/chpassword.html", {
|
|
"form" : form, "error" : error
|
|
})
|
|
return HttpResponse(simplejson.dumps(ctx), mimetype="application/json")
|
|
|
|
form = ChangePasswordForm(mb)
|
|
return render_to_response('main/chpassword.html', {
|
|
"form" : form
|
|
})
|
|
|