Example #1
0
    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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
 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()
Example #7
0
 def _get_api_url(self):
     from is_core.site import get_model_core
     return get_model_core(self.model).get_api_url(self.request)
Example #8
0
    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)
Example #11
0
 def _get_menu_group_pattern_name(self):
     return get_model_core(self.model).get_menu_group_pattern_name()
Example #12
0
 def _get_api_url(self):
     return get_model_core(self.model).get_api_url(self.request)
 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)