예제 #1
0
    def post(self, request, *args, **kwargs):
        data = dict()

        if request.method == 'POST':
            form = EgresoForm(request.POST)
            capital = int(capital_obtener())
            print('recibo', request.POST['monto'])
            print('recibo c', Capital(request))

            monto_egreso = int(request.POST['monto'])
            resta = (capital - monto_egreso)
            print("\n \n \n \n resta", resta)

            if resta < 0:
                data[
                    'error'] = "El monto que intenta retirar es no coincide con el dinero disponible"
                print(data['error'])
                data['form_is_valid'] = False
            else:
                if form.is_valid():
                    usuario = form.save(commit=False)
                    usuario.usuario = request.user
                    form.save()
                    notificacions(user=request.user,
                                  contenido=request.user.first_name +
                                  " realizó un retiro de: <strong>" +
                                  str(request.POST['monto']) + " Bs.</strong>")
                    data['form_is_valid'] = True

                else:
                    data['form_is_valid'] = False
            context = {'form': form}
            data['html_form'] = render_to_string('diezmos/egreso/create.html',
                                                 context,
                                                 request=request)
            return JsonResponse(data)
        else:
            form = EgresoForm()

        context = {'form': form}
        data['html_form'] = render_to_string('diezmos/egreso/create.html',
                                             context,
                                             request=request)
        return JsonResponse(data)
예제 #2
0
    def post(self,request):
        pk = request.POST['id']
        activo = request.POST['activo']
        asign = AsignarMaterial.objects.filter(pk=pk)
        if activo == 'true':
            activo = True
            contenido = "Ya tienes acceso a un nuevo material."
        else:
            activo = False
            contenido = "Se te ha bloqueado el acceso a un material."

        asign.update(estatus=activo)
        link='/panel/actividades/material'
        notificacions(
            user=asign.first().entrenamiento.iglesia.usuario,
            tipo="organizacion",
            contenido=contenido,
            url=link
        )
        return JsonResponse([{"is_valid":True}],safe=False)
예제 #3
0
    def post(self,request,*args,**kwargs):
        data = dict()
        estatus_id = get_object_or_404(Status,status="Por Realizar")
        actividad = get_object_or_404(Actividades,pk=request.POST['ida'])

        data['form_is_valid'] = True
        data['lugar'] = request.POST['lugar']
        data['descripcion'] = request.POST['descripcion']
        data['tipo'] = request.POST['tipo']
        data['title'] = request.POST['nombre']
        data['color'] = "#00B0F0"
        data['hora'] = request.POST['hora']
        data['persona'] = request.POST['persona']
        data['start'] = str(actividad.fecha)+"T"+str(request.POST['hora'])

        #actividad = form.save()
        tipo = get_object_or_404(Tipo_actividad,pk=request.POST['tipo'])
        if tipo.tipo == 'Entrenamiento':
            link='/panel/actividades/detailentrenamiento/'+str(actividad.pk)
            notificacions(
                user=actividad.entrenamiento.iglesia.usuario,
                tipo="organizacion",
                contenido="Se ha modificado su entrenamiento solicitado, fecha: "+str(actividad.fecha),
                url=link
            )


        Actividades.objects.filter(pk=actividad.pk).update(
            nombre=data['title'],
            descripcion=data['descripcion'],
            hora=data['hora'],
            lugar=data['lugar'],
            persona=data['persona'],
            tipo=data['tipo'])

        data['id'] = actividad.pk

        return JsonResponse(data)
예제 #4
0
    def post(self, request, *args, **kwargs):
        data = dict()

        if request.method == 'POST':
            form = IngresoForm(request.POST)
            if form.is_valid():
                form.save()
                notificacions(user=request.user,
                              contenido=request.user.first_name +
                              " registro un ingreso de: <strong>" +
                              str(request.POST['monto']) + " Bs.</strong>")

                data['form_is_valid'] = True
            else:
                data['form_is_valid'] = False
        else:
            form = IngresoForm()

        context = {'form': form}
        data['html_form'] = render_to_string('diezmos/ingreso/create.html',
                                             context,
                                             request=request)
        return JsonResponse(data)
예제 #5
0
    def post(self, request, *args, **kwargs):
        data = dict()
        estatus_id = get_object_or_404(Status, status="Por Realizar")
        if request.method == 'POST':
            form = ActividadesForm(request.POST)
            print(request.POST['fecha'])
            if form.is_valid():
                data['form_is_valid'] = True
                data['lugar'] = request.POST['lugar']
                data['start'] = str(request.POST['fecha_submit']) + "T" + str(
                    request.POST['hora'])
                data['descripcion'] = request.POST['descripcion']
                data['title'] = request.POST['nombre']
                data['color'] = "#00B0F0"
                status_p = form.save(commit=False)
                status_p.status = estatus_id
                actividad = form.save()
                notificacions(
                    user=request.user,
                    contenido=
                    "Se ha planificado una nueva actividad titulada: <strong>"
                    + str(request.POST['nombre']) +
                    "</strong>, fecha: <strong>" +
                    str(request.POST['fecha_submit']) + "</strong>",
                    url="")

                data['id'] = actividad.pk
            else:
                data['form_is_valid'] = False
        else:
            form = ActividadesForm()

        context = {'form': form}
        data['html_form'] = render_to_string('actividades/create.html',
                                             context,
                                             request=request)
        return JsonResponse(data)
예제 #6
0
    def post(self,request,*args,**kwargs):
        data = []

        estatus_id = get_object_or_404(Status,status="Por Realizar")
        if request.method == 'POST':
            data1 = json.loads(request.POST['data'])
            for i in data1:
                tipo = get_object_or_404(Tipo_actividad,pk=i['tipo'])
                fecha = i['fecha']
                from datetime import datetime
                ht = i['hora'].split(':')
                hora = datetime.strptime(str(ht[0])+str(ht[1]),"%H%M")
                if tipo.tipo == 'Series':
                    acti = Actividades.objects.filter(fecha=fecha,tipo=tipo).exists()
                    
                    if acti:

                        err = {
                           'form_is_valid':False,
                           'error':'Ya existe una serie planificada para esa fecha, por favor seleccione otra.' 
                        }
                        
                        return JsonResponse(err,safe=False)
                hora_pm = datetime.strptime('1400',"%H%M")
                if(i['is_domingo']):
                    if hora<hora_pm:
                        err = {
                           'form_is_valid':False,
                           'error':'Día domingo, no puede seleccionar una hora menor a las 2:00 pm, por favor seleccione otra.' 
                        }
                        
                        return JsonResponse(err,safe=False)
                from datetime import datetime
                lider = get_object_or_404(Persona,pk=i['persona'])
                act = Actividades.objects.filter(fecha=fecha,persona=lider)
                if act.exists():
                    for i in act:
                        hora_a =str(i.hora).split(':')
                        hor = datetime.strptime(str(hora_a[0])+str(hora_a[1]),"%H%M")
                        if hora>=hor:
                            hora2 = str(i.hora).split(':')
                            time2 = datetime.strptime(str(hora2[0])+str(hora2[1]),"%H%M")
                            diff = hora-time2
                            horas = int(diff.total_seconds()/3600)   # seconds to hour 
                            if horas<=3:
                                err = {
                                'form_is_valid':False,
                                'error':'Ya este lider tiene asignada una actividad muy cercana a la hora seleccionada.' 
                                }
                        
                                return JsonResponse(err,safe=False)
            count = 0
            for i in data1:
                count +=1
                nombre = i['nombre']
                descripcion = i['descripcion']
                lugar = i['lugar']
                lider = get_object_or_404(Persona,pk=i['persona'])
                tipo = get_object_or_404(Tipo_actividad,pk=i['tipo'])
                hora = i['hora']
                fecha = i['fecha']

                act = Actividades(
                    nombre=nombre,
                    descripcion=descripcion,
                    lugar=lugar,
                    persona=lider,
                    tipo=tipo,
                    hora=hora,
                    fecha=fecha,
                    status=estatus_id,
                   )
                act.save()
                if i['entre']:
                    entrenamiento = get_object_or_404(Entrenamiento,pk=int(i['entre']))
                    Actividades.objects.filter(pk=act.pk).update(entrenamiento=entrenamiento)

                    if tipo.tipo == 'Entrenamiento':
                        link='/panel/actividades/detailentrenamiento/'+str(act.pk)
                        notificacions(
                            user=entrenamiento.iglesia.usuario,
                            tipo="organizacion",
                            contenido="Se ha planificado su entrenamiento solicitado dia "+str(count)+", fecha: "+str(fecha),
                            url=link
                        )
                val = {
                    'title':nombre,
                    'descripcion':descripcion,
                    'lugar':lugar,
                    'lider':lider.nombre,
                    'tipo':tipo.tipo,
                    'hora':hora,
                    'start':str(fecha)+"T"+str(hora),
                    'id':act.pk
                }
                data.append(val)
            datos = {
                'data' : data,
                'form_is_valid':True
            }

            return JsonResponse(datos,safe=False)
            
        else:
            form = ActividadesForm()

        context = {'form': form}
        data['html_form'] = render_to_string('actividades/create.html',
            context,
            request=request)
        return JsonResponse(data)
예제 #7
0
def Status_update(request, pk):
    data = dict()
    estatus = get_object_or_404(Actividades, pk=pk)
    if request.method == 'POST':
        form = StatusForm(request.POST, instance=estatus)
        formm = FechaForm(instance=estatus)
        
        fecha = ''
        for i in request.POST:
            print (request.POST)
            if i == 'fecha_submit':
                estatus_id = get_object_or_404(Status,status="Por Realizar")
                fecha = request.POST['fecha_submit']
                hora = request.POST['hora']
        if fecha:
            #Nuevo registro
            if estatus.entrenamiento:
                entrenamiento= estatus.entrenamiento
            else:
                entrenamiento = None
            estatus.suspended = True
            estatus.save()
            actividad_new = Actividades(nombre = estatus.nombre,descripcion = estatus.descripcion,fecha=fecha,hora=hora,lugar = estatus.lugar,persona = estatus.persona,status = estatus_id,tipo = estatus.tipo,entrenamiento=entrenamiento)
            actividad_new.save()
            data['id'] = actividad_new.pk
            status_p = form.save(commit=False)
            data['create'] =True
            data['lugar'] = estatus.lugar
            data['descripcion'] = estatus.descripcion
            data['observacion'] = estatus.observacion
            data['estatuss'] = estatus.statuss
            data['tipo'] = estatus.tipo.tipo
            data['title'] = estatus.nombre
            data['color'] = "#00B0F0"
            data['start'] = str(fecha)+"T"+str(hora)
            data['estatus'] = estatus_id.status
            data['form_is_valid'] = True
            #notificacions(user=request.user,contenido="Actividad titulada: <strong>"+estatus.nombre+"</strong> actualizada a una nueva fecha: <p style='color:green;display: contents;'><strong>"+str(estatus.fecha)+"</strong></p>",url="")


        else:
            if form.is_valid():
                save = form.save()

                if estatus.status.status == 'Suspendida':
                    color = "#ffc100"
                    print ("Suspendida")
                if estatus.status.status == 'Realizada':
                    color = "green"
                    print (color)
                if estatus.status.status == 'Por Realizar':
                    color = "#00B0F0"
                if estatus.status.status == 'No Realizada':
                    color = "red"

                data['form_is_valid'] = True
                data['color'] = color
                tipo = get_object_or_404(Tipo_actividad,pk=save.tipo.pk)
                if tipo.tipo == 'Entrenamiento':
                    
                    entr = Entrenamiento.objects.filter(pk=estatus.entrenamiento.pk)
                    if estatus.status.status == 'Realizada':
                        entr.update(estatus="aceptada")

                    if estatus.status.status == 'No Realizada':
                        act = Actividades.objects.filter(entrenamiento__pk=estatus.entrenamiento.pk).exclude(status__status="No Realizada")
                        if len(act) == 0:
                            entr.update(cancelado=True)
                    link='/panel/actividades/detailentrenamiento/'+str(save.pk)
                    notificacions(
                        user=estatus.entrenamiento.iglesia.usuario,
                        tipo="organizacion",
                        contenido="Se ha actualizado el estatus de su entrenamiento solicitado, fecha: "+str(save.fecha),
                        url=link
                    )
                #notificacions(user=request.user,contenido="Actividad titulada: <strong>"+estatus.nombre+"</strong> actualizada a: <p style='color:"+color+";display: contents;'><strong>"+estatus.status.status+"</strong></p>",url="")
                data['observacion'] = save.observacion
                data['tipo'] = save.tipo.tipo
                data['estatus'] = estatus.status.status
                data['estatuss'] = estatus.statuss
    else:
        form = StatusForm(instance=estatus)
        formm = FechaForm(instance=estatus)
    if estatus.tipo.tipo == 'Entrenamiento':
        tipo = Tipo_actividad.objects.filter(tipo="Entrenamiento")
    else:
        tipo = Tipo_actividad.objects.exclude(tipo="Entrenamiento")
    lider = Persona.objects.all().filter(roles="Lider")
    context = {'form': form,'actividad':estatus,'lider':lider,'tipo':tipo,'formm':formm}
    data['html_form'] = render_to_string('actividades/update.html',
        context,
        request=request
    )
    return JsonResponse(data)
예제 #8
0
def Status_update(request, pk):
    data = dict()
    estatus = get_object_or_404(Actividades, pk=pk)
    if request.method == 'POST':
        form = StatusForm(request.POST, instance=estatus)
        fecha = ''
        for i in request.POST:
            print(request.POST)
            if i == 'fecha_submit':
                estatus_id = get_object_or_404(Status, status="Por Realizar")
                fecha = request.POST['fecha_submit']
                hora = request.POST['hora']
                print('obtengo la fecha a actualizar ', fecha)
        if fecha:
            #Nuevo registro
            if estatus.entrenamiento:
                entrenamiento = estatus.entrenamiento
            else:
                entrenamiento = None
            estatus.suspended = True
            estatus.save()
            actividad_new = Actividades(nombre=estatus.nombre,
                                        descripcion=estatus.descripcion,
                                        fecha=fecha,
                                        hora=hora,
                                        lugar=estatus.lugar,
                                        persona=estatus.persona,
                                        status=estatus_id,
                                        tipo=estatus.tipo,
                                        entrenamiento=entrenamiento)
            actividad_new.save()
            data['id'] = actividad_new.pk
            status_p = form.save(commit=False)
            data['create'] = True
            data['lugar'] = estatus.lugar
            data['descripcion'] = estatus.descripcion
            data['title'] = estatus.nombre
            data['color'] = "#00B0F0"
            data['start'] = str(fecha) + "T" + str(hora)
            data['estatus'] = estatus_id.status
            data['form_is_valid'] = True
            notificacions(
                user=request.user,
                contenido="Actividad titulada: <strong>" + estatus.nombre +
                "</strong> actualizada a una nueva fecha: <p style='color:green;display: contents;'><strong>"
                + str(estatus.fecha) + "</strong></p>",
                url="")

        else:
            if form.is_valid():
                form.save()
                if estatus.status.status == 'Suspendida':
                    color = "#ffc100"
                    print("Suspendida")
                if estatus.status.status == 'Realizada':
                    color = "green"
                    print(color)
                if estatus.status.status == 'Por Realizar':
                    color = "#00B0F0"
                if estatus.status.status == 'No Realizada':
                    color = "red"

                data['form_is_valid'] = True
                data['color'] = color
                notificacions(
                    user=request.user,
                    contenido="Actividad titulada: <strong>" + estatus.nombre +
                    "</strong> actualizada a: <p style='color:" + color +
                    ";display: contents;'><strong>" + estatus.status.status +
                    "</strong></p>",
                    url="")
                data['estatus'] = estatus.status.status
    else:
        form = StatusForm(instance=estatus)
    context = {'form': form, 'actividad': estatus}
    data['html_form'] = render_to_string('actividades/update.html',
                                         context,
                                         request=request)
    return JsonResponse(data)