def register(request):
    ac = Authentication(request)
    if ac.is_user_logged_in():
        return redirect('/account')
    error_messages = []
    data = dict()
    if request.method == "POST":
        error_messages = create_user(request)
        if error_messages:
            data["post_data"] = request.POST
        else:
            data["success"] = True

    data['countries'] = Helper.get_countries()
    data['currency'] = Helper.get_currency()
    data['error_messages'] = error_messages
    return render(request, 'register.html', data)
def settings(request):
    ac = Authentication(request)
    # if user is not logged in redirect to login page
    if not ac.is_user_logged_in():
        return redirect('/login')

    ac = Authentication(request)
    user_id = ac.get_user_session()
    data = dict()
    if request.method == "POST":
        action = request.POST['action']
        if action == "Update":
            errors = update_settings(request, user_id)
            if errors:
                data['errors'] = errors
            else:
                data['success'] = "General has been updated successfully"

        if action == "Change password":
            errors = update_password(request, user_id)
            if errors:
                data['errors'] = errors
            else:
                data['success'] = "Password has been updated successfully"

        if action == "Deposit":
            errors = deposit(request, user_id)
            if errors:
                data['errors'] = errors
            else:
                data['success'] = "Money has been deposited successfully"

        if action == "Withdraw":
            errors = withdraw(request, user_id)
            if errors:
                data['errors'] = errors
            else:
                data['success'] = "Money withdraw is successful"

    user_data = Helper.get_user_by_id(user_id)

    data['user_data'] = user_data
    data['countries'] = Helper.get_countries()
    data['auth'] = ac.is_user_logged_in()

    return render(request, 'settings.html', data)