00001
00002
00003 import nstart
00004 import config
00005 import os, sys, string, time
00006
00007 from pyclearsilver.log import *
00008
00009 from pyclearsilver.CSPage import Context
00010 import neo_cgi, neo_cs, neo_util
00011 from MBPage import MBPage
00012
00013 class ActivePage(MBPage):
00014 def setup(self, hdf):
00015 self.requestURI = hdf.getValue("Query.request", "")
00016 if not self.requestURI:
00017 self.requestURI = self.default_app_path()
00018
00019 def display(self, hdf):
00020 pass
00021
00022 def __del__(self):
00023 if self.authdb:
00024 self.authdb.close()
00025 self.authdb = None
00026
00027 def Action_Display(self, hdf):
00028 if hdf.getValue("Query.dismiss_active_warning", "") == "1":
00029 user_record = self.authdb.users.lookup(self.username)
00030 user_record.dismiss_notice("active_warning")
00031 self.display(hdf)
00032
00033 def Action_MakeActive(self, hdf):
00034
00035 if (not self.get_active_user()) or self.is_active_user() or hdf.getValue("Query.override", "") == "1":
00036 self.make_active_user(hdf)
00037 self.ncgi.cookieClear("inactive")
00038
00039
00040 if hdf.getValue("Query.dismiss_active_warning", "") == "1":
00041 user_record = self.authdb.users.lookup(self.username)
00042 user_record.dismiss_notice("active_warning")
00043
00044 self.redirectUri(self.requestURI)
00045 else:
00046
00047 user_record = self.authdb.users.lookup(self.username)
00048 if user_record.notice_dismissed("active_warning"):
00049 self.make_active_user(hdf)
00050 self.ncgi.cookieClear("inactive")
00051 self.redirectUri(self.requestURI)
00052 else:
00053
00054 url = self.http + hdf.getValue("HTTP.Host", "") + config.gBaseURL + "active/active_warning.py?request=%s" % (neo_cgi.urlEscape(hdf.getValue("Query.request", "")))
00055 self.redirectUri(url)
00056
00057
00058 def Action_MakeInactive(self, hdf):
00059 self.ncgi.cookieSet("inactive", "1")
00060 if self.is_active_user():
00061 self.remove_active_user()
00062 self.redirectUri(self.requestURI)
00063
00064 def Action_DismissNotice(self, hdf):
00065 self.pagename = "notice"
00066 user_record = self.authdb.users.lookup(self.username)
00067 notice = hdf.getValue("Query.notice", "")
00068 if notice != "":
00069 user_record.dismiss_notice(notice)
00070 hdf.setValue("CGI.cur.value", "OK")
00071
00072 def Action_NoticeDismissed(self, hdf):
00073 self.pagename = "notice"
00074 user_record = self.authdb.users.lookup(self.username)
00075 notice = hdf.getValue("Query.notice", "")
00076 if user_record.notice_dismissed(notice):
00077 hdf.setValue("CGI.cur.value", "YES")
00078 else:
00079 hdf.setValue("CGI.cur.value", "NO")
00080
00081 def run(context):
00082 page = ActivePage(context, pagename="active", nologin=False)
00083 return page
00084
00085 def main(context):
00086 page = run(context)
00087 page.start()
00088
00089
00090 if __name__ == "__main__":
00091 main(Context())