def process_request(self, req):
     if req.authname == 'anonymous':
         return
     dis_obj = DisclaimerModel(self.env)
     user_dis_obj = UserDisclaimerModel(self.env)
     if req.method == 'POST':
         name = req.args.get('name').strip()
         body = req.args.get('body').strip()
         version = req.args.get('version').strip()
         user = req.authname
         user_dis_obj.insert(user, name, version, body)
         req.send('{"message":"success"}', 'text/json')
     else:
         req.send('{"message":"Invalid call"}', 'text/json')
 def filter_stream(self, req, method, filename, stream, data):
     if req.authname == 'anonymous':
         return stream
     if not self.c_name or not self.c_version:
         return stream
     user_dis_obj = UserDisclaimerModel(self.env)
     valid = user_dis_obj.validate(req.authname, self.c_name, self.c_version)
     if valid:
         return stream
     obj = DisclaimerModel(self.env)
     disclaimer = obj.get_by_name_version(self.c_name,self.c_version)
     if not disclaimer:
         return stream
     (id, author, body) = disclaimer
     add_stylesheet(req, 'disclaimer/css/disclaimer.css')
     add_javascript(req, 'disclaimer/js/disclaimer.js')
     chrome = Chrome(self.env)
     template = chrome.load_template("disclaimer.html")
     data = dict(name=self.c_name, version=self.c_version, body=body)
     data = chrome.populate_data(req, data)
     stream |= Transformer('//div[@id="footer"]').append(template.generate(**data))
     return stream