def leaveapplication():
    form = LeaveApplicationForm()
    if form.validate_on_submit():
        leave = LeaveApplication(user_id=current_user.id ,leavetype_id=form.leavetype.data,
                                 date_created=datetime.utcnow(), date_from=form.date_from.data, date_to=form.date_to.data,
                                 description=form.description.data)

        db.session.add(leave)
        db.session.commit()
        flash('Your application has been sent.')

		# Calculate the difference between two dates
        leave_period = leave.date_to - leave.date_from
        
        # Get the current user LeaveBalance
        current_leavebalance = LeaveBalance.query.filter_by(user_id=current_user.user_id, leavetype_id=leave.leavetype_id).first()
        
        # Perform Calculation to deduct the leave_period from the current balance
        updated_leavebalance = current_leavebalance.credits - leave_period.days
        update = LeaveBalance.query.filter_by(user_id=leave.user_id)
        update.credits = updated_leavebalance
        db.session.add(update)
        db.session.commit()