def awake(self, trans): # Awake our superclass self.trans = trans app = trans.application() session = trans.session() request = self.trans.request() response = trans.response() Page.awake(self, trans) if not self.allow_caching: response.setHeader("Cache-Control", "no-cache, must-revalidate") response.setHeader("Pragma", "no-cache") year, month, day, hh, mm, ss, wd, y, z = time.gmtime(time.time()) s = "%s, %02d %3s %4d %02d:%02d:%02d GMT" % ( ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][wd], day, [ None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' ][month], year, hh, mm, ss) response.setHeader("Expires", s) response.setHeader("Last-Modified", s) loginid = session.value('loginid', None) if loginid: session.delValue("loginid") # Are they logging out? if request.hasField("logout"): session.values().clear() request.setField('extra', 'You have been logged out.') request.setField('action', request.urlPath().split('/')[-1]) request.delField('logout') app.forward(trans, 'Index') elif request.hasField("username") and request.hasField("password"): # They are logging in. Clear session. session.values().clear() username = request.field("username") password = request.field("password") # And check if they can log in. if request.field("loginid", "nologin") == loginid and self.loginUser( username, password, method=self.conf.get("global", "pwdtype")): # Successful login. # Clear out the login parameters request.delField('username') request.delField('password') #request.delField('login') request.delField('loginid') else: # Failed login attempt; have them try again. request.delField('username') request.delField('password') request.delField('login') request.delField('loginid') request.setField('extra', 'Login failed. Please try again.') if self.needAccess(): if not self.needAccess() in self.session().value("access", []): request.setField( 'extra', 'Du har ikke adgang til denne siden (level: %s)' % self.needAccess())
def __init__(self): # a list of all available modules # ("short_desc", "filename", "required_access_level", "long_desc") self.modules = [ ("Bedrifter", "Companies.py", "comp", "Her kan du editere bedriftsdatabasen"), ("Brukere", "Users.py", "mail", "Legge til eller endre brukere"), ("MailingLists", "Sympa.py", "mail", "Administrasjon av epost-lister"), ("Virtual/Aliaser", "Virtual.py", "mail", "Gjøre endringer i aliases og virtuals som ikke er knyttet opp mot brukere" ), ] Page.__init__(self) self.syslog = Syslog() conf = ConfigParser() self.conf = conf conf.readfp(open("site.conf")) if conf.get("global", "database") == "mysql": from Mysql import Database self.cyrus = Cyrus(conf) self.db = Database(conf) self.allow_caching = 0
def writeHTML(self): if debug: req = self.request() print '>> About to writeHTML()' print '>> fields:' self.printDict(req.fields()) print '>> cookies:' self.printDict(req.cookies()) print Page.writeHTML(self)
def writeHTML(self): if 1: req = self.request() print '>> About to writeHTML()' print '>> fields:' self.printDict(req.fields()) print '>> cookies:' self.printDict(req.cookies()) print Page.writeHTML(self)
def awake(self,trans): # Awake our superclass self.trans = trans app = trans.application() session = trans.session() request = self.trans.request() response = trans.response() Page.awake(self,trans) if not self.allow_caching: response.setHeader("Cache-Control","no-cache, must-revalidate") response.setHeader("Pragma","no-cache") year, month, day, hh, mm, ss, wd, y, z = time.gmtime(time.time()) s = "%s, %02d %3s %4d %02d:%02d:%02d GMT" % ( ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'][wd], day, [None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][month], year,hh, mm, ss) response.setHeader("Expires",s) response.setHeader("Last-Modified",s) loginid = session.value('loginid',None) if loginid: session.delValue("loginid") # Are they logging out? if request.hasField("logout"): session.values().clear() request.setField('extra', 'You have been logged out.') request.setField('action', request.urlPath().split('/')[-1]) request.delField('logout') app.forward(trans, 'Index') elif request.hasField("username") and request.hasField("password"): # They are logging in. Clear session. session.values().clear() username = request.field("username") password = request.field("password") # And check if they can log in. if request.field("loginid","nologin") == loginid and self.loginUser(username, password, method=self.conf.get("global", "pwdtype")): # Successful login. # Clear out the login parameters request.delField('username') request.delField('password') #request.delField('login') request.delField('loginid') else: # Failed login attempt; have them try again. request.delField('username') request.delField('password') request.delField('login') request.delField('loginid') request.setField('extra', 'Login failed. Please try again.') if self.needAccess(): if not self.needAccess() in self.session().value("access",[]): request.setField('extra','Du har ikke adgang til denne siden (level: %s)' % self.needAccess())
def awake(self,tx): Page.awake(self,tx) # convert flds to params: flds = tx.request().fields().copy() params = {} for (name,v) in flds.items(): try: ps = self.allowedParams[name] params[name] = ps.s2v(v) except KeyError: raise "TODO" # instanciate page controller: self._ctrl = ReportCtrl(params)
def __init__(self): # a list of all available modules # ("short_desc", "filename", "required_access_level", "long_desc") self.modules = [ ("Bedrifter","Companies.py","comp","Her kan du editere bedriftsdatabasen"), ("Brukere","Users.py","mail","Legge til eller endre brukere"), ("MailingLists","Sympa.py","mail","Administrasjon av epost-lister"), ("Virtual/Aliaser","Virtual.py","mail","Gjøre endringer i aliases og virtuals som ikke er knyttet opp mot brukere"), ] Page.__init__(self) self.syslog = Syslog() conf = ConfigParser() self.conf = conf conf.readfp(open("site.conf")) if conf.get("global","database") == "mysql": from Mysql import Database self.cyrus = Cyrus(conf) self.db = Database(conf) self.allow_caching = 0
def awake(self, transaction): Page.awake(self, transaction)
def respond(self,trans): Page.respond(self,trans)
def __init__(self): Page.__init__(self) Configurable.__init__(self)
def __init__(self): Page.__init__(self) self._indentBase = ' ' # used in menuItem()
def awake(self, trans): Page.awake(self, trans) self.rendered_form = None
def postAction(self, actionName): if actionName not in ('ajaxCall', 'ajaxPoll'): Page.postAction(self, actionName)
def writeJavaScript(self): Page.writeJavaScript(self) s = '<script type="text/javascript" src="ajax%s.js"></script>' self.writeln(s % 'call') if self._clientPolling: self.writeln(s % 'poll')
def actions(self): actions = Page.actions(self) actions.append('ajaxCall') if self._clientPolling: actions.append('ajaxPoll') return actions
def respond(self, trans): Page.respond(self, trans)