Beispiel #1
0
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)
Beispiel #2
0
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))
Beispiel #3
0
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)
Beispiel #4
0
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))
Beispiel #5
0
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)
Beispiel #6
0
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))
Beispiel #7
0
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)
Beispiel #8
0
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)
Beispiel #9
0
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)
Beispiel #10
0
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)
Beispiel #11
0
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)
Beispiel #12
0
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)
Beispiel #13
0
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)
Beispiel #14
0
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)})
Beispiel #15
0
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)
Beispiel #16
0
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)
Beispiel #17
0
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))
Beispiel #18
0
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))
Beispiel #19
0
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)
Beispiel #20
0
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)
Beispiel #21
0
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))
Beispiel #22
0
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)
Beispiel #23
0
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)
Beispiel #24
0
def view_manage_vehicles_page():
    if not session.get('logged_in'):
        return login_page()
    return render_template('admin/manage_vehicles.html')
Beispiel #25
0
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())
Beispiel #26
0
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)
Beispiel #27
0
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())
Beispiel #28
0
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))
Beispiel #29
0
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())
Beispiel #30
0
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))