def get_request_from_message(message): """returns inicialized request """ request = AsgiHandler.request_class(message) widget = message.content['widget'] request.frontend_editing = True if not hasattr(request, '_feincms_extra_context'): request._feincms_extra_context = {} from leonardo.module.web.processors.config import ContextConfig # call processors for fn in reversed(list(widget.parent.request_processors.values())): fn(widget.parent, request) from django.core.handler.base import BaseHandler handler = BaseHandler() handler.load_middleware() # Apply request middleware for middleware_method in handler._request_middleware: middleware_method(request) request.LEONARDO_CONFIG = ContextConfig(request) return request
def get_request_from_message(self, message, widget, user): """returns inicialized request """ request = AsgiHandler.request_class(message) request.user = user request.path = widget.parent.get_absolute_url() request.frontend_editing = True if not hasattr(request, '_feincms_extra_context'): request._feincms_extra_context = {} # call processors for fn in reversed(list(widget.parent.request_processors.values())): fn(widget.parent, request) request.LEONARDO_CONFIG = ContextConfig(request) # this breaks all get_absolute_uri calls request.META['SERVER_NAME'] = 'localhost' request.META['SERVER_PORT'] = 80 handler = BaseHandler() handler.load_middleware() # Apply request middleware for middleware_method in handler._request_middleware: try: middleware_method(request) except: pass # we know that we are in editing mode and user is logged in request.frontend_editing = True request.user = user # call processors for fn in reversed(list(widget.parent.request_processors.values())): fn(widget.parent, request) if hasattr(widget, 'process') and callable(widget.process): widget.process(request, view=self) return request