Пример #1
0
    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())
Пример #2
0
    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())
Пример #3
0
	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)
Пример #4
0
	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)
Пример #5
0
	def awake(self, transaction):
		Page.awake(self, transaction)
Пример #6
0
 def awake(self, trans):
     Page.awake(self, trans)
     self.rendered_form = None
Пример #7
0
 def awake(self, trans):
     Page.awake(self, trans)
     self.rendered_form = None