Esempio n. 1
0
def set_settings(user_id, languages, finding_genders, current_latitude,
                 current_longitude, search_radius, location_enabled):
    user_c = UserContext.get(user_id)
    user = user_c.user
    user.languages = [Language.get(lang) for lang in languages]
    user.finding_genders = ",".join(finding_genders)
    user.current_latitude = current_latitude
    user.current_longitude = current_longitude
    user.search_radius = search_radius
    user.location_enabled = location_enabled
    user_c.send_message(user_c._("Changes saved."), action.CHANGED_LANGUAGE)
Esempio n. 2
0
def logged_in_with_fb(uid, code, redirect_url):
    fb_user_id, token, user = _login_update(code, uid, redirect_url)
    user.signup_date = datetime.datetime.now()
    if user.fb_id is None:
        user.fb_id = fb_user_id
        user.fb_access_token = token
        uc = UserContext.get(uid)
        uc.send_message(
            uc._("Sign up completed! "
                 "Click the Settings button to set discovery settings."),
            action.IDLE__SIGN_UP_COMPLETED)
        uc.do_action({}, action.IDLE__ACTION_AFTER_SIGNUP)
Esempio n. 3
0
def settings(uidenc):
    uid = uidcrypt.decryptuid(uidenc)
    settings = bot.get_settings(uid)
    languages = [Lang(code=k, name=v, checked=(k in settings['languages']))
                 for k, v in
                 filter(lambda (k1, v1): k1 in config.ENABLED_LANGUAGES,
                        bot.get_language())]
    languages.sort(key=lambda x: x.name)
    userc = UserContext.get(uid)
    return dict(settings=settings,
                languages=languages,
                buy_points_url=fb.PAYMENT_LOGIN_URL.format(
                    uid=uidenc,
                    state=tokener.gen_token(uid, tokener.NS_PAYMENT)),
                userc=userc)
Esempio n. 4
0
def run_methods(message, payload):
    user_id = message.sender.id
    user_c = UserContext.get(user_id)
    if payload.startswith("PREREPORT-"):
        prereport_user(user_c, payload.split("-")[1])
        return
    if payload.startswith("REPORT-"):
        report_user(user_c, payload.split("-")[1])
        return
    {
        ACTION: user_c.do_action,
        SEARCH: user_c.do_search,
        START: user_c.do_start,
        CANCEL_SEARCH: user_c.cancel_search,
        END_CONVERSATION: user_c.end_conversation,
        END_CONVERSATION_AND_SEARCH: user_c.end_conversation_and_search,
        SHARE_PROFILE: user_c.share_profile,
        SHARE_PROFILE_PRE: user_c.share_profile_pre,
    }.get(payload, user_c.do_unknown)(message)
Esempio n. 5
0
def received_message(message):
    user_id = message.sender.id
    user_c = UserContext.get(user_id)
    if "text" in message.message._fields:
        t = message.message.text
        if t == "system-reset-lastmatched":
            reset_last_matched(user_id)
            return
        if t == "system-reset-fb-id":
            reset_fb_id(user_id)
            return
        if t == "system-index-page":
            send_index_page_test(user_c)
            return
        if t == "system-login-page":
            send_login_page(user_c)
            return
        if t == "system-buy-button-page":
            send_purchase_button_page(user_c)
            return
        if t == "system-reset-gender":
            reset_gender(user_id)
            return
    user_c.do_message(message)
Esempio n. 6
0
def translate(uid, text):
    return UserContext.get(uid)._(text)
Esempio n. 7
0
def do_action(uid):
    if not User.exists(uid):
        return
    UserContext.get(uid).do_action({})