Пример #1
0
def index(request):
    # return HttpResponse("HEKLO")
    user = request.user
    logged = user.is_authenticated()
    
    if logged:
        if user.is_patient():
            alerts = user.patient.get_alerts()
            template = "patients/index.html"
        elif user.is_doctor():
            treatments = user.doctor.get_open_treatments()
            from treatments.models import TreatmentQueue, TreatmentStatus
            this_month = len(TreatmentStatus.objects.filter(doctor_at_the_time=user.doctor, status="EC", change_date__gte=(datetime.now() - timedelta(days=30)) ))
            monthly_total = TreatmentStatus.objects.raw('''SELECT id FROM treatments_treatmentstatus ts1
                                                               WHERE id = (SELECT id FROM treatments_treatmentstatus ts2
                                                                   WHERE ts1.treatment_id = ts2.treatment_id ORDER BY change_date DESC LIMIT 1)
                                                                ORDER BY change_date DESC''')
            monthly_total = len(list(monthly_total))
            queue_length = TreatmentQueue.get_queue_length()
            template = "doctors/index.html"
        else:
            template = "staff/index.html"
    else:
        template = "base_with_hero_unit.html"
    
    try:
        next = next
    except:
        next = reverse('index')
        
    return render_to_response(template, locals(), context_instance=RequestContext(request)) # "home.html", locals()) #, context_instance=RequestContext(request))
Пример #2
0
 def get_new_treatment(self):
     treatment_item = TreatmentQueue.get_treatment()
     if treatment_item is not None:
         treatment_item.forward()
         treatment = treatment_item.treatment
         treatment.forward_to(self)
         treatment.set_status("WDR")
         treatment.save()
         return True
     else:
         return False
Пример #3
0
def free_treatment(request):
    if request.method == "POST":
        post = request.POST
        try:
            treatment_id = post['treatment_id']
        except:
            return message_error(u"Formulário inválido.")
        
        try:
            treatment = Treatment.objects.get(id=treatment_id)
        except:
            return message_error(u"Avaliação não encontrada.")
            
        if system.GET_FREE_TREATMENTS() > 0:
            f_t = Config.objects.get(key="free_treatments")
            f_t.value = int(f_t.value) - 1
            f_t.save()
        else:
            return message_error(u"Não existem mais gratuidades no momento.")
            
        try:
            treatment.paid = True
            treatment.save()

            treatment_status = TreatmentStatus(status="IQ", treatment=treatment)
            treatment_status.save()

            treatment_queue = TreatmentQueue(treatment=treatment)
            treatment_queue.save()
        except:
            import traceback
            error = traceback.format_exc()
            subject = "ERROR - Failed to completed payment procedure"
            send_error_report(subject, error)
            
        return render_to_response("message.html", {"success": u"Avaliação enviada com sucesso. Já se encontra na fila de espera. Você será notificado das atualizações na sua avaliação pelo sistema e pelo seu email registrado. Aguarde."}, context_instance=RequestContext(request))
    else:
        return message_error(u"Não pode ser acessado dessa maneira.")