Example #1
0
def domain(request, domain_name):

    if not request.user.is_staff:
        return HttpResponseForbidden()

    domain_tag = get_object_or_404(Tag, name='domain:%s' % domain_name)
    users = cache.get('%s-users' % domain_tag)
    total_files = cache.get('%s-files' % domain_tag)
    total_bytecount = cache.get('%s-bytecount' % domain_tag)
    if not users or not total_files or not total_bytecount:
        users, total_files, total_bytecount = tasks.get_domain_content(domain_tag)

    return respond_to(request, {'text/html': 'apps/content/domain.html'},
                      {'domain': domain_name, 'total_bytecount': total_bytecount, 'total_files': total_files,
                       'users': users})
Example #2
0
def domain_report(request, domain_name):
    requester = report_auth(request)
    if requester and (domain_name in requester['domains'] or '*' in requester['domains']):
        data = []
        domain_tag = get_object_or_404(Tag, name='domain:%s' % domain_name)
        users, total_files, total_bytecount = tasks.get_domain_content(domain_tag)
        for item in users:
            value = float(item['bytecount'])
            max_value = float(total_bytecount)
            percent = (value / max_value) * 100
            data.append({
                'username': item['username'],
                'number_of_files': item['number_of_files'],
                'storage_used (B)': item['bytecount'],
                'percent': '{0:0.2g}%'.format(int(round(percent)))
            })
        return dicts_to_csv_response(data, header=['username', 'number_of_files', 'storage_used (B)', 'percent'])
    return HttpResponseForbidden()