def get_redirect_url(self, *args, **kwargs): exported_file = get_object_or_404(ExportedFile.objects.filter_active(), slug=kwargs.get('slug')) core = get_model_core(ExportedFile) if (core.permission.has_permission( 'read_all', self.request, self, obj=exported_file) or (core.permission.has_permission( 'read_own', self.request, self, obj=exported_file) and exported_file.created_by == self.request.user)): exported_file.downloaded_by.add(self.request.user) return exported_file.file.url else: raise HTTPForbiddenResponseException
def get_url_from_model_core(request, obj): """ Returns object URL from model core. """ from is_core.site import get_model_core model_core = get_model_core(obj.__class__) if model_core and hasattr(model_core, 'ui_patterns'): edit_pattern = model_core.ui_patterns.get('detail') return (edit_pattern.get_url_string(request, obj=obj) if edit_pattern and edit_pattern.has_permission('get', request, obj=obj) else None) else: return None
def get_obj_url(request, obj): if (hasattr(getattr(obj, 'get_absolute_url', None), '__call__') and hasattr(getattr(obj, 'can_see_edit_link', None), '__call__') and obj.can_see_edit_link(request)): return obj.get_absolute_url() else: from is_core.site import get_model_core model_core = get_model_core(obj.__class__) if model_core: edit_pattern = model_core.ui_patterns.get('edit') if edit_pattern and edit_pattern.can_call_get(request, obj=obj): return edit_pattern.get_url_string(request, obj=obj) return None
def get_url_from_model_core(request, obj): """ Returns object URL from model core. """ from is_core.site import get_model_core model_core = get_model_core(obj.__class__) if model_core and hasattr(model_core, 'ui_patterns'): edit_pattern = model_core.ui_patterns.get('edit') return ( edit_pattern.get_url_string(request, obj=obj) if edit_pattern and edit_pattern.can_call_get(request, obj=obj) else None ) else: return None
def _get_menu_group_pattern_name(self): from is_core.site import get_model_core return get_model_core(self.model).get_menu_group_pattern_name()
def _get_api_url(self): from is_core.site import get_model_core return get_model_core(self.model).get_api_url(self.request)
def _get_related_core(self): from is_core.site import get_model_core return get_model_core(self.model)
def _get_menu_group_pattern_name(self): return get_model_core(self.model).get_menu_group_pattern_name()
def _get_api_url(self): return get_model_core(self.model).get_api_url(self.request)