Ejemplo n.º 1
0
    def set_active_count(user):
        '''
        update active_count to cache
        '''
        date = datetime.datetime.today().date().isoformat()
        uuid = str(user.uuid)
        key = settings.ACTIVE_USER_REDIS_KEY_PREFIX + date
        res = redis_conn.hgetall(key)

        if res:
            redis_conn.hincrby(key, uuid, 1)
        else:
            redis_conn.hset(key, uuid, 1)
            redis_conn.expire(key,
                              settings.ACTIVE_USER_DATA_LIFEDAY * 60 * 60 * 24)
Ejemplo n.º 2
0
    def gen_email(self, *args, **kwargs):
        subject = '[ArkID] 您正在激活ArkID账号'
        email_token = self.gen_email_token()
        link = settings.BASE_URL + settings.FE_EMAIL_ACTIVATE_USER_URL + f'?email_token={email_token}'
        key = self.gen_email_token_key(email_token)

        redis_conn.hset(key, 'email', self.validated_data['email'])
        redis_conn.hset(key, 'key', self.validated_data['key'])
        redis_conn.expire(key, 60 * 60 * 24 * 3)

        content = f'点击以下链接完成验证,3天之内有效:</br><a href="{link}">{link}</a>'
        html = render_to_string('email/common.html', {
            'company': CompanyConfig.get_current().name_cn,
            'content': content
        })

        return {
            'subject': subject,
            'content': html,
        }
Ejemplo n.º 3
0
    def gen_email(self, *args, **kwargs):
        '''
        生成修改私人邮箱邮件
        '''
        subject = '[ArkID]您正在重置ArkID私人邮箱'
        email_token = self.gen_email_token()
        link = settings.BASE_URL + settings.FE_EMAIL_UPDATE_EMAIL_URL + f'?email_token={email_token}'
        key = self.gen_email_token_key(email_token)

        redis_conn.hset(key, 'email', self.validated_data['email'])
        redis_conn.hset(key, 'username', self.context['request'].user.username)
        redis_conn.expire(key, 60 * 60 * 24 * 3)

        content = f'点击以下链接完成验证,3天之内有效:</br><a href="{link}">{link}</a>'
        html = render_to_string('email/common.html', {
            'company': CompanyConfig.get_current().name_cn,
            'content': content
        })

        return {
            'subject': subject,
            'content': html,
        }