示例#1
0
def add_wormer(request):
    user = request.user
    try:
        ganaderia = Ganaderia.objects.get(perfil=user)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))
    number_message = number_messages(request, user.username)

    if request.method == 'POST':
        form_worme = wormerForm(request.POST)
        if form_worme.is_valid():
            form_wormer = form_worme.save(commit=False)
            form_wormer.farm = ganaderia
            form_wormer.is_vaccine = False
            form_wormer.is_wormer = True
            form_wormer.status = 0
            form_wormer.save()
            # a = (1,2)
            # form_wormer.cattle.add(1)
            # form_wormer.cattle.add(2)
            # form_worme.save_m2m()
            return redirect(reverse('list_wormer'))

    elif request.method == 'GET':
        form_wormer = wormerForm()

    return render_to_response('add_wormer.html',
            {'form_wormer': form_wormer,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#2
0
def add_wormer(request):
    user = request.user
    try:
        ganaderia = Ganaderia.objects.get(perfil=user)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))
    number_message = number_messages(request, user.username)

    if request.method == 'POST':
        form_worme = wormerForm(request.POST)
        if form_worme.is_valid():
            form_wormer = form_worme.save(commit=False)
            form_wormer.farm = ganaderia
            form_wormer.is_vaccine = False
            form_wormer.is_wormer = True
            form_wormer.status = 0
            form_wormer.save()
            # a = (1,2)
            # form_wormer.cattle.add(1)
            # form_wormer.cattle.add(2)
            # form_worme.save_m2m()
            return redirect(reverse('list_wormer'))

    elif request.method == 'GET':
        form_wormer = wormerForm()

    return render_to_response('add_wormer.html', {
        'form_wormer': form_wormer,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#3
0
def add_food(request):
    user = request.user
    number_message = number_messages(request, user.username)
    try:
        ganaderia = Ganaderia.objects.get(perfil=user)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))

    if request.method == 'POST':
        formAlimento = alimentoForm(request.POST)
        if formAlimento.is_valid():
            formAliment = formAlimento.save(commit=False)
            formAliment.farm = ganaderia
            formAliment.is_active = True
            formAliment.save()
            return redirect(reverse('list_food'))

    elif request.method == 'GET':
        formAlimento = alimentoForm()

    return render_to_response('add_food.html', {
        'formAlimento': formAlimento,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#4
0
def edit_food(request, alimento_id):
    user = request.user
    number_message = number_messages(request, user.username)
    ganaderia = Ganaderia.objects.get(perfil=user)

    alimento = Food.objects.get(id=alimento_id)

    if request.method == 'POST':
        formAlimento = alimentoForm(request.POST, instance=alimento)
        if formAlimento.is_valid():
            formAlimento = formAlimento.save(commit=False)
            formAlimento.ganaderia = ganaderia
            formAlimento.farm = ganaderia
            formAlimento.is_active = True
            formAlimento.save()
            return redirect(reverse('list_food'))
    else:
        formAlimento = alimentoForm(instance=alimento)

    return render_to_response('edit_food.html', {
        'formAlimento': formAlimento,
        'alimento_id': alimento_id,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#5
0
def asigna_alimento(request, alimento_id):
	user = request.user
	number_message = number_messages(request, user.username)

	return render_to_response('asigna_alimento.html',
		{'id_food': alimento_id,
		 'number_messages': number_message},
		context_instance=RequestContext(request))
示例#6
0
def asign_vaccine(request, vaccine_id):
    user = request.user
    number_message = number_messages(request, user.username)

    return render_to_response('asign_vaccine.html',
            {'id_vaccine': vaccine_id,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#7
0
def asign_wormer(request, wormer_id):
    user = request.user
    number_message = number_messages(request, user.username)

    return render_to_response('asign_wormer.html',
            {'id_wormer': wormer_id,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#8
0
def asign_wormer(request, wormer_id):
    user = request.user
    number_message = number_messages(request, user.username)

    return render_to_response('asign_wormer.html', {
        'id_wormer': wormer_id,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#9
0
def asign_vaccine(request, vaccine_id):
    user = request.user
    number_message = number_messages(request, user.username)

    return render_to_response('asign_vaccine.html', {
        'id_vaccine': vaccine_id,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#10
0
def asigna_alimento(request, alimento_id):
    user = request.user
    number_message = number_messages(request, user.username)

    return render_to_response('asigna_alimento.html', {
        'id_food': alimento_id,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#11
0
def list_vaccine(request):
    user = request.user
    number_message = number_messages(request, user.username)
    medicaments = Medicament.objects.filter(is_vaccine=True, farm_id=user).order_by('name')

    return render_to_response('list_vaccine.html',
            {'vaccines': medicaments,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#12
0
def list_vaccine(request):
    user = request.user
    number_message = number_messages(request, user.username)
    medicaments = Medicament.objects.filter(is_vaccine=True,
                                            farm_id=user).order_by('name')

    return render_to_response('list_vaccine.html', {
        'vaccines': medicaments,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#13
0
def list_food(request):
	username = request.user.username
	number_message = number_messages(request, username)
	id_user = User.objects.filter(username=username)
	ganaderia = Ganaderia.objects.get(perfil=id_user)

	if request.method == 'GET':
		alimentos = Food.objects.all().filter(farm=ganaderia)

	return render_to_response('list_food.html',
		{'alimentos': alimentos,
		 'number_messages': number_message},
		context_instance=RequestContext(request))
示例#14
0
def new_message(request):
    user = request.user
    profile = Profile.objects.get(user=user)
    try:
        ganaderia = Ganaderia.objects.get(perfil=user)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))

    number_message = Message.objects.filter(Q(receiver_id=user.id), Q(front=True), Q(read_at=False)).count()
    msg_complete = Message.objects.all().order_by('sent_at')

    date_now = datetime.datetime.today()
    if request.method == 'POST':
        form_message = MessageForm(request.POST)
        if form_message.is_valid():
            form_message = form_message.save(commit=False)
            form_message.sender = profile
            form_message.sent_at = date_now
            form_message.read_at = False
            for i in msg_complete:
                if ((i.receiver_id == form_message.receiver_id) & (i.sender_id == form_message.sender_id)) | ((i.sender_id == form_message.receiver_id) & (i.receiver_id == form_message.sender_id)):
                    i.front = False
                    i.save()
            form_message.front = True
            form_message.save()

            number_message = number_messages(request, str(form_message.receiver_id))
            data = serializers.serialize("json", User.objects.all())

            ishout_client.emit(
                    form_message.receiver_id,
                    'alertchannel',
                    data = {'msg': data,
                        'number_messages': number_message,}
                    )

            return HttpResponseRedirect(reverse('messages_list'))
            # return redirect(reverse('messages_list'))

    else:
        form_message = MessageForm()
        profile_model = get_profile_model()
        ganaderia = Ganaderia.objects.get(perfil=user)
        receivers = profile_model.objects.get_visible_profiles(user).select_related().exclude(id=user.id).filter(ganaderia_perfil=ganaderia)
    return render_to_response('new_message.html',
            {'form': form_message,
                'number_messages': number_message,
                'receivers': receivers,
                },
            context_instance=RequestContext(request))
示例#15
0
def list_food(request):
    username = request.user.username
    number_message = number_messages(request, username)
    id_user = User.objects.filter(username=username)
    ganaderia = Ganaderia.objects.get(perfil=id_user)

    if request.method == 'GET':
        alimentos = Food.objects.all().filter(farm=ganaderia)

    return render_to_response('list_food.html', {
        'alimentos': alimentos,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#16
0
def messages_list_no_read(request):
    user_receiver = request.user
    number_message = number_messages(request, user_receiver.username)
    messages = []
    mc = Message.objects.all().order_by('-sent_at')
    for i in mc:
        if (i.sender_id == user_receiver.id) | (i.receiver_id == user_receiver.id) and (i.front == True) and (i.read_at == False):
            messages.append(i)

    return render_to_response('messages_list_no_read.html',
            {'messages': messages,
                'user_receiver': user_receiver,
                'number_messages': number_message,
                },
            context_instance=RequestContext(request))
示例#17
0
def list_notifications_produccion(request):
    user = request.user
    number_message = number_messages(request, user.username)
    farm = Ganaderia.objects.get(perfil=user)
    notifications = Notification.objects.filter( state=2, module=3, farm=farm ).order_by('-end_date')
    number_produccion = Notification.objects.filter( state=2, module=3, farm=farm ).count()

    number_produccion_realizadas = Notification.objects.filter( state=1, module=3, farm=farm ).count()
    number_produccion_norealizadas = Notification.objects.filter( state=0, module=3, farm=farm ).count()

    return render_to_response('list_notifications_produccion.html',
            {'notifications': notifications,
                'number_messages': number_message,
                'number_produccion': number_produccion,
                'number_produccion_realizadas': number_produccion_realizadas,
                'number_produccion_norealizadas': number_produccion_norealizadas},
            context_instance=RequestContext(request))
示例#18
0
def edit_wormer(request, id_medicament):
    user = request.user
    number_message = number_messages(request, user.username)
    medicament = Medicament.objects.get(id=id_medicament)
    if request.method == 'GET':
        form_medicament = wormerForm(instance=medicament)
    elif request.method == 'POST':
        form_medicament = wormerForm(request.POST, instance=medicament)
        if form_medicament.is_valid():
            form_medicament = form_medicament.save(commit=False)
            form_medicament.farm = medicament.farm
            form_medicament.save()
            return redirect(reverse('list_wormer'))

    return render_to_response('edit_wormer.html', {
        'form_wormer': form_medicament,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#19
0
def edit_wormer(request, id_medicament):
    user = request.user
    number_message = number_messages(request, user.username)
    medicament = Medicament.objects.get(id=id_medicament)
    if request.method == 'GET':
        form_medicament = wormerForm(instance=medicament)
    elif request.method == 'POST':
        form_medicament = wormerForm(request.POST, instance=medicament)
        if form_medicament.is_valid():
            form_medicament = form_medicament.save(commit=False)
            form_medicament.farm = medicament.farm
            form_medicament.save()
            return redirect(reverse('list_wormer'))

    return render_to_response('edit_wormer.html',
            {'form_wormer': form_medicament,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#20
0
def list_notifications(request):
    user = request.user
    number_message = number_messages(request, user.username)
    farm = Ganaderia.objects.get(perfil=user)
    notifications = Notification.objects.filter( Q(state=2) & (Q(ident_cattle__ganaderia=farm) | Q(ident_medicament__farm=farm) | Q(ident_food__farm=farm) | Q(ident_sperm__farm=farm)) ).order_by('-end_date')
    number_todas = Notification.objects.filter( Q(state=2) & (Q(ident_cattle__ganaderia=farm) | Q(ident_medicament__farm=farm) | Q(ident_food__farm=farm) | Q(ident_sperm__farm=farm)) ).count()
    number_reproduccion = Notification.objects.filter( state=2, module=0, farm=farm ).count()
    number_produccion = Notification.objects.filter( state=2, module=3, farm=farm ).count()
    number_sanidad = Notification.objects.filter( state=2, module=2, farm=farm ).count()
    number_alimentacion = Notification.objects.filter( state=2, module=1, farm=farm ).count()

    return render_to_response('list_notifications.html',
            {'notifications': notifications,
                'number_messages': number_message,
                'number_todas': number_todas,
                'number_reproduccion': number_reproduccion,
                'number_produccion': number_produccion,
                'number_sanidad': number_sanidad,
                'number_alimentacion': number_alimentacion},
            context_instance=RequestContext(request))
示例#21
0
def messages_list(request):
    user_receiver = request.user
    try:
        ganaderia = Ganaderia.objects.get(perfil=user_receiver)
    except ObjectDoesNotExist:
        return redirect(reverse('agrega_ganaderia_config'))

    number_message = number_messages(request, user_receiver.username)

    messages = []
    mc = Message.objects.all().order_by('-sent_at')
    for i in mc:
        if (i.sender_id == user_receiver.id) | (i.receiver_id == user_receiver.id) and (i.front == True):
            messages.append(i)

    return render_to_response('messages_list.html',
            {'messages': messages,
                'user_receiver': user_receiver,
                'number_messages': number_message,
                },
            context_instance=RequestContext(request))
示例#22
0
def add_vaccine(request):
    user = request.user
    number_message = number_messages(request, user.username)
    ganaderia = Ganaderia.objects.get(perfil=user)
    if request.method == 'POST':
        form_vaccine = vaccineForm(request.POST)
        if form_vaccine.is_valid():
            form_vaccine = form_vaccine.save(commit=False)
            form_vaccine.farm = ganaderia
            form_vaccine.is_vaccine = True
            form_vaccine.is_wormer = False
            form_vaccine.status = 0
            form_vaccine.save()

            return redirect(reverse('list_vaccine'))

    elif request.method == 'GET':
        form_vaccine = vaccineForm()
    return render_to_response('add_vaccine.html', {
        'form_vaccine': form_vaccine,
        'number_messages': number_message
    },
                              context_instance=RequestContext(request))
示例#23
0
def add_vaccine(request):
    user = request.user
    number_message = number_messages(request, user.username)
    ganaderia = Ganaderia.objects.get(perfil=user)
    if request.method == 'POST':
        form_vaccine = vaccineForm(request.POST)
        if form_vaccine.is_valid():
            form_vaccine = form_vaccine.save(commit=False)
            form_vaccine.farm = ganaderia
            form_vaccine.is_vaccine = True
            form_vaccine.is_wormer = False
            form_vaccine.status = 0
            form_vaccine.save()

            return redirect(reverse('list_vaccine'))

    elif request.method == 'GET':
        form_vaccine = vaccineForm()
    return render_to_response('add_vaccine.html',
            {'form_vaccine': form_vaccine,
                'number_messages': number_message},
            context_instance=RequestContext(request)
            )
示例#24
0
def edit_food(request, alimento_id):
	user = request.user
	number_message = number_messages(request, user.username)
	ganaderia = Ganaderia.objects.get(perfil=user)

	alimento = Food.objects.get(id=alimento_id)

	if request.method == 'POST':
		formAlimento = alimentoForm(request.POST, instance=alimento)
		if formAlimento.is_valid():
			formAlimento = formAlimento.save(commit=False)
			formAlimento.ganaderia = ganaderia
			formAlimento.farm = ganaderia
			formAlimento.is_active = True
			formAlimento.save()
			return redirect(reverse('list_food'))
	else:
		formAlimento = alimentoForm(instance=alimento)

	return render_to_response('edit_food.html',
		{'formAlimento': formAlimento,
		 'alimento_id': alimento_id,
		  'number_messages': number_message},
		context_instance=RequestContext(request))
示例#25
0
def add_food(request):
	user = request.user
	number_message = number_messages(request, user.username)
	try:
		ganaderia = Ganaderia.objects.get(perfil=user)
	except ObjectDoesNotExist:
		return redirect(reverse('agrega_ganaderia_config'))

	if request.method == 'POST':
		formAlimento = alimentoForm(request.POST)
		if formAlimento.is_valid():
			formAliment = formAlimento.save(commit=False)
			formAliment.farm = ganaderia
			formAliment.is_active = True
			formAliment.save()
			return redirect(reverse('list_food'))

	elif request.method == 'GET':
		formAlimento = alimentoForm()

	return render_to_response('add_food.html',
		{'formAlimento': formAlimento,
		 'number_messages': number_message},
		context_instance=RequestContext(request))
示例#26
0
def list_reports(request):
    user = request.user
    number_message = number_messages(request, user.username)
    return render_to_response('list_reports.html',
            {'number_messages': number_message},
            context_instance=RequestContext(request))
示例#27
0
def messages_details(request, user_id, user_send_id, user_receiver_id):
    user = User.objects.get(id=user_id)
    user_send = User.objects.get(id=user_send_id)
    user_receiver = User.objects.get(id=user_receiver_id)

    profile = Profile.objects.get(user=user)
    profile_sender = Profile.objects.get(user=user_send)
    profile_receiver = Profile.objects.get(user=user_receiver)

    messages = []
    msgs = Message.objects.all().order_by('-sent_at')
    if request.method == 'POST':
        form_message = MessageResponseForm(request.POST)
        date_now = datetime.datetime.today()
        if form_message.is_valid():
            form_message = form_message.save(commit=False)
            form_message.sender = profile
            if user_id == user_send_id:
                form_message.receiver = profile_receiver
                form_message.read_at = False
            elif user_id == user_receiver_id:
                form_message.receiver = profile_sender
                form_message.read_at = False
            form_message.sent_at = date_now
            for i in msgs:
                if ((i.receiver_id == user_receiver.id) & (i.sender_id == user_send.id)) | ((i.sender_id == user_receiver.id) & (i.receiver_id == user_send.id)):
                    i.front=False
                    i.save()
            form_message.front = True
            form_message.save()

            number_message = number_messages(request, str(form_message.receiver_id))
            data = serializers.serialize("json", User.objects.all())

            ishout_client.emit(
                    form_message.receiver_id,
                    'alertchannel',
                    data = {'msg': data,
                        'number_messages': number_message,}
                    )

            return HttpResponseRedirect(reverse('messages_list'))
            # return redirect(reverse('messages_list', kwargs={'username': user.username}))
    elif request.method == 'GET':
        for i in msgs:
            if ((i.receiver_id == user_receiver.id) & (i.sender_id == user_send.id)) | ((i.sender_id == user_receiver.id) & (i.receiver_id == user_send.id)):
                if user_id != user_send_id:
                    i.read_at=True
                    i.save()
                messages.append(i)
        form_message = MessageResponseForm()

        number_message = number_messages(request, str(user.id))
        data = serializers.serialize("json", User.objects.all())

        ishout_client.emit(
                user_send.id,
                'alertchannel',
                data = {'msg': data,
                    'number_messages': number_message}
                )

    return render_to_response('messages_details.html',
            {'messages': messages,
                'user_receiver': user_receiver,
                'user_sender': user_send,
                'form':form_message,
                },
            context_instance=RequestContext(request))
示例#28
0
def view_report_female(request, id_cattle):
    user = request.user
    number_message = number_messages(request, user.username)
    farm = Ganaderia.objects.get(perfil=user)
    configuration = Configuracion.objects.get(id=farm.configuracion.id)

    cattle = Ganado.objects.get(Q(ganaderia=farm) & ( Q(identificacion_simple_id__rp=id_cattle) | Q(identificacion_ecuador_id__rp=id_cattle) ) )
    problem_gestacion = ProblemaGestacion.objects.filter(id=cattle.id)

    total_births = Gestacion.objects.filter(
            Q(ganado=cattle, is_active=False) &
            ~Q(problema=problem_gestacion)
            ).count()
    total_problems_births =ProblemaGestacion.objects.filter(id=cattle.id).count()

    if configuration.tipo_identificacion=='simple':
        try:
            cattle_mother = Ganado.objects.get(identificacion_simple__rp=cattle.identificacion_simple.rp_madre)
        except ObjectDoesNotExist:
            cattle_mother = 'Desconocida'

        try:
            cattle_father = Ganado.objects.get(identificacion_simple__rp=cattle.identificacion_simple.rp_padre)
        except ObjectDoesNotExist:
            try:
                cattle_father = Insemination.objects.get(rp=cattle.identificacion_simple.rp_padre)
            except ObjectDoesNotExist:
                cattle_father = 'Desconocido'

    else:
        try:
            cattle_mother = Ganado.objects.get(identificacion_ecuador__rp=cattle.identificacion_ecuador.rp_madre)
        except ObjectDoesNotExist:
            cattle_mother = 'Desconocida'

        try:
            cattle_father = Ganado.objects.get(identificacion_ecuador__rp=cattle.identificacion_ecuador.rp_padre)
        except ObjectDoesNotExist:
            try:
                cattle_father = Insemination.objects.get(rp=cattle.identificacion_ecuador.rp_padre)
            except ObjectDoesNotExist:
                cattle_father = 'Desconocido'


    if cattle.etapas.all():
        etapa = Etapa.objects.get(ganado=cattle, is_active=True)


    ordenio = Ordenio.objects.filter(ganado=cattle)
    count_milk = 0
    count = 0
    for o in ordenio:
        if o.numero_ordenio == configuration.numero_ordenios:
            count_milk += o.total
            count += 1
    if count_milk > 0:
        count_milk = count_milk / count

    application_food = ApplicationFood.objects.filter(cattle=cattle)
    food = []
    i = 1
    for f in application_food:
        aux = str(f.food.name+' - '+str(f.food.consumer_amount)+' '+f.food.get_unit_display()+'. (X'+str(i)+')')
        if aux not in food:
            food.append(aux)
        else:
            index = food.index(aux)
            i += 1
            food[index] = str(f.food.name+' - '+str(f.food.consumer_amount)+' '+f.food.get_unit_display()+'.')+' (X'+str(i)+')'

    medicament_wormer = Medicament.objects.filter(farm=farm, is_wormer=True)
    application_medicament_wormer = ApplicationMedicament.objects.filter(medicament=medicament_wormer, cattle=cattle).order_by('medicament')
    wormer = []
    i = 1
    for w in application_medicament_wormer:
        aux = str(w.medicament.name+' - '+str(w.medicament.amount_application)+' '+w.medicament.get_unit_display()+'. (X'+str(i)+')')
        if aux not in wormer:
            wormer.append(aux)
        else:
            index = wormer.index(aux)
            i += 1
            wormer[index] = str(w.medicament.name+' - '+str(w.medicament.amount_application)+' '+w.medicament.get_unit_display()+'.')+' (X'+str(i)+')'

    medicament_vaccine = Medicament.objects.filter(farm=farm, is_vaccine=True)
    application_medicament_vaccine = ApplicationMedicament.objects.filter(medicament=medicament_vaccine, cattle=cattle).order_by('medicament')
    vaccine = []
    i = 1
    for v in application_medicament_vaccine:
        aux = str(v.medicament.name+' - '+str(v.medicament.amount_application)+' '+v.medicament.get_unit_display()+'. (X'+str(i)+')')
        if aux not in vaccine:
            vaccine.append(aux)
        else:
            index = vaccine.index(aux)
            i += 1
            vaccine[index] = str(v.medicament.name+' - '+str(v.medicament.amount_application)+' '+v.medicament.get_unit_display()+'.')+' (X'+str(i)+')'



    return render_to_response('view_report_female.html',
            {'cattle': cattle,
                'total_births': total_births,
                'total_problems_births': total_problems_births,
                'cattle_mother': cattle_mother,
                'cattle_father': cattle_father,
                'count_milk': count_milk,
                'food': food,
                'wormer': wormer,
                'vaccine': vaccine,
                'number_messages': number_message,
                'etapa': etapa},
            context_instance=RequestContext(request))
示例#29
0
def view_report_female(request, id_cattle):
    user = request.user
    number_message = number_messages(request, user.username)
    farm = Ganaderia.objects.get(perfil=user)
    configuration = Configuracion.objects.get(id=farm.configuracion.id)

    cattle = Ganado.objects.get(
        Q(ganaderia=farm) & (Q(identificacion_simple_id__rp=id_cattle)
                             | Q(identificacion_ecuador_id__rp=id_cattle)))
    problem_gestacion = ProblemaGestacion.objects.filter(id=cattle.id)

    total_births = Gestacion.objects.filter(
        Q(ganado=cattle, is_active=False)
        & ~Q(problema=problem_gestacion)).count()
    total_problems_births = ProblemaGestacion.objects.filter(
        id=cattle.id).count()

    if configuration.tipo_identificacion == 'simple':
        try:
            cattle_mother = Ganado.objects.get(identificacion_simple__rp=cattle
                                               .identificacion_simple.rp_madre)
        except ObjectDoesNotExist:
            cattle_mother = 'Desconocida'

        try:
            cattle_father = Ganado.objects.get(identificacion_simple__rp=cattle
                                               .identificacion_simple.rp_padre)
        except ObjectDoesNotExist:
            try:
                cattle_father = Insemination.objects.get(
                    rp=cattle.identificacion_simple.rp_padre)
            except ObjectDoesNotExist:
                cattle_father = 'Desconocido'

    else:
        try:
            cattle_mother = Ganado.objects.get(
                identificacion_ecuador__rp=cattle.identificacion_ecuador.
                rp_madre)
        except ObjectDoesNotExist:
            cattle_mother = 'Desconocida'

        try:
            cattle_father = Ganado.objects.get(
                identificacion_ecuador__rp=cattle.identificacion_ecuador.
                rp_padre)
        except ObjectDoesNotExist:
            try:
                cattle_father = Insemination.objects.get(
                    rp=cattle.identificacion_ecuador.rp_padre)
            except ObjectDoesNotExist:
                cattle_father = 'Desconocido'

    if cattle.etapas.all():
        etapa = Etapa.objects.get(ganado=cattle, is_active=True)

    ordenio = Ordenio.objects.filter(ganado=cattle)
    count_milk = 0
    count = 0
    for o in ordenio:
        if o.numero_ordenio == configuration.numero_ordenios:
            count_milk += o.total
            count += 1
    if count_milk > 0:
        count_milk = count_milk / count

    application_food = ApplicationFood.objects.filter(cattle=cattle)
    food = []
    i = 1
    for f in application_food:
        aux = str(f.food.name + ' - ' + str(f.food.consumer_amount) + ' ' +
                  f.food.get_unit_display() + '. (X' + str(i) + ')')
        if aux not in food:
            food.append(aux)
        else:
            index = food.index(aux)
            i += 1
            food[index] = str(f.food.name + ' - ' +
                              str(f.food.consumer_amount) + ' ' +
                              f.food.get_unit_display() +
                              '.') + ' (X' + str(i) + ')'

    medicament_wormer = Medicament.objects.filter(farm=farm, is_wormer=True)
    application_medicament_wormer = ApplicationMedicament.objects.filter(
        medicament=medicament_wormer, cattle=cattle).order_by('medicament')
    wormer = []
    i = 1
    for w in application_medicament_wormer:
        aux = str(w.medicament.name + ' - ' +
                  str(w.medicament.amount_application) + ' ' +
                  w.medicament.get_unit_display() + '. (X' + str(i) + ')')
        if aux not in wormer:
            wormer.append(aux)
        else:
            index = wormer.index(aux)
            i += 1
            wormer[index] = str(w.medicament.name + ' - ' +
                                str(w.medicament.amount_application) + ' ' +
                                w.medicament.get_unit_display() +
                                '.') + ' (X' + str(i) + ')'

    medicament_vaccine = Medicament.objects.filter(farm=farm, is_vaccine=True)
    application_medicament_vaccine = ApplicationMedicament.objects.filter(
        medicament=medicament_vaccine, cattle=cattle).order_by('medicament')
    vaccine = []
    i = 1
    for v in application_medicament_vaccine:
        aux = str(v.medicament.name + ' - ' +
                  str(v.medicament.amount_application) + ' ' +
                  v.medicament.get_unit_display() + '. (X' + str(i) + ')')
        if aux not in vaccine:
            vaccine.append(aux)
        else:
            index = vaccine.index(aux)
            i += 1
            vaccine[index] = str(v.medicament.name + ' - ' +
                                 str(v.medicament.amount_application) + ' ' +
                                 v.medicament.get_unit_display() +
                                 '.') + ' (X' + str(i) + ')'

    return render_to_response('view_report_female.html', {
        'cattle': cattle,
        'total_births': total_births,
        'total_problems_births': total_problems_births,
        'cattle_mother': cattle_mother,
        'cattle_father': cattle_father,
        'count_milk': count_milk,
        'food': food,
        'wormer': wormer,
        'vaccine': vaccine,
        'number_messages': number_message,
        'etapa': etapa
    },
                              context_instance=RequestContext(request))
示例#30
0
def list_reports(request):
    user = request.user
    number_message = number_messages(request, user.username)
    return render_to_response('list_reports.html',
                              {'number_messages': number_message},
                              context_instance=RequestContext(request))