Ejemplo n.º 1
0
Archivo: views.py Proyecto: AsaK/SisLoc
def users(request):
    action = request.GET.get('action')
    if action == 'criar':
        inputNome = request.GET.get('inputNome')
        if inputNome is not None:
            inputUsuario = request.GET.get('inputUsuario')
            inputEmail = request.GET.get('inputEmail')
            inputTipo = request.GET.get('inputTipo')
            inputSenha = request.GET.get('inputSenha')
            newUser = Users()
            newUser.name = inputNome
            newUser.username = inputUsuario
            newUser.email = inputEmail
            newUser.type = inputTipo
            newUser.password = hashlib.md5(inputSenha).hexdigest()
            newUser.creation_date = datetime.datetime.now()
            newUser.save()
            UsersResult = Users.objects.all()
            page = request.GET.get('pagina')
            paginator = Paginator(UsersResult, 20) #Show 20 per page
            try:
                UsersResult  = paginator.page(page)
            except PageNotAnInteger:
                # If page is not an integer, deliver first page.
                UsersResult  = paginator.page(1)
            except EmptyPage:
                # If page is out of range (e.g. 9999), deliver last page of results.
                UsersResult  = paginator.page(paginator.num_pages)
            return render(request, 'SisLocApp/users.html', {'UsersResult': UsersResult,
                                                            'action': 'listar',
                                                            'status': 'created'})
        return render(request, 'SisLocApp/users.html', {'action': 'criar'})
    elif action == 'excluir':
        inputExcluir = request.GET.get('inputExcluir')
        userDeleted = Users.objects.filter(id=inputExcluir)
        userDeleted.delete()
        UsersResult = Users.objects.all()
        page = request.GET.get('pagina')
        paginator = Paginator(UsersResult, 20) #Show 20 per page
        try:
            UsersResult  = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            UsersResult  = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            UsersResult  = paginator.page(paginator.num_pages)
        return render(request, 'SisLocApp/users.html', {'UsersResult': UsersResult,
                                                        'action': 'listar',
                                                        'status': 'deleted'})
    elif action == 'alterar':
        inputAlterar = request.GET.get('inputAlterar')
        UsersResult = Users.objects.get(id=inputAlterar)
        inputNome = request.GET.get('inputNome')
        if inputNome is None:
            return render(request, 'SisLocApp/users.html', {'UsersResult': UsersResult,
                                                            'action': 'alterar'})
        inputEmail = request.GET.get('inputEmail')
        inputTipo = request.GET.get('inputTipo')
        inputAlterarSenha = request.GET.get('inputAlterarSenha')
        UsersResult.name = inputNome
        UsersResult.email = inputEmail
        UsersResult.type = inputTipo
        if inputAlterarSenha == 'on':
            UsersResult.password = request.GET.get('inputSenha')
        UsersResult.save()

        UsersResult = Users.objects.all()
        page = request.GET.get('pagina')
        paginator = Paginator(UsersResult, 20) #Show 20 per page
        try:
            UsersResult  = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            UsersResult  = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            UsersResult  = paginator.page(paginator.num_pages)
        return render(request, 'SisLocApp/users.html', {'UsersResult': UsersResult,
                                                        'action': 'listar',
                                                        'status': 'updated'})
    else:
        UsersResult = Users.objects.all()
        page = request.GET.get('pagina')
        paginator = Paginator(UsersResult, 20) #Show 20 per page
        try:
            UsersResult  = paginator.page(page)
        except PageNotAnInteger:
            # If page is not an integer, deliver first page.
            UsersResult  = paginator.page(1)
        except EmptyPage:
            # If page is out of range (e.g. 9999), deliver last page of results.
            UsersResult  = paginator.page(paginator.num_pages)
        return render(request, 'SisLocApp/users.html', {'UsersResult': UsersResult,
                                                        'action': 'listar'})