예제 #1
0
    def degolden(self, account, severe=False):
        from r2.models import Award

        if severe:
            account.gold_charter = False
            Award.take_away("charter_subscriber", account)

        Award.take_away("reddit_gold", account)
        account.gold = False
        account._commit()
예제 #2
0
파일: emailer.py 프로젝트: xunzhang/reddit
def verify_email(user):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)

    token = EmailVerificationToken._new(user)
    emaillink = 'http://' + g.domain + '/verification/' + token._id
    g.log.debug("Generated email verification link: " + emaillink)

    _system_email(
        user.email,
        VerifyEmail(user=user, emaillink=emaillink).render(style='email'),
        Email.Kind.VERIFY_EMAIL)
예제 #3
0
파일: emailer.py 프로젝트: 1900/reddit
def verify_email(user):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)

    token = EmailVerificationToken._new(user)
    emaillink = 'http://' + g.domain + '/verification/' + token._id
    g.log.debug("Generated email verification link: " + emaillink)

    _system_email(user.email,
                  VerifyEmail(user=user,
                              emaillink = emaillink).render(style='email'),
                  Email.Kind.VERIFY_EMAIL)
예제 #4
0
파일: emailer.py 프로젝트: aditgupta/reddit
def verify_email(user, dest):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    key = passhash(user.name, user.email)
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)
    emaillink = ('http://' + g.domain + '/verification/' + key
                 + query_string(dict(dest=dest)))
    g.log.debug("Generated email verification link: " + emaillink)
    g.cache.set("email_verify_%s" %key, user._id, time=1800)

    _system_email(user.email,
                  VerifyEmail(user=user,
                              emaillink = emaillink).render(style='email'),
                  Email.Kind.VERIFY_EMAIL)
예제 #5
0
def verify_email(user, dest):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    key = passhash(user.name, user.email)
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)
    emaillink = ('http://' + g.domain + '/verification/' + key
                 + query_string(dict(dest=dest)))
    g.log.debug("Generated email verification link: " + emaillink)
    g.cache.set("email_verify_%s" %key, user._id, time=1800)

    _system_email(user.email,
                  VerifyEmail(user=user,
                              emaillink = emaillink).render(style='email'),
                  Email.Kind.VERIFY_EMAIL)
예제 #6
0
파일: emailer.py 프로젝트: tolgaek/reddit
def verify_email(user, dest=None):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail

    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)

    token = EmailVerificationToken._new(user)
    emaillink = "http://" + g.domain + "/verification/" + token._id
    if dest:
        emaillink += "?dest=%s" % dest
    g.log.debug("Generated email verification link: " + emaillink)

    _system_email(
        user.email, VerifyEmail(user=user, emaillink=emaillink).render(style="email"), Email.Kind.VERIFY_EMAIL
    )
예제 #7
0
def verify_email(user, dest=None):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)

    token = EmailVerificationToken._new(user)
    base = g.https_endpoint or g.origin
    emaillink = base + '/verification/' + token._id
    if dest:
        emaillink += '?dest=%s' % dest
    g.log.debug("Generated email verification link: " + emaillink)

    _system_email(
        user.email,
        VerifyEmail(user=user, emaillink=emaillink).render(style='email'),
        Email.Kind.VERIFY_EMAIL)
예제 #8
0
파일: emailer.py 프로젝트: pra85/reddit
def verify_email(user, dest=None):
    """
    For verifying an email address
    """
    from r2.lib.pages import VerifyEmail
    user.email_verified = False
    user._commit()
    Award.take_away("verified_email", user)

    token = EmailVerificationToken._new(user)
    base = g.https_endpoint or g.origin
    emaillink = base + '/verification/' + token._id
    if dest:
        emaillink += '?dest=%s' % dest
    g.log.debug("Generated email verification link: " + emaillink)

    _system_email(user.email,
                  VerifyEmail(user=user,
                              emaillink = emaillink).render(style='email'),
                  Email.Kind.VERIFY_EMAIL)
예제 #9
0
파일: migrate.py 프로젝트: xolar/proddit
def give_awards():
    import re
    from r2.models import Account, Subreddit, Award
    from r2.lib import utils
    from datetime import datetime, timedelta

    
    q = Account._query(Account.c._spam == False,
                       Account.c._deleted == False,
                       sort = asc('_date'),
                       #Account.c.link_karma>-1,
                       limit = 1000,
                       data = True)
    

    i=0
    ctime = datetime.now(g.tz)
    for account in utils.fetch_things2(q):
        prev_visit = last_visit(account)
        if not prev_visit:
            print "%s hasn't never logged in",account.name
            continue
        if (ctime - prev_visit).days > 365:
            print "%s hasn't logged in, in a long time: %s",account._fullname, utils.timeago(prev_visit)   
        tsince = ctime - account._date
        if tsince.days < 30:
            Award.give_if_needed("newbie", account)
        elif tsince.days >= 30:
            Award.take_away("newbie", account)
        if tsince.days >= 365 and tsince.days < 365*2:
            Award.give_if_needed("1year", account)
        elif tsince.days >= 365*2:
            Award.take_away("1year", account)
            Award.give_if_needed("2years", account)
        if account.email_verified
            print "%s has %s",account._fullname, account._email
예제 #10
0
    def engolden(self, account, days):
        from r2.models import Award

        account.gold = True

        now = datetime.now(g.display_tz)

        existing_expiration = getattr(account, "gold_expiration", None)
        if existing_expiration is None or existing_expiration < now:
            existing_expiration = now
        account.gold_expiration = existing_expiration + timedelta(days)

        description = "Since " + now.strftime("%B %Y")
        trophy = Award.give_if_needed("reddit_gold", account,
                                     description=description,
                                     url="/gold/about")
        if trophy and trophy.description.endswith("Member Emeritus"):
            trophy.description = description
            trophy._commit()
        account._commit()

        account.friend_rels_cache(_update=True)