mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
Close the connection on logout and avoid trying to use the same connection on the next login :p
see #139
This commit is contained in:
@@ -31,14 +31,19 @@ class SieveClient(object):
|
||||
except Error, e:
|
||||
return False, _("Connection to MANAGESIEVE server failed, check your configuration")
|
||||
return True, None
|
||||
|
||||
def logout(self):
|
||||
self.msc.logout()
|
||||
self.msc = None
|
||||
|
||||
def refresh(self, user, password):
|
||||
try:
|
||||
self.msc.capability()
|
||||
except Error, e:
|
||||
pass
|
||||
else:
|
||||
return
|
||||
if self.msc is not None:
|
||||
try:
|
||||
self.msc.capability()
|
||||
except Error, e:
|
||||
pass
|
||||
else:
|
||||
return
|
||||
try:
|
||||
ret, msg = self.login(user, password)
|
||||
except Error, e:
|
||||
|
||||
@@ -7,6 +7,7 @@ from sievelib.managesieve import SUPPORTED_AUTH_MECHS
|
||||
|
||||
def init():
|
||||
events.register("UserMenuDisplay", menu)
|
||||
events.register("UserLogout", userlogout)
|
||||
|
||||
parameters.register_admin("SERVER", type="string",
|
||||
deflt="127.0.0.1",
|
||||
@@ -55,3 +56,16 @@ def menu(**kwargs):
|
||||
"url" : reverse(views.index),
|
||||
"img" : static_url("pics/filters.png")}
|
||||
]
|
||||
|
||||
def userlogout(**kwargs):
|
||||
from lib import SieveClient
|
||||
|
||||
if kwargs["request"].user.id == 1:
|
||||
return
|
||||
try:
|
||||
sc = SieveClient(user=kwargs["request"].user.username,
|
||||
password=kwargs["request"].session["password"])
|
||||
except Exception, e:
|
||||
pass
|
||||
else:
|
||||
sc.logout()
|
||||
|
||||
Reference in New Issue
Block a user