예제 #1
0
def update_avanceenflujo(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not AvanceEnFlujo.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse('item_no_encontrado'))
    obj = AvanceEnFlujo.objects.get(pk=pk)
    frm = FrmAvanceEnFlujo(instance=obj, data=request.POST or None)
    if "POST" == request.method:
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), avanceenflujo_upload_to)
            obj.save()
            instanciaflujo = InstanciaHistoriaDetalle.objects.get(
                tipo_documento_generado='AvanceEnFlujo',
                iddocumento_generado=pk).instanciahistoria.instanciaflujo
            return HttpResponseRedirect(
                reverse('servicio_see', kwargs={'pk': instanciaflujo.pk}))
    return render(
        request, 'global/form.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Nota de Avance en Flujo',
            'titulo_descripcion': 'Actualizar',
            'frm': frm,
        })
예제 #2
0
def new(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if 'POST' == request.method:
        frm = FrmCliente(request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.username = obj.usuario
            obj.set_password(obj.contraseña)
            obj.created_by = usuario
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), usr_upload_to)
            obj.save()
            obj.groups.add(Group.objects.get(name='Cliente'))
            obj.save()
            return HttpResponseRedirect(
                reverse('cliente_see', kwargs={'pk': obj.pk}))
    frmUsr = FrmClienteUsr(request.POST or None)
    frmContacto = FrmClienteContacto(request.POST or None)
    frmFacturacion = FrmClienteFacturacion(request.POST or None)
    return render(
        request, 'global/form2.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Clientes',
            'titulo_descripcion': 'Nuevo',
            'titulo_frm_1': 'Usuario',
            'frm': frmUsr,
            'titulo_frm_2': 'Contacto',
            'frm2': frmContacto,
            'titulo_frm_4': 'Facturación',
            'frm4': frmFacturacion,
        })
예제 #3
0
def update(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not Cliente.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse('item_no_encontrado'))
    obj = Cliente.objects.get(pk=pk)
    data_original = {
        'email': obj.email,
        'user': obj.usuario,
        'password': obj.contraseña,
    }
    if 'POST' == request.method:
        frm = FrmCliente(instance=obj, data=request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.username = obj.usuario
            obj.set_password(obj.contraseña)
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), usr_upload_to)
            obj.save()
            obj.groups.add(Group.objects.get(name='Cliente'))
            obj.save()
            if (data_original['email'] != obj.email
                    or data_original['user'] != obj.usuario
                    or data_original['password'] != obj.contraseña):
                if obj.email is not None and obj.email.strip() != "":
                    plain_mail = render(request, 'app/email/cliente_upd.txt', {
                        'usuario': obj
                    }).content.decode('utf-8')
                    html_mail = render(request, 'app/email/cliente_upd.html', {
                        'usuario': obj
                    }).content.decode('utf-8')
                    send_mail("Actualización en Datos de Acceso a BMhaus",
                              plain_mail, settings.DEFAULT_FROM_EMAIL,
                              [obj.email], html_mail,
                              ((get_setting_fn('01 General.email_encabezado',
                                               Setting), 'img_encabezado'),
                               (get_setting_fn('01 General.email_firma',
                                               Setting), 'img_firma')))
            return HttpResponseRedirect(
                reverse('cliente_see', kwargs={'pk': obj.pk}))
    frmUsr = FrmClienteUsr(instance=obj)
    frmContacto = FrmClienteContacto(instance=obj)
    frmFacturacion = FrmClienteFacturacion(instance=obj)
    return render(
        request, 'global/form2.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Clientes',
            'titulo_descripcion': obj,
            'titulo_frm_1': 'Usuario',
            'frm': frmUsr,
            'titulo_frm_2': 'Contacto',
            'frm2': frmContacto,
            'titulo_frm_4': 'Facturación',
            'frm4': frmFacturacion,
        })
예제 #4
0
def index(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    search_value = ""
    data = Setting.objects.filter(es_multiple=False)
    if "POST" == request.method:
        if "singles" == request.POST.get('action'):
            parametros = Setting.objects.filter(es_multiple=False)
            for parametro in parametros:
                if("INTEGER" == parametro.tipo
                        or "STRING" == parametro.tipo
                        or "TEXT" == parametro.tipo):
                    valor = request.POST.get(parametro.nombre)
                    if valor is not None:
                        parametro.valor = valor
                        parametro.save()
                elif ("PICTURE" == parametro.tipo
                        or "FILE" == parametro.tipo):
                    file = request.FILES.get(parametro.nombre)
                    if file is not None:
                        parametro.valor = move_uploaded_file(
                            file, setting_upload_to)
                        parametro.save()
            data = Setting.objects.filter(es_multiple=False)
        elif "search" == request.POST.get('action'):
            search_value = hipernormalize(request.POST.get('valor'))
            data = [reg
                    for reg in data if (
                        search_value in hipernormalize(reg.seccion)
                        or search_value in hipernormalize(reg.nombre)
                        or search_value in hipernormalize(
                            reg.nombre_para_mostrar)
                        or search_value in hipernormalize(reg.tipo))
                    ]
    toolbar = []
    toolbar.append({'type': 'search'})
    return render(
        request,
        'initsys/setting/values.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Parámetros del Sistema',
            'singles': data,
            'multiples': Setting.objects.filter(es_multiple=True),
            'toolbar': toolbar,
            'search_value': search_value,
        })
예제 #5
0
def update(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not Usr.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse(
            'item_no_encontrado'))
    usr = Usr.objects.get(pk=pk)
    if 'POST' == request.method:
        frm = FrmUsuario(instance=usr, data=request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.username = obj.usuario
            obj.set_password(obj.contraseña)
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), usr_upload_to)
            obj.save()
            obj.groups.clear()
            obj.groups.set(request.POST.getlist('groups'))
            obj.save()
            return HttpResponseRedirect(reverse(
                'usuario_see', kwargs={'pk': obj.pk}))
        else:
            return render(request, 'global/form.html', {
                'menu_main': usuario.main_menu_struct(),
                'titulo': 'Usuarios',
                'titulo_descripcion': usr,
                'frm': frm
                })
    else:
        frm = FrmUsuario(instance=usr)
        return render(request, 'global/form.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Usuarios',
            'titulo_descripcion': usr,
            'frm': frm
            })
예제 #6
0
def new(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if 'POST' == request.method:
        frm = FrmUsuario(request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.username = obj.usuario
            obj.set_password(obj.contraseña)
            obj.created_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), usr_upload_to)
            obj.save()
            obj.groups.set(request.POST.getlist('groups'))
            obj.save()
            return HttpResponseRedirect(reverse(
                'usuario_see', kwargs={'pk': obj.pk}))
    frm = FrmUsuario(request.POST or None)
    return render(request, 'global/form.html', {
        'menu_main': usuario.main_menu_struct(),
        'titulo': 'Usuarios',
        'titulo_descripcion': 'Nuevo',
        'frm': frm
        })
예제 #7
0
def new(request, pkcte):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    cte = Cliente.objects.get(pk=pkcte)
    if 'POST' == request.method:
        frm = FrmVehiculo(data=request.POST or None)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.propietario = cte
            obj.created_by = usuario
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), vehiculo_upload_to)
            obj.save()
            return HttpResponseRedirect(
                reverse('vehiculo_see', kwargs={'pk': obj.pk}))
    frm = FrmVehiculo(data=request.POST or None)
    return render(
        request, 'global/form.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Vehiculos',
            'titulo_descripcion': 'Nuevo ({})'.format(cte),
            'frm': frm
        })
예제 #8
0
def update(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not Vehiculo.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse('item_no_encontrado'))
    obj = Vehiculo.objects.get(pk=pk)
    if 'POST' == request.method:
        frm = FrmVehiculo(instance=obj, data=request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.updated_by = usuario
            if request.FILES.get('fotografia'):
                obj.fotografia = move_uploaded_file(
                    request.FILES.get('fotografia'), vehiculo_upload_to)
            obj.save()
            return HttpResponseRedirect(
                reverse('vehiculo_see', kwargs={'pk': obj.pk}))
    frm = FrmVehiculo(instance=obj)
    return render(
        request, 'global/form.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Vehiculos',
            'titulo_descripcion': '{} ({})'.format(obj, obj.propietario),
            'frm': frm
        })
예제 #9
0
def executeaccion(request):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    toolbar = []
    rendering = True
    render_to = ''
    render_params = {}
    if "POST" == request.method:
        if "move_to" == request.POST.get("action"):
            accion = Accion.objects.get(pk=request.POST.get("accion"))
            instanciaflujo = InstanciaFlujo.objects.get(
                pk=request.POST.get("instanciaflujo"))
            vehiculo = Vehiculo.objects.get(pk=request.POST.get("vehiculo"))
            if instanciaflujo.estado_actual.es_inicial is True:
                frm = FrmDoctoOrdenReparacion(data=request.POST)
                frmGral1 = FrmDoctoOrdenReparacionGenerales01(
                    data=request.POST)
                frmGral2 = FrmDoctoOrdenReparacionGenerales02(
                    data=request.POST)
                frmExt = FrmDoctoOrdenReparacionExteriores(data=request.POST)
                frmInt = FrmDoctoOrdenReparacionInteriores(data=request.POST)
                frmAcc = FrmDoctoOrdenReparacionAccesorios(data=request.POST)
                frmCMex = FrmDoctoOrdenReparacionComponentesMecanicos(
                    data=request.POST)
                frmSign = FrmDoctoOrdenReparacionFirmas(data=request.POST)
                if frm.is_valid():
                    obj = frm.save(commit=False)
                    obj.vehiculo = vehiculo
                    obj.created_by = usuario
                    obj.updated_by = usuario
                    obj.identificador = newIdentificadorForDoctoOrdenReparacion(
                    )
                    if request.FILES.get('fotografia_kilometros'):
                        obj.fotografia_kilometros = move_uploaded_file(
                            request.FILES.get('fotografia_kilometros'),
                            doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_tanque_de_gasolina'):
                        obj.fotografia_tanque_de_gasolina = move_uploaded_file(
                            request.FILES.get('fotografia_tanque_de_gasolina'),
                            doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_superior'):
                        obj.fotografia_superior = move_uploaded_file(
                            request.FILES.get('fotografia_superior'),
                            doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_frente'):
                        obj.fotografia_frente = move_uploaded_file(
                            request.FILES.get('fotografia_frente'),
                            doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_trasera'):
                        obj.fotografia_trasera = move_uploaded_file(
                            request.FILES.get('fotografia_trasera'),
                            doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_lateral_izquierdo'):
                        obj.fotografia_lateral_izquierdo = \
                            move_uploaded_file(
                                request.FILES.get(
                                    'fotografia_lateral_izquierdo'),
                                doctoordenreparacion_upload_to)
                    if request.FILES.get('fotografia_lateral_derecho'):
                        obj.fotografia_lateral_derecho = \
                            move_uploaded_file(
                                request.FILES.get(
                                    'fotografia_lateral_derecho'),
                                doctoordenreparacion_upload_to)
                    if request.FILES.get('firma_del_prestador_del_servicio'):
                        obj.firma_del_prestador_del_servicio = \
                            move_uploaded_file(
                                request.FILES.get(
                                    'firma_del_prestador_del_servicio'),
                                doctoordenreparacion_upload_to)
                    if request.FILES.get('firma_del_consumidor'):
                        obj.firma_del_consumidor = move_uploaded_file(
                            request.FILES.get('firma_del_consumidor'),
                            doctoordenreparacion_upload_to)
                    obj.save()
                    historia = instanciaflujo.historia.create(
                        accion=accion,
                        extra_data=instanciaflujo.extra_data,
                        created_by=usuario,
                        updated_by=usuario)
                    instanciaflujo.estado_actual = accion.estado_final
                    if (accion.estado_final.es_final is True
                            or accion.estado_final.es_cancelacion is True):
                        instanciaflujo.terminado = True
                    historia.historia_detalle.create(
                        iddocumento_generado=obj.pk,
                        tipo_documento_generado='DoctoOrdenReparacion',
                        extra_data=historia.extra_data,
                        created_by=usuario,
                        updated_by=usuario,
                    )
                    instanciaflujo.save()
                    rendering = False
                    render_to = 'doctoordenreparacion_see',
                    render_params = {'pk': obj.pk}
                else:
                    render_to = 'app/servicios/new.html'
                    render_params = {
                        'menu_main':
                        usuario.main_menu_struct(),
                        'titulo':
                        accion.nombre,
                        'titulo_descripcion':
                        "{}/{}".format(vehiculo.propietario, vehiculo),
                        'toolbar':
                        toolbar,
                        'accion':
                        accion,
                        'instanciaflujo':
                        instanciaflujo,
                        'vehiculo':
                        vehiculo,
                        'titulo_frm_1':
                        '',
                        'frm1':
                        frmGral1,
                        'titulo_frm_2':
                        '',
                        'frm2':
                        frmGral2,
                        'titulo_frm_3':
                        'Exteriores',
                        'frm3':
                        frmExt,
                        'titulo_frm_4':
                        'Interiores',
                        'frm4':
                        frmInt,
                        'titulo_frm_5':
                        'Accesorios',
                        'frm5':
                        frmAcc,
                        'titulo_frm_6':
                        'Componentes Mecánicos',
                        'frm6':
                        frmCMex,
                        'titulo_frm_7':
                        '',
                        'frm7':
                        frmSign,
                    }
            else:
                frm = FrmAvanceEnFlujo(data=request.POST)
                if frm.is_valid():
                    obj = frm.save(commit=False)
                    obj.created_by = usuario
                    obj.updated_by = usuario
                    if request.FILES.get('fotografia'):
                        obj.fotografia = move_uploaded_file(
                            request.FILES.get('fotografia'),
                            avanceenflujo_upload_to)
                    if request.FILES.get('fotografia_2'):
                        obj.fotografia_2 = move_uploaded_file(
                            request.FILES.get('fotografia_2'),
                            avanceenflujo_upload_to)
                    if request.FILES.get('fotografia_3'):
                        obj.fotografia_3 = move_uploaded_file(
                            request.FILES.get('fotografia_3'),
                            avanceenflujo_upload_to)
                    if request.FILES.get('fotografia_4'):
                        obj.fotografia_4 = move_uploaded_file(
                            request.FILES.get('fotografia_4'),
                            avanceenflujo_upload_to)
                    if request.FILES.get('fotografia_5'):
                        obj.fotografia_5 = move_uploaded_file(
                            request.FILES.get('fotografia_5'),
                            avanceenflujo_upload_to)
                    obj.save()
                    historia = instanciaflujo.historia.create(
                        accion=accion,
                        extra_data=instanciaflujo.extra_data,
                        created_by=usuario,
                        updated_by=usuario)
                    instanciaflujo.estado_actual = accion.estado_final
                    if (accion.estado_final.es_final is True
                            or accion.estado_final.es_cancelacion is True):
                        instanciaflujo.terminado = True
                    historia.historia_detalle.create(
                        iddocumento_generado=obj.pk,
                        tipo_documento_generado='AvanceEnFlujo',
                        extra_data=historia.extra_data,
                        created_by=usuario,
                        updated_by=usuario,
                    )
                    instanciaflujo.save()
                    rendering = False
                    render_to = 'servicio_index',
                    render_params = {}
    if rendering is True:
        return render(request, render_to, render_params)
    return HttpResponseRedirect(reverse(render_to[0], kwargs=render_params))
예제 #10
0
def update(request, pk):
    usuario = Usr.objects.filter(id=request.user.pk)[0]
    if not DoctoOrdenReparacion.objects.filter(pk=pk).exists():
        return HttpResponseRedirect(reverse('item_no_encontrado'))
    obj = DoctoOrdenReparacion.objects.get(pk=pk)
    vehiculo = obj.vehiculo
    if "POST" == request.method:
        frm = FrmDoctoOrdenReparacion(instance=obj, data=request.POST)
        if frm.is_valid():
            obj = frm.save(commit=False)
            obj.updated_by = usuario
            if request.FILES.get('fotografia_kilometros'):
                obj.fotografia_kilometros = move_uploaded_file(
                    request.FILES.get('fotografia_kilometros'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_tanque_de_gasolina'):
                obj.fotografia_tanque_de_gasolina = move_uploaded_file(
                    request.FILES.get('fotografia_tanque_de_gasolina'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_superior'):
                obj.fotografia_superior = move_uploaded_file(
                    request.FILES.get('fotografia_superior'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_frente'):
                obj.fotografia_frente = move_uploaded_file(
                    request.FILES.get('fotografia_frente'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_trasera'):
                obj.fotografia_trasera = move_uploaded_file(
                    request.FILES.get('fotografia_trasera'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_lateral_izquierdo'):
                obj.fotografia_lateral_izquierdo = move_uploaded_file(
                    request.FILES.get('fotografia_lateral_izquierdo'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('fotografia_lateral_derecho'):
                obj.fotografia_lateral_derecho = move_uploaded_file(
                    request.FILES.get('fotografia_lateral_derecho'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('firma_del_prestador_del_servicio'):
                obj.firma_del_prestador_del_servicio = move_uploaded_file(
                    request.FILES.get('firma_del_prestador_del_servicio'),
                    doctoordenreparacion_upload_to)
            if request.FILES.get('firma_del_consumidor'):
                obj.firma_del_consumidor = move_uploaded_file(
                    request.FILES.get('firma_del_consumidor'),
                    doctoordenreparacion_upload_to)
            obj.save()
            return HttpResponseRedirect(
                reverse('doctoordenreparacion_see', kwargs={'pk': obj.pk}))
    return render(
        request, 'app/doctoordenreparacion/form.html', {
            'menu_main': usuario.main_menu_struct(),
            'titulo': 'Orden de Reparación',
            'titulo_descripcion': "{}/{}".format(vehiculo.propietario,
                                                 vehiculo),
            'titulo_frm_1': '',
            'frm1': FrmDoctoOrdenReparacionGenerales01(instance=obj),
            'titulo_frm_2': '',
            'frm2': FrmDoctoOrdenReparacionGenerales02(instance=obj),
            'titulo_frm_3': 'Exteriores',
            'frm3': FrmDoctoOrdenReparacionExteriores(instance=obj),
            'titulo_frm_4': 'Interiores',
            'frm4': FrmDoctoOrdenReparacionInteriores(instance=obj),
            'titulo_frm_5': 'Accesorios',
            'frm5': FrmDoctoOrdenReparacionAccesorios(instance=obj),
            'titulo_frm_6': 'Componentes Mecánicos',
            'frm6': FrmDoctoOrdenReparacionComponentesMecanicos(instance=obj),
            'titulo_frm_7': '',
            'frm7': FrmDoctoOrdenReparacionFirmas(instance=obj),
        })