Beispiel #1
0
def empleado_view(request):
    if request.method == 'POST':
        form = EmpleadoForm(request.POST)
        if form.is_valid():
            form.save()
        return redirect('empleado:indexEmpleado')
    else:
        form = EmpleadoForm()
    return render(request, 'empleado/empleado_form.html', {'form': form})
Beispiel #2
0
def empleado_edit(request, id_empleado):
    empleado = Empleado.objects.get(id=id_empleado)
    if request.method == 'GET':
        form = EmpleadoForm(instance=empleado)
    else:
        form = EmpleadoForm(request.POST, instance=empleado)
        if form.is_valid():
            form.save()
        return redirect('empleado:empleado_listar')
    return render(request, 'empleado/empleado_form.html', {'form': form})
Beispiel #3
0
def nuevo(request):
    data = {
        'icono': opc_icono,
        'entidad': opc_entidad,
        'crud': crud,
        'boton': 'Guardar Empleado',
        'action': 'add',
        'titulo': 'Nuevo Registro de un Empleado',
        'option': 'add'
    }
    if request.method == 'GET':
        data['form'] = EmpleadoForm()
    return render(request, 'front-end/empleado/empleado_form.html', data)
Beispiel #4
0
 def post(self, request, *args, **kwargs):
     data = {}
     action = request.POST['action']
     try:
         if action == 'add':
             f = EmpleadoForm(request.POST)
             data = self.save_data(f)
         elif action == 'edit':
             pk = request.POST['id']
             cliente = Empleado.objects.get(pk=int(pk))
             f = EmpleadoForm(request.POST, instance=cliente)
             data = self.save_data_edit(f)
         elif action == 'delete':
             pk = request.POST['id']
             cli = Empleado.objects.get(pk=pk)
             cli.delete()
             data['resp'] = True
         else:
             data['error'] = 'No ha seleccionado ninguna opción'
     except Exception as e:
         data['error'] = str(e)
     return HttpResponse(json.dumps(data), content_type='application/json')
Beispiel #5
0
def profile(request):
    empleado = Empleado.objects.get(id=request.user.id)
    crud = '/empleado/profile'
    data = {
        'icono': opc_icono,
        'entidad': opc_entidad,
        'crud': crud,
        'boton': 'Guardar Empleado',
        'action': 'add',
        'titulo': 'Perfil de Usuario'
    }
    if request.method == 'GET':
        form = EmpleadoForm(instance=empleado)
        data['form'] = form
    else:
        form = EmpleadoForm(request.POST, instance=empleado)
        if form.is_valid():
            form.save()
        else:
            data['form'] = form
        return HttpResponseRedirect('/empleado/profile')
    return render(request, 'front-end/profile.html', data)
Beispiel #6
0
 def guardar(self, fila, request):
     tsp = transaction.savepoint()
     pais = pais_default
     error = {u'empleado_errores': None, u'datosusuarioempleado_errores': None, u'errores': None,
              u'NoGuardado': False}
     errores = u''
     errores_empleado = u''
     errores_direccion = u''
     try:
         numero_empleado = None
         if fila[0] is not None:
             numero_empleado = convertirnumeroempleadoentero(int(fila[0]))
         sinonulos = [1, 2, 5, 6, 7]
         for f in sinonulos:  # Campos requeridos que si traen algo se vuelvan unicode
             if fila[f] is not None:
                 fila[f] = unicode(fila[f])
         sinulos = [3, 4, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
         for f in sinulos:  # Campos que pueden ser nulos pero es mejor que esten blancos
             if fila[f] is None:
                 fila[f] = u''
             else:
                 fila[f] = unicode(fila[f])
         if fila[7] is not None:  # Fecha de nacimiento cortando para que solo quede yyyy-mm-dd
             fila[7] = fila[7][:10]
         try:
             instancia = DatosUsuarioEmpleado.objects.get(numero_empleado__iexact=numero_empleado)
             instancia_empleado = instancia.empleado
             instancia_direccion = instancia.empleado.direccion
             datos = RegistrarEditarVariosForm(instance=instancia)
             empleado = EmpleadoForm(instance=instancia_empleado)
             direccion = DireccionForm(instance=instancia_direccion)
             usuario = instancia.usuario
         except Exception:
             datos = RegistrarEditarVariosForm()
             empleado = EmpleadoForm()
             direccion = DireccionForm()
             usuario = None
         formsdict = {
             u'csrfmiddlewaretoken': request.POST[u'csrfmiddlewaretoken'],
             u'numero_empleado_entero': fila[0],
             u'numero_empleado': numero_empleado,
             u'email': fila[4],
             u'hora_entrada': fila[5],
             u'hora_salida': fila[6],
             u'nombre': fila[1],
             u'apellido_paterno': fila[2],
             u'apellido_materno': fila[3],
             u'fecha_nacimiento': fila[7],
             u'curp': fila[8],
             u'rfc': fila[9],
             u'pais': fila[10],
             u'estado': fila[11],
             u'municipio': fila[12],
             u'ciudad': fila[13],
             u'asentamiento': fila[14],
             u'calle': fila[15],
             u'numero_exterior': fila[16],
             u'numero_interior': fila[17],
             u'codigo_postal': fila[18],
             u'datos_adicionales': fila[19]
         }
         formsqdict = QueryDict('', mutable=True, encoding='utf-8')
         formsqdict.update(formsdict)
         empleado_verificar_remplazo = EmpleadoForm()
         direccion_verificar_remplazo = DireccionForm()
         empleado_verificar_remplazo.cleaned_data = empleado_verificar_remplazo.data = formsqdict
         direccion_verificar_remplazo.cleaned_data = direccion_verificar_remplazo.data = formsqdict
         empleado_verificar_remplazo.is_bound = direccion_verificar_remplazo.is_bound = True
         reemplazar = False
         if not empleado_verificar_remplazo.is_valid():
             errores_empleado = unicode(empleado_verificar_remplazo.errors)
             formsdict = self.reemplazarempleado(empleado_verificar_remplazo, formsdict)
             reemplazar = True
         if not direccion_verificar_remplazo.is_valid():
             errores_direccion = unicode(direccion_verificar_remplazo.errors)
             formsdict = self.reemplazardireccion(direccion_verificar_remplazo, formsdict)
             reemplazar = True
         if reemplazar:
             errores += errores_empleado + errores_direccion
             formsqdict = QueryDict('', mutable=True, encoding='utf-8')
             formsqdict.update(formsdict)
         datos.cleaned_data = datos.data = formsqdict
         empleado.cleaned_data = empleado.data = formsqdict
         direccion.cleaned_data = direccion.data = formsqdict
         datos.is_bound = True
         empleado.is_bound = True
         direccion.is_bound = True
         if empleado.is_valid() and direccion.is_valid() and datos.is_valid():
             empleado = empleado.save()
             direccion = direccion.save()
             direccion.pais = pais
             direccion.save()
             empleado.direccion = direccion
             empleado.save()
             datos = datos.save()
             if usuario is None:
                 usuario = User(username=str(int(numero_empleado)), email=fila[4])
                 usuario.set_password(numero_empleado)
                 usuario.save()
                 passwordhasheada = hashlib.md5(numero_empleado).hexdigest()
                 password = PasswordCliente(password=passwordhasheada)
                 password.save()
                 datos.password = password
                 grupos = traergrupos(0)
                 usuario.groups.clear()
                 for grupo in grupos:
                     usuario.groups.add(grupo)
                 usuario.save()
             else:
                 usuario.email = fila[4]
                 usuario.save()
             usuario.first_name = empleado.nombre
             if empleado.apellido_materno == '':
                 usuario.last_name = empleado.apellido_paterno
             else:
                 usuario.last_name = empleado.apellido_paterno + ' ' + empleado.apellido_materno
             usuario.save()
             datos.usuario = usuario
             datos.empleado = empleado
             datos.save()
             puntoscontrol = traerpuntoscontrol(request.POST.getlist(u'puntocontrol'))
             for puntocontrol in puntoscontrol:
                 datos.puntocontrol.add(puntocontrol)
             datos.save()
             if tsp:
                 transaction.savepoint_commit(tsp)
         else:
             error[u'NoGuardado'] = True
             if not empleado.is_valid():
                 error[u'empleado_errores'] = empleado
                 error_empleado = unicode(empleado.errors)
                 if errores_empleado == u'':
                     errores += error_empleado
             if not direccion.is_valid():
                 error_direccion = unicode(direccion.errors)
                 if errores_direccion == u'':
                     errores += error_direccion
             if not datos.is_valid():
                 error[u'datosusuarioempleado_errores'] = datos
                 errores += unicode(datos.errors)
     except Exception, e:
         errores += u'<ul class="errorlist">' \
                    u'<li>Error interno del servidor' \
                    u'<ul class="errorlist">' \
                    u'<li>' + unicode(e.message) +\
                    u'</li></ul></li></ul>'
Beispiel #7
0
def crear(request):
    data = {
        'icono': opc_icono,
        'entidad': opc_entidad,
        'crud': crud,
        'boton': 'Guardar Empleado',
        'action': 'add',
        'titulo': 'Nuevo Registro de un Empleado',
        'option': 'add'
    }
    action = request.POST['action']
    data['action'] = action
    if request.method == 'POST' and 'action' in request.POST:
        if action == 'add':
            f = EmpleadoForm(request.POST, request.FILES)

            if f.is_valid():
                f.save(commit=False)
                if Proveedor.objects.filter(documento=0,
                                            numero_documento=f.data['cedula']):
                    data[
                        'error'] = 'Numero de Cedula ya exitente en los Proveedores'
                    data['form'] = f
                elif Cliente.objects.filter(cedula=f.data['cedula']):
                    data[
                        'error'] = 'Numero de Cedula ya exitente en los Clientes'
                    data['form'] = f
                elif verificar(f.data['cedula']):
                    if int(f.data['cargo']) == 1:
                        f.save()
                        nw = f.save()
                        ch = Empleado.objects.get(pk=nw.pk)
                        ch.is_superuser = 1
                        ch.save()
                    else:
                        f.save()
                        nw = f.save()
                        ch = Empleado.objects.get(pk=nw.pk)
                        ch.is_superuser = 0
                        ch.save()
                    return HttpResponseRedirect('/empleado/lista')
                else:
                    data['error'] = 'Numero de Cedula no valido para Ecuador'
                    data['form'] = f
            else:

                data['form'] = f
            return render(request, 'front-end/empleado/empleado_form.html',
                          data)
Beispiel #8
0
def editar(request, id):
    empleado = Empleado.objects.get(id=id)
    crud = '/empleado/editar/' + str(id)
    data = {
        'icono': opc_icono,
        'crud': crud,
        'entidad': opc_entidad,
        'boton': 'Guardar Edicion',
        'titulo': 'Editar Registro de un Empleado',
        'option': 'editar'
    }
    if request.method == 'GET':
        form = EmpleadoForm(instance=empleado)
        data['form'] = form
    else:
        form = EmpleadoForm(request.POST, request.FILES, instance=empleado)
        if form.is_valid():
            form.save(commit=False)
            if int(form.data['cargo']) == 1:
                form.save()
                nw = form.save()
                ch = Empleado.objects.get(pk=nw.pk)
                ch.is_superuser = 1
                ch.save()
            else:
                form.save()
                nw = form.save()
                ch = Empleado.objects.get(pk=nw.pk)
                ch.is_superuser = 0
                ch.save()
        else:
            data['form'] = form
        return HttpResponseRedirect('/empleado/lista')
    return render(request, 'front-end/empleado/empleado_form.html', data)