Пример #1
0
def index(request):
    if request.user.is_superuser:
        record_list = Record.objects.all()
        
        show_operator = True
    elif len(Job.objects(users=str(request.user))) != 0:
        record_list = []
        job_list = [job.name for job in Job.objects(users=str(request.user)).values_list('builders')]
        
        for record in Record.objects.all():
            if record.job in job_list:
                record_list.append(record)
                
        show_operator = True
    else:
        record_list = Record.objects.filter(user=str(request.user))
        show_operator = False
    
    job_list = []
    operator_list = []
    result_list = []
    
    for record in record_list:
        record.start_time = (datetime.utcfromtimestamp(int(record.start_time)) + timedelta(hours=8)).\
            strftime('%Y-%m-%d %H:%M:%S')
        job_list.append(record.job)
        operator_list.append(record.user)
        result_list.append(record.result)
        
        if record.finish_time != 0:
            record.finish_time = (datetime.utcfromtimestamp(int(record.finish_time)) + timedelta(hours=8)).\
                strftime('%Y-%m-%d %H:%M:%S')
        else:
            record.finish_time = ''
    
    job_list = sorted(set(job_list))
    operator_list = sorted(set(operator_list))
    result_list = sorted(set(result_list))
    
    context = {
        'record_list': record_list[::-1],
        'job_list': job_list,
        'operator_list': operator_list,
        'result_list': result_list,
        'user': request.user,
        'show_operator': show_operator,
    }

    return render(request, 'history/index.html', context)
Пример #2
0
def index(request):
    if request.user.is_superuser:
        job_list = Job.objects.all()
        server_list = Server.objects.all()
    else:
        job_list = Job.objects(users=str(request.user))
        server_list = Server.objects(users=str(request.user))
    
    user_list = User.objects.all()
    
    context = {
        'job_list': job_list,
        'server_list': server_list,
        'user_list': user_list
    }
    
    return render(request, 'permission/index.html', context)
Пример #3
0
def record_filter(request):
    filter_kwargs = {
        'job': request.POST.get('job_name', None),
        'user': request.POST.get('operator', None),
        'result': request.POST.get('result', None),
        'start_time__gte': request.POST.get('date_after', None),
        'finish_time__lte': request.POST.get('date_before', None)
    }
    
    for key in filter_kwargs.keys():
        if filter_kwargs[key] is None:
            del filter_kwargs[key]
    
    if 'start_time__gte' in filter_kwargs:
        date_str = str(filter_kwargs['start_time__gte'])
        date = datetime.strptime(date_str, '%Y-%m-%d') - timedelta(hours=8)
        filter_kwargs['start_time__gte'] = unicode(calendar.timegm(date.utctimetuple()))
        
    if 'finish_time__lte' in filter_kwargs:
        date_str = str(filter_kwargs['finish_time__lte']) + ' 23:59:59'
        date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S') - timedelta(hours=8)
        filter_kwargs['finish_time__lte'] = unicode(calendar.timegm(date.utctimetuple()))
    
    if len(set(filter_kwargs.values())) == 0:
        if request.user.is_superuser:
            record_list = Record.objects.all()

            show_operator = True
        elif len(Job.objects(users=str(request.user))) != 0:
            record_list = []
            job_list = [job.name for job in Job.objects(users=str(request.user)).values_list('builders')]
            
            for record in Record.objects.all():
                if record.job in job_list:
                    record_list.append(record)
                    
            show_operator = True
        else:
            record_list = Record.objects.filter(user=str(request.user))
            show_operator = False
    else:
        if request.user.is_superuser:
            record_list = Record.objects.filter(**filter_kwargs)
            
            show_operator = True
        elif len(Job.objects(users=str(request.user))) != 0:
            record_list = []
            job_list = [job.name for job in Job.objects(users=str(request.user)).values_list('builders')]
            
            for record in Record.objects.filter(**filter_kwargs):
                if record.job in job_list:
                    record_list.append(record)
                    
            show_operator = True
        else:
            record_list = Record.objects.filter(user=str(request.user))
            show_operator = False
    
    job_list = []
    operator_list = []
    result_list = []
    
    for record in record_list:
        record.start_time = (datetime.utcfromtimestamp(int(record.start_time)) + timedelta(hours=8)).\
            strftime('%Y-%m-%d %H:%M:%S')
        job_list.append(record.job)
        operator_list.append(record.user)
        result_list.append(record.result)
        
        if record.finish_time != 0:
            record.finish_time = (datetime.utcfromtimestamp(int(record.finish_time)) + timedelta(hours=8)).\
                strftime('%Y-%m-%d %H:%M:%S')
        else:
            record.finish_time = ''
            
    job_list = sorted(set(job_list))
    operator_list = sorted(set(operator_list))
    result_list = sorted(set(result_list))
    
    context = {
        'record_list': record_list[::-1],
        'job_list': job_list,
        'operator_list': operator_list,
        'result_list': result_list,
        'user': request.user,
        'show_operator': show_operator,
    }

    return render(request, 'history/index.html', context)
Пример #4
0
def edit_job_user(request):
    if request.method == 'POST':
        Job.objects(builders__name=request.POST.get('job_name', '')).\
            update_one(set__users=list(request.POST.getlist('job_users[]')))
    
    return HttpResponse()
Пример #5
0
def get_job_user(request):
    try:
        job = Job.objects(builders___name=request.POST.get(job_name, '')).first()
        return HttpResponse(', '.join([str(user) for user in job.users]))
    except:
        return HttpResponse('')