Beispiel #1
0
def add_medicine_to_prescription(request):
    user = request.user
    if user.is_authenticated:
        data = json.loads(request.body)
        added = prescription_manager.\
            add_medicine_to_prescription(data['prescription_id'], data['med_name'], data['med_manufacturer'],
                                         data['brand'], data['spec'], data['amount'])
        return success_json_response({'added': added})
    return error_json_response("用户未登录User not logged in")
Beispiel #2
0
def add_prescription(request):
    user = request.user
    if user.is_authenticated:
        create_time = time.strftime('%Y-%m-%d %H:%M:%S')
        uname = user.uname
        data = json.loads(request.body)
        prescriptions = prescription_manager.add_prescription(
            create_time, uname, data['patient_id'], data['content'])
        return success_json_response({'prescriptions': prescriptions})
    return error_json_response("用户未登录User not logged in")
Beispiel #3
0
def get_bp_records_by_patient_id(patient_id):
    bp_records = bp_record_manager.get_bp_records_by_patient_id(patient_id)
    return success_json_response({'bp_records': bp_records})
Beispiel #4
0
def add_medicine_by_name_manufacturer_brand_spec_amount_default_price(med_name, med_manufacturer, brand, spec,
                                                                      amount, price):
    medicines = medicine_manager.\
        add_medicine_by_name_manufacturer_brand_spec_amount_default_price(med_name, med_manufacturer, brand,
                                                                          spec, amount, price)
    return success_json_response({'medicines': medicines})
Beispiel #5
0
def get_medicine_by_med_name(med_name):
    medicines = medicine_manager.get_medicine_by_med_name(med_name)
    return success_json_response({'medicines': medicines})
Beispiel #6
0
def logout(request):
    auth.logout(request)
    return success_json_response({'message': '注销成功。Successfully log out'})
Beispiel #7
0
def get_bills_by_patient_id(patient_id):
    bills = bill_manager.get_bills_by_patient_id(patient_id)
    return success_json_response({'bills': bills})
Beispiel #8
0
def add_patient(request, birthdate, name, phone_number):
    if request.user.is_authenticated:
        patients = patient_manager.add_patient(birthdate, name, phone_number)
        return success_json_response({'patients': patients})
    return error_json_response("用户未登录User not logged in")
Beispiel #9
0
def add_bill(deal_price, paid, patient_id, uname):
    create_time = time.strftime('%Y-%m-%d %H:%M:%S')
    bills = bill_manager.add_bill(create_time, deal_price, paid, patient_id,
                                  uname)
    return success_json_response({'bills': bills})
Beispiel #10
0
def set_bill_paid_by_bill_id_and_status(bill_id, paid):
    paid_time = time.strftime('%Y-%m-%d %H:%M:%S')
    bills = bill_manager.set_bill_paid_by_bill_id_and_status(
        bill_id, paid, paid_time)
    return success_json_response({'bills': bills})
Beispiel #11
0
def get_bill_by_bill_id(bill_id):
    bills = bill_manager.get_bill_by_bill_id(bill_id)
    return success_json_response({'bills': bills})
Beispiel #12
0
def get_all_bills_by_doc_uname(uname):
    bills = bill_manager.get_all_bills_by_doc_uname(uname)
    return success_json_response({'bills': bills})
Beispiel #13
0
def get_doctors_by_uname(uname):
    doctors = doctor_manager.get_doctors_by_uname(uname)
    return success_json_response({'doctors': doctors})
Beispiel #14
0
def get_all_patients(request):
    # print(request)
    if request.user.is_authenticated:
        patients = patient_manager.get_all_patients()
        return success_json_response({'patients': patients})
    return error_json_response("用户未登录User not logged in")
Beispiel #15
0
def get_prescriptions_with_medicine_by_patient_id(patient_id):
    prescriptions = prescription_manager.get_prescriptions_with_medicine_by_patient_id(
        patient_id)
    return success_json_response({'prescriptions': prescriptions})
Beispiel #16
0
def search_patients(request, keyword):
    if request.user.is_authenticated:
        # TODO: check user role
        return success_json_response(
            {'patients': patient_manager.search_patients(keyword)})
    return error_json_response("用户未登录User not logged in")
Beispiel #17
0
def get_prescription_by_prescription_id(prescription_id):
    prescriptions = prescription_manager.get_prescription_by_prescription_id(
        prescription_id)
    return success_json_response({'prescriptions': prescriptions})
Beispiel #18
0
def get_patients_by_name(request, name):
    if request.user.is_authenticated:
        patients = patient_manager.get_patients_by_name(name)
        return success_json_response({'patients': patients})
    return error_json_response("用户未登录User not logged in")
Beispiel #19
0
def login(request):
    print(request)
    print(request.user)
    if request.user.is_authenticated:
        user = request.user
        doctors = doctor_manager.get_doctors_by_uname(user.uname)
        is_doctor = len(doctors) > 0
        is_admin = is_doctor
        return success_json_response({
            'user': {
                'username': request.user.uname,
                'name': request.user.name,
                'isAdmin': is_admin,
                'isDoctor': is_doctor
            }
        })

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']

            private_key = rsa.PrivateKey.load_pkcs1(
                ('-----BEGIN RSA PRIVATE KEY-----\n \
                MIICXAIBAAKBgQClKNC9Gyk0K2d3x1XnJhsNQOm4pqem0UmElIH6rvUSHmbx9R1S\n \
                HZSLqE7biTcYhkU8gYe0+fIBeExt/qW4L6IbEB3XG/Xv0rarK18vCNulkD43eDae\n \
                JZPOIdy3nItXiBIpNQxEu8MiOtqTIPeGIcueIOP0C3+HeIZFiKPSZMoteQIDAQAB\n \
                AoGBAIQQyCF/N4p87qar4bgNE3Kcpoe906+kCOqYKft/rX4Ii38M5p5EAwVN14jb\n \
                BxB4RaLlXNPNTcP5IvyNtIw8op1CZJZxdneTKjquH+cBYdZE5v/UpQfa1PP3o22b\n \
                0/jGtHyCGJzzZ/+DlCtgTBLJsK7e5mJPw8X9hvqR+kIPDoXRAkEA01CL26Ufr0PC\n \
                /gGMpOvI6iK8DDwBdE8ISrW+XkgixSnPBZcYrhKnLi3zvOg5yEMEBCqt9Wi/qorW\n \
                h4ZBqzVbVQJBAMgVq936/15lwJeSv6Z7Ssm7iVsLETr7xFt9m8CT3+FykrtNBZQx\n \
                rOm/daLfyTjXNsv0EaePVF6xCfyuQ7698ZUCQBeqsb9L4xySDki8i6/86GewtDb6\n \
                kX8hSuBzMnsEwUAryo/puE3msOqvItlJeQ9A0jZVQV52+OB05EoRc1FljHECQCDT\n \
                bV79zuetyesUKF0n3R07p01Ig4spww0/jk4J9LEIGwqfmEq326Z9ws716A1rQZI0\n \
                eLEE0tK2OO07qeGhSAECQEXbD/vOhPYzpME56uyev9hNBm61k4Uc4JDpq6yz81OB\n \
                +NMBbLi1tT4RBVxJKPD38CFKR0umqzVRygAl8PuOECY=\n \
                -----END RSA PRIVATE KEY-----').encode())

            try:
                password = rsa.decrypt(base64.b64decode(password), private_key)
            except DecryptionError:
                return error_json_response(
                    '密码错误,请重试。Wrong password. Please try again.')

            user = auth.authenticate(username=username, password=password)

            if user is not None:  # and user.is_active:
                auth.login(request, user)
                doctor = doctor_manager.get_doctors_by_uname(user.uname)
                is_doctor = len(doctor) > 0
                is_admin = is_doctor
                return success_json_response({
                    'user': {
                        'username': request.user.uname,
                        'name': request.user.name,
                        'isAdmin': is_admin,
                        'isDoctor': is_doctor
                    }
                })
            else:
                return error_json_response(
                    '密码错误,请重试。Wrong password. Please try again.')
        else:
            return error_json_response('用户不存在,请检查用户名。Invalid username')

    return error_json_response('未登录,请登录后使用。User not logged in.')