def update_health_policy(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) policy_id = ObjectId(request.form.get('policy_id')) policy = models.Policy_health(policy_id) expiry_date = request.form.get('expiry_date') policy_owner = request.form.get('policy_owner') policy_number = request.form.get('policy_number') policy_type = request.form.get('policy_type') company = request.form.get('company') idv = request.form.get('idv') ncb = request.form.get('ncb') premium = request.form.get('premium') claim_status = request.form.get('claim_status') own_business = True if 'own_business' in request.form else False result = policy.update_health_policy(expiry_date, policy_owner, policy_number, policy_type, company, idv, ncb, premium, own_business, claim_status=claim_status) return dumps(result)
def api_delete_motor_insurance_company(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) user_id = ObjectId(session['user']['_id']) company_id = ObjectId(request.form.get('company_id')) return dumps( models.user(user_id).delete_motor_insurance_company(company_id))
def view_motor_insurance_page(): if not session.get('logged_in'): return login_page() today = datetime.today() day = today.day month = today.month current_period = today.strftime("%B %Y") year = today.year renewal_list = models.Policy_motor().get_renewal_list(month, year) policy_list_expiry_today = [] for policy in renewal_list: if policy['day'] == day: policy_list_expiry_today.append(policy) renewal_count = { 'total': 0, 'not_touch': 0, 'followup': 0, 'won': 0, 'lost': 0 } for policy in renewal_list: renewal_count['total'] += 1 if 'policy_status' in policy: if policy['policy_status'] is not None: renewal_count[policy['policy_status']] += 1 else: renewal_count['not_touch'] += 1 return render_template('admin/motor_insurance.html', policy_list_expiry_today=policy_list_expiry_today, renewal_count=renewal_count, current_period=current_period)
def add_motor_policy_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) user_id = ObjectId(session['user']['_id']) registration_id = ObjectId(request.form.get('registration_id')) expiry_date = request.form.get('expiry_date') policy_number = request.form.get('policy_number') policy_type = request.form.get('policy_type') company = request.form.get('company') if company == 'new_company': company = str.strip(request.form.get('new_company')) if company == '': return dumps({ "result": False, "msg": "New company name cannot be empty." }) # add new company add_new_company = models.user(user_id).add_motor_insurance_company(company) if add_new_company['result'] is not True: return dumps(add_new_company) idv = request.form.get('idv') ncb = request.form.get('ncb') premium = request.form.get('premium') own_business = True if 'own_business' in request.form else False o_dap = True if 'o_dap' in request.form else False return dumps( models.Registration(registration_id).add_motor_policy( expiry_date, policy_number, policy_type, company, idv, ncb, premium, own_business, o_dap))
def view_manage_motor_insurance_companies_page(): if not session.get('logged_in'): return login_page() user_id = ObjectId(session['user']['_id']) company_list = models.user(user_id).get_motor_insurance_company_list() return render_template('admin/manage_motor_insurance_companies.html', company_list=company_list)
def add_vehicle_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) user_id = ObjectId(session['user']['_id']) person_id = ObjectId(request.form.get('person_id')) registration_number = request.form.get('registration_number') registration_name = request.form.get('registration_name') registration_date = request.form.get('registration_date') company = request.form.get('company') company_other = request.form.get('company_other') model = request.form.get('model') model_other = request.form.get('model_other') cc = request.form.get('cc') fuel = request.form.get('fuel') mfg = request.form.get('mfg') if company_other not in ('', None): add_company = models.vehicle().add_vehicle_company( user_id=user_id, company_name=company_other) company_id = add_company['new_id'] company = company_other else: company_id = db.vehicle_collection.find_one({'company_name': company})['_id'] if model_other not in ('', None): add_model = models.vehicle().add_vehicle_model(user_id=user_id, company_id=company_id, model_name=model_other) model = model_other return dumps( models.Person(person_id).add_registration(registration_number, registration_name, registration_date, company, model, cc, fuel, mfg))
def add_renewal_health_policy(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {} result['result'] = False result['msg'] = 'Something went wrong.' policy_id = ObjectId(request.form.get('policy_id')) remark = request.form.get('remark') policy = models.Policy_health(policy_id) expiry_date = request.form.get('expiry_date') policy_owner = policy.policy_owner policy_number = request.form.get('policy_number') policy_type = request.form.get('policy_type') company = request.form.get('company') idv = request.form.get('idv') ncb = request.form.get('ncb') premium = request.form.get('premium') own_business = True if 'own_business' in request.form else False insert_new_policy = models.Person(policy.person_id).add_health_policy( expiry_date, policy_owner, policy_number, policy_type, company, idv, ncb, premium, own_business) if insert_new_policy['result']: result['result'] = True result['new_id'] = insert_new_policy['new_id'] # add new policy id & policy status in old policy data db.health_policy_collection.update_one( {'_id': policy._id}, {'$set': { 'renewal_id': result['new_id'] }}) # add followup remark = 'Policy renewed!\n' + str.strip(remark) models.Policy_health(policy_id).post_policy_followup(remark, 'renewed') return dumps(result)
def admin_contacts_page(): if not session.get('logged_in'): return login_page() recent_added = models.Person().get().limit(10).sort('_id', -1) active_page['contacts'] = 'active' return render_template('admin/contacts.html', recent_added=recent_added, functions=functions)
def view_health_insurance_page(policy_id=None): if not session.get('logged_in'): return login_page() current_policy_id = policy_id current_policy_type = 'health' return render_template('admin/insurance_renewal.html', current_policy_id=current_policy_id, current_policy_type=current_policy_type)
def get_motor_renewal_list_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {'result': False} month = request.form.get('month') year = request.form.get('year') result['data'] = models.Policy_motor().get_renewal_list(month, year) result['result'] = True return dumps(result)
def view_health_policy_api(policy_id): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {'result': False} policy_id = ObjectId(policy_id) policy = models.Policy_health(policy_id) if policy.db_data != None: result['result'] = True result['data'] = policy.db_data return dumps(result)
def api_find_motor_policy(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) query = request.form.get('query') search_filter = request.form.get('search_filter') result = { 'result': True, 'data': models.Policy_motor().find(query, search_filter) } return dumps(result)
def view_vehicle_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {'result': False} registration_id = ObjectId(request.form['registration_id']) registration = models.Registration(registration_id) if registration.db_data != None: result['result'] = True result['data'] = registration.db_data return dumps(result)
def get_person_list_api(): if not session.get('logged_in'): return dumps({'result': False, 'msg': 'Login required.'}) query = request.form['query'] search_filter = request.form['search_filter'] if query == None: result = models.Person().get() else: if search_filter in ('number', 'email'): search_filter += 's' result = models.Person().find([search_filter], query) return dumps({'result': True, 'data': result.sort('name', 1)})
def view_person_page(_id): if not session.get('logged_in'): return login_page() person_id = ObjectId(_id) person = models.Person(person_id) person.get_registration_list() for registration in person.registration_list: registration.get_motor_policy_list() person.get_health_policy_list() return render_template('admin/view_person.html', person=person, functions=functions)
def renewal_lost_motor_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {} result['result'] = False result['msg'] = 'Something went wrong.' policy_id = ObjectId(request.form.get('policy_id')) remark = request.form.get('remark') lost_reason = request.form.get('lost_reason') policy = models.Policy_motor(policy_id) post_lost_followup = policy.post_policy_followup( '[lost reason:' + str(lost_reason).lower() + ']\n' + remark, 'lost') result['result'] = post_lost_followup['result'] return dumps(result)
def post_policy_followup(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) policy_id = ObjectId(request.form.get('policy_id')) remark = request.form.get('remark') type = request.form.get('type') if str.strip(remark) == '': return dumps({'result': False, 'msg': 'Remark cannot be empty.'}) policy = None if type == 'motor': policy = models.Policy_motor(policy_id) elif type == 'health': policy = models.Policy_health(policy_id) return dumps(policy.post_policy_followup(remark))
def add_person_api(): if not session.get('logged_in'): return dumps({'result': False, 'msg': 'Login required.'}) result = {'result': False} form_data = request.form name = form_data['name'] source_type = form_data['source_type'] source_data = form_data['source_data'] numbers = [] for number in form_data.getlist('number[]'): numbers.append(number) user_id = ObjectId(session['user']['_id']) return dumps( models.user(user_id).add_person(name, numbers, source_type, source_data))
def update_vehicle_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) registration_id = ObjectId(request.form.get('registration_id')) registration = models.Registration(registration_id) registration_number = request.form.get('registration_number') registration_name = request.form.get('registration_name') registration_date = request.form.get('registration_date') company = request.form.get('company') model = request.form.get('model') cc = request.form.get('cc') fuel = request.form.get('fuel') mfg = request.form.get('mfg') result = registration.update_registration(registration_number, registration_name, registration_date, company, model, cc, fuel, mfg) return dumps(result)
def get_followup_list_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {} result['result'] = False result['msg'] = 'Something went wrong.' policy_id = ObjectId(request.form.get('policy_id')) type = request.form.get('type') policy = None if type == 'motor': policy = models.Policy_motor(policy_id) elif type == 'health': policy = models.Policy_health(policy_id) result['followup_list'] = [] for followup in policy.get_followup_list(): result['followup_list'].append(followup) result['result'] = True return dumps(result)
def add_health_policy_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) person_id = ObjectId(request.form.get('person_id')) expiry_date = request.form.get('expiry_date') policy_owner = request.form.get('policy_owner') policy_number = request.form.get('policy_number') policy_type = request.form.get('policy_type') company = request.form.get('company') idv = request.form.get('idv') ncb = request.form.get('ncb') premium = request.form.get('premium') own_business = True if 'own_business' in request.form else False return dumps( models.Person(person_id).add_health_policy(expiry_date, policy_owner, policy_number, policy_type, company, idv, ncb, premium, own_business))
def view_health_renewal(_id): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) result = {} result['result'] = False policy = models.Policy_health(ObjectId(_id)) if policy.person == None: result['msg'] = 'Person ID not found.' return result data = {} data['policy'] = policy.db_data data['person'] = policy.person.db_data data['renewal_policy'] = policy.renewal_policy.db_data data['old_policy'] = policy.old_policy data['followup_list'] = policy.get_followup_list() result['data'] = data result['result'] = True return dumps(result)
def view_manage_vehicles_models_page(vehicle_id): if not session.get('logged_in'): return login_page() user_id = ObjectId(session['user']['_id']) vehicle = models.vehicle(ObjectId(vehicle_id)) return render_template('admin/manage_vehicle_models.html', vehicle=vehicle)
def view_manage_vehicles_page(): if not session.get('logged_in'): return login_page() return render_template('admin/manage_vehicles.html')
def delete_person_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) person_id = ObjectId(request.form.get('person_id')) return dumps(models.Person(person_id).delete_person())
def view_motor_insurance_policy_page(policy_id=None): if not session.get('logged_in'): return login_page() current_policy_id = policy_id return render_template('admin/view_motor_renewals.html', current_policy_id=current_policy_id)
def delete_vehicle_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) registration_id = ObjectId(request.form['registration_id']) return dumps(models.Registration(registration_id).delete_registration())
def remove_email_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) person_id = ObjectId(request.form.get('_id')) email = request.form.get('email') return dumps(models.Person(person_id).remove_contact_email(email))
def delete_health_policy_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) policy_id = ObjectId(request.form['policy_id']) return dumps(models.Policy_health(policy_id).delete_policy())
def remove_contact_number_api(): if not session.get('logged_in'): return json.dumps({'result': False, 'msg': 'Login required.'}) person_id = ObjectId(request.form.get('_id')) number = request.form.get('number') return dumps(models.Person(person_id).remove_contact_number(number))