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))
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
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.")