summaryrefslogtreecommitdiff
path: root/Mailman/Cgi/edithtml.py
diff options
context:
space:
mode:
authorbwarsaw2001-06-27 20:30:46 +0000
committerbwarsaw2001-06-27 20:30:46 +0000
commitc2c72b49d974c116b392a564cbfff83663b41e13 (patch)
treebe919b803ca608cd3c409e83c6674d2c390abc37 /Mailman/Cgi/edithtml.py
parentb30e7a3539d1ca5fd13237b7a7b542a3a46b2976 (diff)
downloadmailman-c2c72b49d974c116b392a564cbfff83663b41e13.tar.gz
mailman-c2c72b49d974c116b392a564cbfff83663b41e13.tar.zst
mailman-c2c72b49d974c116b392a564cbfff83663b41e13.zip
Diffstat (limited to 'Mailman/Cgi/edithtml.py')
-rw-r--r--Mailman/Cgi/edithtml.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/Mailman/Cgi/edithtml.py b/Mailman/Cgi/edithtml.py
index 7268d899b..b94e9c769 100644
--- a/Mailman/Cgi/edithtml.py
+++ b/Mailman/Cgi/edithtml.py
@@ -28,6 +28,8 @@ from Mailman.Cgi import Auth
from Mailman.Logging.Syslog import syslog
from Mailman import i18n
+_ = i18n._
+
def main():
@@ -46,7 +48,6 @@ def main():
doc = Document()
# Set up the system default language
- _ = i18n._
i18n.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
doc.set_language(mm_cfg.DEFAULT_SERVER_LANGUAGE)
@@ -71,10 +72,17 @@ def main():
# Must be authenticated to get any farther
cgidata = cgi.FieldStorage()
- try:
- Auth.authenticate(mlist, cgidata)
- except Auth.NotLoggedInError, e:
- Auth.loginpage(mlist, 'edithtml', e.message)
+
+ # Editing the html for a list is limited to the list admin and site admin.
+ if not mlist.WebAuthenticate((mm_cfg.AuthListAdmin,
+ mm_cfg.AuthSiteAdmin),
+ cgidata.getvalue('adminpw', '')):
+ if cgidata.has_key('admlogin'):
+ # This is a re-authorization attempt
+ msg = Bold(FontSize('+1', _('Authorization failed.'))).Format()
+ else:
+ msg = ''
+ Auth.loginpage(mlist, 'admin', msg=msg)
return
realname = mlist.real_name