コード例 #1
0
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)
コード例 #2
0
ファイル: views.py プロジェクト: SeyiKayode/hospital-manager
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)
コード例 #3
0
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)
コード例 #4
0
ファイル: views.py プロジェクト: chirag220792/mevati
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')
コード例 #5
0
ファイル: views.py プロジェクト: rahulmala007/MyQuiz
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)
コード例 #6
0
ファイル: views.py プロジェクト: vanessayang819/DMS
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')
コード例 #7
0
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')
コード例 #8
0
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('/')
コード例 #9
0
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')
コード例 #10
0
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')
コード例 #11
0
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('/')
コード例 #12
0
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('/')
コード例 #13
0
ファイル: views.py プロジェクト: vanessayang819/DMS
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')
コード例 #14
0
ファイル: views.py プロジェクト: archanaelisala/TOT_DEC_2020
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)
コード例 #15
0
ファイル: views.py プロジェクト: archanaelisala/TOT_DEC_2020
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)))
コード例 #16
0
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')
コード例 #17
0
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')
コード例 #18
0
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')
コード例 #19
0
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/')
コード例 #20
0
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/')
コード例 #21
0
ファイル: views.py プロジェクト: archanaelisala/TOT_DEC_2020
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')
コード例 #22
0
ファイル: views.py プロジェクト: archanaelisala/TOT_DEC_2020
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/')
コード例 #23
0
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('/')
コード例 #24
0
ファイル: views.py プロジェクト: vanessayang819/DMS
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')
コード例 #25
0
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')
コード例 #26
0
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)
コード例 #27
0
ファイル: views.py プロジェクト: SeyiKayode/hospital-manager
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('/')
コード例 #28
0
ファイル: views.py プロジェクト: SeyiKayode/hospital-manager
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('/')
コード例 #29
0
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)
コード例 #30
0
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('/')