Ejemplo n.º 1
0
def create_user(request, profile_pk):
    profile = get_profile_model().objects.get(pk=profile_pk)
    if profile.user:
        return httprr(get_admin_object_url(profile.user), u"Usuário já criado!")
    else:
        user = User.objects.create_user(profile.username, email="", password=None)
        return httprr("/admin/auth/user/%s/" % user.pk, u"Usuário criado!")
Ejemplo n.º 2
0
def give_permission(request):
    if not request.user.is_superuser:
        return HttpResponseForbidden()
    elif request.method=='POST' and 'confirmacao' not in request.POST:
        form = AtribuirPermissaoForm(data=request.POST)
        if form.is_valid():
            usuarios = form.cleaned_data['usuarios']
            usuarios = usuarios.replace(',', ';').replace('\r\n', ';')
            grupos = form.cleaned_data['grupos']
            permissoes = form.cleaned_data['permissoes']
            lista_usuarios = []
            lista_usuarios_nao_identificados = []
            for login in usuarios.split(';'):
                if login:
                    login = login.strip()
                    usuario_qs = User.objects.filter(username=login)
                    if usuario_qs:
                        lista_usuarios.append(usuario_qs[0])
                    else:
                        lista_usuarios_nao_identificados.append(login)
            l = []
            for usuario in lista_usuarios:
                l.append(unicode(usuario.pk))
            usuarios_str = ';'.join(l)
            l = []
            for grupo in grupos:
                l.append(unicode(grupo.pk))
            grupos_str = ';'.join(l)
            l = []
            for permissao in permissoes:
                l.append(unicode(permissao.pk))
            permissoes_str = ';'.join(l)    
    elif request.method=='POST' and 'confirmacao' in request.POST:
        form = AtribuirPermissaoForm()
        usuarios_str = request.POST['usuarios']
        grupos_str =  request.POST['grupos']
        permissoes_str =  request.POST['permissoes']
        
        grupos = []
        for id in grupos_str.split(';'):
            if id:
                grupos.append(Group.objects.get(pk=id))
        permissoes = []
        for id in permissoes_str.split(';'):
            if id:
                permissoes.append(Permission.objects.get(pk=id))
        for id in usuarios_str.split(';'):
            usuario = User.objects.get(pk=id)
            for grupo in grupos:
                usuario.groups.add(grupo)
            for permissao in permissoes:
                usuario.user_permissions.add(permissao)
            usuario.save()
        httprr("/djtools/give_permission/", u'Permissões atribuídas com sucesso')
    else:
        form = AtribuirPermissaoForm()
    return locals()
Ejemplo n.º 3
0
def delete_object(request, app, model, pk):
    """
    View genérica para remover um objeto de modelo.
    -----
    Parâmetro opcional no GET: ``redirect_url``.
    """
    
    # Pegando a classe de modelo e o objeto
    model_class = get_model(app, model)
    obj = get_object_or_404(model_class, pk=pk)
    
    if not has_delete_permission(obj=obj, user=request.user):
        return HttpResponseForbidden()
    
    # Removendo o objeto
    obj.delete()
    
    # redirect_url
    if 'redirect_url' in request.GET:
        redirect_url = request.GET['redirect_url']
    else:
        redirect_url = request.META.get('HTTP_REFERER', '/')
    
    # msg
    msg_args = dict(name=model_class._meta.verbose_name.title(), obj=unicode(obj))
    msg = u'%(name)s "%(obj)s" foi removido com sucesso.' % msg_args
    
    return httprr(redirect_url, msg)
Ejemplo n.º 4
0
def emprestimovigente(request, id):
    try:
        emprestimo = Emprestimo.objects.get(pk=id)
        emprestimo.estado = SysTIChoices.VIGENTE
        Emprestimo.save()

        return httprr('/systi/emprestimo/' + id + '/', u'Emprestimo Vigente.',
                      'success')
    except Transferencia.DoesNoExist:
        raise Http404(u"Emprestimo Não existe")
Ejemplo n.º 5
0
def transferencia_altorizar(request, id):
    try:
        transferencia = Transferencia.objects.get(pk=id)
        transferencia.data_altorizada = timezone.now()
        transferencia.altorizada = SysTIChoices.ALTORIZADO
        transferencia.transferida = SysTIChoices.AGUARDANDO_TRANSFERENCIA
        transferencia.save()
        return httprr('/systi/transferencia/' + id + '/',
                      u'Transferencia Alterada.', 'success')
    except Transferencia.DoesNoExist:
        raise Http404(u"Transferencia Não existe")
Ejemplo n.º 6
0
def transferencia_transferir(request, id):
    try:
        transferencia = Transferencia.objects.get(pk=id)
        transferencia.data_transferencia = timezone.now()
        transferencia.transferida = SysTIChoices.TRANSFERIDA
        transferencia.save()
        ativos = transferencia.ativos_transferidos.all()

        for ativo in ativos:
            ativo.local_do_ativo = transferencia.setor_destino
            ativo.save()

        return httprr('/systi/transferencia/' + id + '/',
                      u'Transferencia Alterada.', 'success')
    except Transferencia.DoesNoExist:
        raise Http404(u"Transferencia Não existe")
Ejemplo n.º 7
0
def index(request):
    """
    Tela inicial com informações relevantes de cada módulo que o usuário
    autenticado tenha acesso.
    """
    if request.user.is_superuser and not user_has_profile(request.user):
        return httprr("/admin/")

    contexto = dict()

    # Gratuidade
    if in_group(request.user, ["gratuidade_operador"]) and "gratuidade" in settings.INSTALLED_APPS:
        contexto["gratuidade"] = dict()
        contexto["gratuidade"]["cadastro_pessoagratuidade"] = "Cadastrar"

    # Inventário
    if in_group(request.user, ["inventario_operador"]) and "inventario" in settings.INSTALLED_APPS:
        contexto["inventario"] = dict()
        contexto["inventario"]["cadastro_itenspatrimoniais"] = "Cadastrar"

    return contexto
Ejemplo n.º 8
0
def endereco_deletar(request, objeto_id):
    Endereco.objects.get(pk=objeto_id).delete()
    return httprr(request.META["HTTP_REFERER"], u"Endereço removido com sucesso!")
Ejemplo n.º 9
0
def acesso_biometrico_desregistra(request, id):
    acesso = AcessoBiometrico.objects.get(pk=id)
    acesso.data_des_registro = timezone.now()
    acesso.save()
    return httprr('/systi/acesso_biometrico/' + id + '/',
                  u'Acesso Biometrico Concluido.', 'success')