def add_errors(self, error_list): logger.debug('The following are add_errors()') for error in self._get_error_list(error_list): if error.startswith("This field is required"): error = "Required fields are marked with an asterisk" logger.debug('\t{}'.format(error)) self.error(error)
def _has_access(self, request, *args, **kwargs): if self.login_required: view_perm = self._get_view_perm(*args, **kwargs) if not request.user.has_perm(view_perm): logger.debug('Failed permission check {}'.format(view_perm)) return False logger.debug('Has view permission: {}'.format(view_perm)) return True
def default(self, o): if hasattr(o, '__json__'): return o.__json__(self.default) if isinstance(o, (QuerySet, set)): return list(o) elif isinstance(o, (types.FunctionType, types.LambdaType)): logger.debug("Tried to jsonify a function or lambda") return str(o) elif isinstance(o, EnumItem): return int(o) else: return super(AsymJSONEncoder, self).default(o)
def default(self, o): if hasattr(o, '__json__'): return o.__json__(self.default) if isinstance(o, (QuerySet, set)): return list(o) elif isinstance(o, (types.FunctionType, types.LambdaType)): try: from asymmetricbase.logging import logger logger.debug("Tried to jsonify a function or lambda") except ImportError: pass return str(o) elif isinstance(o, EnumItem): return int(o) else: return super(AsymJSONEncoder, self).default(o)
def dispatch(self, request, *args, **kwargs): try: self.request = request logger.debug('BEGIN REQUEST *********** {}'.format(request.path)) if not self._login_requirement_ok(request): logger.debug('Login requirement is not ok, redirecting') self.error('You were not logged in properly. Please try again') return redirect('{}?{}={}'.format( reverse(getattr(settings, 'ASYM_FAILED_LOGIN_URL', settings.LOGIN_REDIRECT_URL)), REDIRECT_FIELD_NAME, request.path, )) if hasattr(request, 'user'): logger.debug('User is: {}'.format(request.user)) else: logger.debug('No user in request') permissions_required = self._merge_attr('permissions_required') logger.debug('The required permissions are {}'.format(permissions_required)) logger.debug('AsymBaseView: Getting form data') self.get_form_data() # Do any preprocessing, which should also fill out the arguments # for the forms logger.debug('AsymBaseView: Preprocess') self.preprocess(request, *args, **kwargs) # Create the form instances, and place into context logger.debug('AsymBaseView: LoadForms') self.load_forms(request) logger.debug("AsymBaseView: Predispatch") self.predispatch(request, *args, **kwargs) logger.debug("AsymBaseView: Has Access") if not self._has_access(request, *args, **kwargs): self.error("You do not have permission to view that page") return redirect(reverse(getattr(settings, 'ASYM_FAILED_LOGIN_URL'))) try: logger.debug('AsymBaseView: dispatch') response = super(AsymBaseView, self).dispatch(request, *args, **kwargs) except ForceRollback: # Ignore these because they're not real exceptions response = self.render_to_response() except ContentNotRenderedError as e: logger.exception('Content not rendered for template {}.'.format(self.template_name)) self.template_name = '500.djhtml' return self.render_to_response() logger.debug('END REQUEST*********') return response except DeveloperTODO as e: logger.error('{}'.format(e)) self.template_name = 'todo_error.djhtml' return self.render_to_response()