Beispiel #1
0
def add_renewal_motor_policy_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')
    policy = models.Policy_motor(policy_id)
    registration_id = policy.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')
    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
    insert_new_policy = models.Registration(registration_id).add_motor_policy(
        expiry_date, policy_number, policy_type, company, idv, ncb, premium,
        own_business, o_dap)
    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.motor_policy_collection.update_one(
            {'_id': policy._id}, {'$set': {
                'renewal_id': result['new_id']
            }})
        # add followup
        remark = 'Policy renewed!\n' + str.strip(remark)
        models.Policy_motor(policy_id).post_policy_followup(remark, 'renewed')
    return dumps(result)
Beispiel #2
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 #3
0
def update_vehicle_policy_api():
    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_motor(policy_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')
    idv = request.form.get('idv')
    ncb = request.form.get('ncb')
    premium = request.form.get('premium')
    claim_status = request.form.get('claim_status')
    print(claim_status)
    own_business = True if 'own_business' in request.form else False
    o_dap = True if 'o_dap' in request.form else False
    result = policy.update_motor_policy(expiry_date,
                                        policy_number,
                                        policy_type,
                                        company,
                                        idv,
                                        ncb,
                                        premium,
                                        own_business,
                                        o_dap,
                                        claim_status=claim_status)
    return dumps(result)
Beispiel #4
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 #5
0
def view_vehicle_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_motor(policy_id)
    if policy.db_data != None:
        result['result'] = True
        result['data'] = policy.db_data
    return dumps(result)
Beispiel #6
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 #7
0
def admin_index_page():
    if 'logged_in' in session:
        if session['logged_in'] == True:
            user_id = ObjectId(session['user']['_id'])
            if session['user']['type'] == 'admin':
                today = datetime.today()
                day = today.day
                month = today.month
                year = today.year
                motor_renewal_list = models.Policy_motor().get_renewal_list(
                    month, year)
                policy_list_expiry_today = []
                for policy in motor_renewal_list:
                    if policy['day'] == day:
                        policy['type'] = 'motor'
                        policy_list_expiry_today.append(policy)
                motor_renewal_count = {
                    'total': 0,
                    'not_touch': 0,
                    'followup': 0,
                    'won': 0,
                    'lost': 0
                }
                for policy in motor_renewal_list:
                    motor_renewal_count['total'] += 1
                    if 'policy_status' in policy:
                        motor_renewal_count[policy['policy_status']] += 1
                    else:
                        motor_renewal_count['not_touch'] += 1
                health_renewal_list = models.Policy_health().get_renewal_list(
                    month, year)
                for policy in health_renewal_list:
                    if policy['day'] == day:
                        policy['type'] = 'health'
                        policy_list_expiry_today.append(policy)
                health_renewal_count = {
                    'total': 0,
                    'not_touch': 0,
                    'followup': 0,
                    'won': 0,
                    'lost': 0
                }
                for policy in health_renewal_list:
                    health_renewal_count['total'] += 1
                    if 'policy_status' in policy:
                        health_renewal_count[policy['policy_status']] += 1
                    else:
                        health_renewal_count['not_touch'] += 1
                return render_template(
                    'admin/index.html',
                    motor_renewal_count=motor_renewal_count,
                    health_renewal_count=health_renewal_count,
                    policy_list_expiry_today=policy_list_expiry_today)
    return render_template('login.html')
Beispiel #8
0
def api_update_claim_status():
    result = {'result': False, 'msg': 'Something went wrong.'}
    policy_type = request.form.get('policy_type')
    _id = ObjectId(request.form.get('_id'))
    claim_status = request.form.get('claim_status')
    if policy_type == 'motor':
        result = models.Policy_motor(_id).update_motor_policy(
            claim_status=claim_status)
    elif policy_type == 'health':
        result = models.Policy_health(_id).update_health_policy(
            claim_status=claim_status)
    return dumps(result)
Beispiel #9
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 #10
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 #11
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 #12
0
def view_motor_renewal_api(_id):
    if not session.get('logged_in'):
        return json.dumps({'result': False, 'msg': 'Login required.'})
    result = {}
    result['result'] = False
    policy = models.Policy_motor(ObjectId(_id))
    if policy.person == None:
        result['msg'] = 'Person ID not found.'
        return result
    if policy.registration == None:
        result['msg'] = 'Registration ID not found.'
        return result
    data = {}
    data['policy'] = policy.db_data
    data['registration'] = policy.registration.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 #13
0
def delete_vehicle_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_motor(policy_id).delete_policy())