Exemplo n.º 1
0
def defineddata(request):
    """ JSON for roles defined datatable """
    cols = ['group__name', 'description', 'color', '']
    draw = request.GET['draw']
    offset = int(request.GET['start'])
    limit = int(request.GET['length'])
    order_col = cols[int(request.GET['order[0][column]'])]
    order_dir = '-' if 'desc' == request.GET['order[0][dir]'] else ''
    search = request.GET['search[value]']
    total = Roles.objects.all().count()
    orderstr = order_dir + order_col
    if search != '':
        f = Q(group__name__icontains=search) | Q(descr__icontains=search)
        filtered = Roles.objects.filter(f).count()
        query = Roles.objects.filter(f).order_by(orderstr,
                                                 'id')[offset:offset + limit]
    else:
        filtered = total
        query = Roles.objects.all().order_by(orderstr,
                                             'id')[offset:offset + limit]
    data = []
    for r in query:
        # Manage [rolename, can_delete, is_active, can_lock]
        data.append([
            r.group.name, r.description,
            [r.color, LABELCOLORSDICT.get(r.color, 'Other')],
            [r.group.name, r.internal]
        ])
    context = {
        'draw': draw,
        'recordsTotal': total,
        'recordsFiltered': filtered,
        'data': data
    }
    return JsonResponse(context)
Exemplo n.º 2
0
def defineddata(request):
    """ JSON for roles defined datatable """
    cols = ['group__name', 'description', 'color', '']
    draw = request.GET['draw']
    offset = int(request.GET['start'])
    limit = int(request.GET['length'])
    order_col = cols[int(request.GET['order[0][column]'])]
    order_dir = '-' if 'desc' == request.GET['order[0][dir]'] else ''
    search = request.GET['search[value]']
    total = Roles.objects.all().count()
    orderstr = order_dir + order_col
    if search != '':
        f = Q(group__name__icontains=search) | Q(descr__icontains=search)
        filtered = Roles.objects.filter(f).count()
        query = Roles.objects.filter(f).order_by(orderstr, 'id')[offset:offset + limit]
    else:
        filtered = total
        query = Roles.objects.all().order_by(orderstr, 'id')[offset:offset + limit]
    data = []
    for r in query:
        # Manage [rolename, can_delete, is_active, can_lock]
        data.append([r.group.name, r.description, [r.color, LABELCOLORSDICT.get(r.color, 'Other')],
                     [r.group.name, r.internal]])
    context = {'draw': draw, 'recordsTotal': total, 'recordsFiltered': filtered, 'data': data}
    return JsonResponse(context)
Exemplo n.º 3
0
def info(request, name):
    """ Department details info """
    department = get_object_or_404(Departments, shortname=name)
    labelcolor = LABELCOLORSDICT.get(department.color, 'bg-blue')
    members = Profile.objects.filter(departments=department)
    memberlist = []
    for m in members:
        memberlist.append(m.user.username)
    userlist = getUserListfiltered(memberlist)
    form = DepartmentAddmemberForm(users=userlist)
    context = {
        'contentheader':
        'Department',
        'contentheadersmall':
        'Info',
        'apppath': ['Departments', 'Info', name],
        'departmentdisplay':
        1,
        'Department':
        department,
        'form':
        form,
        'membersnr':
        members.count(),
        'labelcolor':
        labelcolor,
        'deldepart':
        getDepartmentssnr(request) > 1
        or (request.user.is_superuser and request.user.is_staff)
    }
    updateMenuNumbers(request, context)
    return render(request, 'departments/info.html', context)
Exemplo n.º 4
0
def defineddata(request):
    """ JSON for departments defined datatable """
    cols = ['name', 'description', 'shortname', '', '', '']
    departs = getUserDepartments(request)
    offset = int(request.GET['start'])
    limit = int(request.GET['length'])
    order_col = cols[int(request.GET['order[0][column]'])]
    order_dir = '-' if 'desc' == request.GET['order[0][dir]'] else ''
    search = request.GET['search[value]']
    orderstr = order_dir + order_col
    total = departs.count()
    if search != '':
        f = Q(name__icontains=search) | Q(description__icontains=search) | Q(shortname__icontains=search)
        filtered = departs.filter(f).count()
        query = departs.filter(f).order_by(orderstr)[offset:offset + limit]
    else:
        filtered = total
        query = departs.order_by(orderstr)[offset:offset + limit]
    data = []
    for d in query:
        admins = Profile.objects.filter(departments=d, user__is_staff=False, user__is_superuser=True).count()
        users = Profile.objects.filter(departments=d, user__is_staff=False, user__is_superuser=False).count()
        data.append([d.name, d.shortname, d.description, [d.color, LABELCOLORSDICT.get(d.color, 'Undefined')], admins,
                     users, [d.name, d.shortname, total > 1 or (request.user.is_superuser and request.user.is_staff)]])
    draw = request.GET['draw']
    context = {'draw': draw, 'recordsTotal': total, 'recordsFiltered': filtered, 'data': data}
    return JsonResponse(context)
Exemplo n.º 5
0
def info(request, rolename):
    role = get_object_or_404(Roles, group__name=rolename)
    labelcolor = LABELCOLORSDICT.get(role.color, 'bg-blue')
    perms = get_system_permissions_filtered(role.group)
    perms.insert(0, (None, ''))
    form = RolesAddpermForm(perms=perms)
    context = {'contentheader': 'Roles', 'apppath': ['Roles', 'Info', rolename], 'Role': role, 'rolestatusdisplay': 1,
               'labelcolor': labelcolor, 'form': form}
    updateMenuNumbers(request, context)
    return render(request, 'roles/info.html', context)
Exemplo n.º 6
0
def info(request, rolename):
    role = get_object_or_404(Roles, group__name=rolename)
    labelcolor = LABELCOLORSDICT.get(role.color, 'bg-blue')
    perms = get_system_permissions_filtered(role.group)
    perms.insert(0, (None, ''))
    form = RolesAddpermForm(perms=perms)
    context = {
        'contentheader': 'Roles',
        'apppath': ['Roles', 'Info', rolename],
        'Role': role,
        'rolestatusdisplay': 1,
        'labelcolor': labelcolor,
        'form': form
    }
    updateMenuNumbers(request, context)
    return render(request, 'roles/info.html', context)
Exemplo n.º 7
0
def info(request, name):
    """ Department details info """
    department = get_object_or_404(Departments, shortname=name)
    labelcolor = LABELCOLORSDICT.get(department.color, 'bg-blue')
    members = Profile.objects.filter(departments=department)
    memberlist = []
    for m in members:
        memberlist.append(m.user.username)
    userlist = getUserListfiltered(memberlist)
    form = DepartmentAddmemberForm(users=userlist)
    context = {'contentheader': 'Department', 'contentheadersmall': 'Info', 'apppath': ['Departments', 'Info', name],
               'departmentdisplay': 1, 'Department': department, 'form': form, 'membersnr': members.count(),
               'labelcolor': labelcolor,
               'deldepart': getDepartmentssnr(request) > 1 or (request.user.is_superuser and request.user.is_staff)}
    updateMenuNumbers(request, context)
    return render(request, 'departments/info.html', context)