def process_request(self, req):
        """
        If the request is AJAX, inserts a new row into the record table for 
        the authenticated user to show they have seen a particular 
        notification.

        If the request is a normal GET, try and show the appropriate full 
        screen project message.
        """

        if req.path_info.startswith('/projectmessage'):
            try:
                name = req.path_info.split('/projectmessage/')[1]
            except IndexError:
                name = None
                self.log.debug("No project messages to show at "
                                "/projectmessage")

            if name:
                try:
                    msg = ProjectMessage(self.env, name)
                except ResourceNotFound:
                    self.log.debug("No project messages found")
                else:
                    add_script(req, 'projectmessage/js/project_message.js')
                    data = {
                        'name': msg['name'],
                        'message': msg['message'],
                        'button': msg['button'],
                    }
                    return 'project_message.html', data, None
            data = {'message': 'No project messages to show.'}
            return 'project_message.html', data, None

        elif (req.method == 'POST' and
                req.path_info.startswith('/ajax/projectmessage')):
            if req.args.get('name'):
                new_record = ProjectMessageRecord(self.env)
                new_record.populate(req)
                try:
                    new_record.insert()
                except:
                    self.log.info("Unable to create record that %s agreed "
                                  " to %s", new_record['agreed_by'], 
                                  new_record['message_name'])
                finally:
                    self.log.debug("Created a new record to show %s agreed "
                                   "to %s", new_record['agreed_by'],
                                   new_record['message_name'])
                data = {'success': True}
                req.send(to_json(data), 'text/json')