def view(request): c = {} user = request.user cases = None if hasGroup(user, 'receptionist'): cases = case.objects.all() elif hasGroup(user, 'patient'): cases = case.objects.filter(patient=user) elif hasGroup(user, 'doctor'): c['isDoctor'] = True cases = [ appointment.case for appointment in Appointment.objects.filter(doctor=user) ] open = [] closed = [] for ca in cases: if ca.closed_date: closed.append(ca) else: open.append(ca) c['openCases'] = open c['closedCases'] = closed return render(request, 'case/view.html', c)
def view(request): c = {} c.update(csrf(request)) if hasGroup(request.user, 'patient'): c['bills'] = [] c['isPatient'] = True for cases in Case.objects.filter(patient=request.user): c['bills'].extend(list(Bill.objects.filter(case=cases))) elif hasGroup(request.user, 'receptionist'): id = request.POST.get('patient', '') if id == '': c['selectPatient'] = True c['patients'] = User.objects.filter(groups__name='patient') return render(request, 'bill/view_bill.html', c) else: c['bills'] = [] for cases in Case.objects.filter(patient=User(id=id)): c['bills'].extend(list(Bill.objects.filter(case=cases))) else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/') bills = c['bills'] c['paidBills'] = [] c['pendingBills'] = [] for b in bills: if b.is_paid: c['paidBills'].append(b) else: c['pendingBills'].append(b) return render(request, 'bill/view_bill.html', c)
def view(request): c = {} user = request.user if hasGroup(user, 'lab_attendant'): c['isLabAttendant'] = True c['reports'] = Report.objects.filter(lab_attendant=request.user) elif hasGroup(user, 'patient'): c['reports'] = [ report for report in Report.objects.all() if report.case.patient == request.user ] else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home') return render(request, 'report/view.html', c)
def doRegister(request): if hasGroup(request.user, 'receptionist'): first_name = request.POST.get('first_name') last_name = request.POST.get('last_name') username = first_name+'.'+last_name if User.objects.filter(username=username).exists(): messages.add_message(request, messages.ERROR, 'Username Already Exists.') return HttpResponseRedirect('/register') contact_no = request.POST.get('contact_no') address = request.POST.get('address') dob = request.POST.get('dob') age = request.POST.get('age') blood_group = request.POST.get('blood_group') sex_choices = request.POST.get('sex_choices') email = request.POST.get('email') if not contact_no.isdigit(): contact_no = 0 try: patient = User.objects.create_user(username=username, password='******', first_name=first_name, last_name=last_name, email=email) patient.profile = Profile(contact_no=int(contact_no), address=address, dob=dob, age = age, blood_group=blood_group, sex=sex_choices) patient.profile.save() patient.save() group = Group.objects.get(name='patient') group.user_set.add(patient) group.save() messages.add_message(request, messages.SUCCESS, 'Successfully Registered '+username) return HttpResponseRedirect('/manage_patient') except: messages.add_message(request, messages.WARNING, 'Registered Failed '+username) return HttpResponseRedirect('/manage_patient') else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def showQuizzes(request): past_quizzes = quiz.objects.filter( end_time__lt=datetime.now().strftime('%H:%M:%S'), end_date__lte=date.today()) remaining_past = quiz.objects.filter(end_date__lt=date.today()) past_quizzes |= remaining_past live_quizzes = quiz.objects.filter( start_time__lte=datetime.now().strftime('%H:%M:%S'), start_date=date.today(), end_time__gte=datetime.now().strftime('%H:%M:%S')) upcoming_quizzes = quiz.objects.filter(start_date__gt=date.today()) remaining = quiz.objects.filter( start_date=date.today(), start_time__gte=datetime.now().strftime('%H:%M:%S')) upcoming_quizzes |= remaining context = { 'past_quizzes': past_quizzes, 'live_quizzes': live_quizzes, 'upcoming_quizzes': upcoming_quizzes, } context['isUser'] = False context['isAdmin'] = False if hasGroup(request.user, 'Admin'): context['isAdmin'] = True else: context['isUser'] = True return render(request, 'quiz/show_Quizzes.html', context)
def doGenerate(request): if hasGroup(request.user, 'doctor'): appointment = Appointment.objects.get( pk=request.POST.get('appointment_id', '')) description = request.POST.get('description', '') filed_time = request.POST.get('filed_date') + 'T' + request.POST.get( 'filed_time') filed_time = datetime(*[ int(v) for v in filed_time.replace('T', '-').replace(':', '-').split('-') ]) #closed_date = datetime.now() closed_time = request.POST.get('closed_date') + 'T' + request.POST.get( 'closed_time') closed_time = datetime(*[ int(v) for v in closed_time.replace('T', '-').replace(':', '-').split('-') ]) d_type = request.POST.get('d_type', '') c = Diagnosis(appointment=appointment, description=description, filed_time=filed_time, closed_time=closed_time, d_type=d_type) c.save() messages.add_message(request, messages.INFO, '成功创建') return HttpResponseRedirect('/diagnosis/') messages.add_message(request, messages.WARNING, '失败') return HttpResponseRedirect('/home')
def pay(request): user = request.user if hasGroup(user, 'receptionist'): ids = request.POST.getlist('ids', '') if type(ids) == type([]): for id in ids: try: b = bill.objects.get(id=int(id)) b.is_paid = True b.save() except: messages.add_message(request, messages.INFO, 'Select bill to pay.') return HttpResponseRedirect('/bill/') else: try: b = bill.objects.get(id=int(ids)) b.is_paid = True b.save() except: messages.add_message(request, messages.INFO, 'Select bill to pay.') return HttpResponseRedirect('/bill/') messages.add_message(request, messages.INFO, 'Bill Paid Successfully.') return HttpResponseRedirect('/bill/') messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def doGenerate(request): if hasGroup(request.user, 'receptionist'): try: patient = User.objects.get( username=request.POST.get('patient', '')) description = request.POST.get('description', '') filled_date = datetime.now() c = Case(patient=patient, receptionist=request.user, description=description, filled_date=filled_date) c.save() item = Items.objects.get(item_name='Consulting Charges') quantity = 1 bill_date = datetime.now() bill_details = 'Basic Consulting Charges' amount = item.sell_price * quantity b = Bill(case=c, item=item, quantity=quantity, bill_date=bill_date, bill_details=bill_details, amount=amount) b.save() messages.success(request, 'Successfully generated Case') return HttpResponseRedirect('/appointments/book') except ObjectDoesNotExist: messages.info(request, 'No Such User') return HttpResponseRedirect('/case/generate') else: messages.info(request, 'Access Denied') return HttpResponseRedirect('/')
def doGenerate(request): if hasGroup(request.user, 'receptionist'): patient = User.objects.get(username=request.POST.get('patient', '')) print(patient) description = request.POST.get('description', '') print(description) filed_date = datetime.now() print(filed_date) print(request.user) c = case(patient=patient, receptionist=request.user, description=description, filed_date=filed_date) c.save() item = items.objects.get(item_name='Consulting Charges') quantity = 1 bill_date = datetime.now() bill_details = 'Basic Consulting Charges' ammount = item.sell_price * quantity b = bill(case=c, item=item, quantity=quantity, bill_date=bill_date, bill_details=bill_details, ammount=ammount) b.save() messages.add_message(request, messages.INFO, 'Successfully Generated Case') return HttpResponseRedirect('/appointments/book') messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def delete(request, id): user = request.user if hasGroup(user, 'receptionist'): case.objects.get(id=id).delete() messages.add_message(request, messages.INFO, 'Successfully Closed Case') return HttpResponseRedirect('/case')
def update_doctor(request, **kwargs): id = kwargs['id'] doc = User.objects.get(pk=id) user = request.user if hasGroup(user, 'hr_manager'): contact_no = request.POST.get('contact_no', '') gender = request.POST.get('gender', '') address = request.POST.get('address', '') blood_group = request.POST.get('blood_group', '') age = request.POST.get('age', '') outstanding = request.POST.get('outstanding', '') paid = request.POST.get('paid', '') status = request.POST.get('status', '') doc.doctor.contact_no = contact_no doc.doctor.gender = gender doc.doctor.address = address doc.doctor.blood_group = blood_group doc.doctor.age = age doc.doctor.outstanding = outstanding doc.doctor.paid = paid doc.doctor.status = status doc.doctor.save() messages.add_message(request, messages.INFO, 'Profile successfully updated!') return HttpResponseRedirect('/') else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/')
def updateProfile(request): if hasGroup(request.user, 'patient'): user = request.user password1 = request.POST.get('password1') password2 = request.POST.get('password2') contact = request.POST.get('contact_no') address = request.POST.get('address') birthday = request.POST.get('dob') bloodGroup = request.POST.get('blood_group') gender = request.POST.get('gender') if password1 != password2: messages.add_message(request, messages.WARNING, 'Passwords don\'t Match') return HttpResponseRedirect('/profile/update_profile_form/') if password1 != '': user.set_password(password1) user.save() user.patient.address = address user.patient.contact_no = contact user.patient.dob = birthday user.patient.blood_group = bloodGroup user.patient.gender = gender user.patient.save() messages.add_message(request, messages.INFO, 'Profile successfully updated!') return HttpResponseRedirect('/') else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/')
def changeProfile(request, id): user = request.user if hasGroup(user, 'doctor'): c = {'doctor': Doctor.objects.get(pk=id)} c['doctors'] = Doctor.objects.all() c.update(csrf(request)) return render(request, 'profiles/change_profile.html', c) return HttpResponseRedirect('/home')
def viewMedicine(request): c = {} if hasGroup(request.user, 'patient'): c['bills'] = [] c['isPatient'] = True for cases in case.objects.filter(patient=request.user): c['bills'].extend(list(bill.objects.filter(case=cases))) return render(request, 'bill/medicines.html', c)
def view(request): c = {} c.update(csrf(request)) if hasGroup(request.user, 'patient'): c['bills'] = [] c['isPatient'] = True for cases in case.objects.filter(patient=request.user): c['bills'].extend(list(bill.objects.filter(case=cases)))
def generate(request): if hasGroup(request.user, 'lab_attendant'): c = {} c.update(csrf(request)) c['cases'] = case.objects.all() return render(request, 'report/generate.html', c) messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def register(request): if hasGroup(request.user, 'receptionist'): c = {} c.update(csrf(request)) return render(request, 'profiles/register.html') else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def generate(request): if hasGroup(request.user, 'receptionist'): c = {} c.update(csrf(request)) c['patients'] = User.objects.filter(groups__name='patient') return render(request, 'case/generate.html', c) messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def delete(request, id): user = request.user if hasGroup(user, 'doctor'): Following.objects.get(id=id).delete() messages.add_message(request, messages.INFO, '成功删除随访') else: messages.add_message(request, messages.WARNING, '删除随访失败') return HttpResponseRedirect('/followings/')
def delete(request, id): user = request.user if hasGroup(user, 'receptionist'): Appointment.objects.get(id=id).delete() messages.add_message(request, messages.INFO, 'Appointment Successfully Deleted') else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/appointments/')
def delete(request, id): user = request.user if hasGroup(user, 'receptionist'): bill.objects.get(id=id).delete() messages.add_message(request, messages.INFO, 'Successfully Deleted Bill.') return HttpResponseRedirect('/bill/') messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def generate(request, case_id): if hasGroup(request.user, 'doctor'): c = {} c.update(csrf(request)) c['case'] = case.objects.get(id=int(case_id)) c['items'] = items.objects.all() return render(request, 'bill/generate.html', c) messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('home/')
def generate(request): if hasGroup(request.user, 'receptionist'): c = {} c.update(csrf(request)) c['patients'] = User.objects.filter(groups__name='patient') return render(request, 'case/generate.html', c) else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/')
def generate(request, appointment_id): if hasGroup(request.user, 'doctor'): c = {} c['appointment'] = Appointment.objects.get(pk=appointment_id) c['forms'] = TypeForm(request.POST) c.update(csrf(request)) return render(request, 'diagnosis/generate.html', c) messages.add_message(request, messages.WARNING, '失败') return HttpResponseRedirect('/home')
def changeAppointment(request, id): user = request.user if hasGroup(user, 'receptionist'): c = {'appointment': Appointment.objects.get(pk=id)} c['doctors'] = User.objects.filter(groups__name='doctor') c.update(csrf(request)) return render(request, 'appointments/change.html', c) messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/home')
def inventory(request): c = {} user = request.user if hasGroup(user, 'inventory_manager'): c['stocks'] = stock.objects.all() else: messages.add_message(request, messages.WARNING, 'Access Denied.') return HttpResponseRedirect('/') return render(request, 'stock/view_all.html', c)
def generate(request, case_id): if hasGroup(request.user, 'doctor'): c = {} c.update(csrf(request)) c['case'] = Case.objects.get(id=int(case_id)) c['items'] = Items.objects.all() return render(request, 'bill/generate.html', c) else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/')
def delete(request, id): user = request.user if hasGroup(user, 'receptionist'): b = Bill.objects.get(id=id) b.delete() messages.info(request, 'Bill has been deleted') return HttpResponseRedirect('/bill/') else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/')
def view(request): c = {} user = request.user if hasGroup(user, 'receptionist'): c['isReceptionist'] = True c['appointments'] = Appointment.objects.filter( appointment_time__gte=timezone.now()).order_by('appointment_time') elif hasGroup(user, 'patient'): c['appointments'] = Appointment.objects.filter( patient=user, appointment_time__gte=timezone.now()).order_by('appointment_time') elif hasGroup(user, 'doctor'): c['appointments'] = Appointment.objects.filter( doctor=user, appointment_time__gte=timezone.now()).order_by('appointment_time') else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/') return render(request, 'appointment/view_all.html', c)
def delete(request, id): user = request.user if hasGroup(user, 'receptionist'): a = Appointment.objects.get(id=id) a.delete() messages.info(request, 'Appointment Successfully deleted') return HttpResponseRedirect('/appointments') else: messages.warning(request, 'Access Denied') return HttpResponseRedirect('/')