示例#1
0
    def writ_inactive(cls, writ):
        if writ.settings.turn_type == writ.settings.choices.turn_type.FREE_FOR_ALL: 
            delay_interval = timedelta(seconds=writ.settings.inactive_time / 4)
            if datetime.now() - writ.last_email_sent_at > delay_interval:
                bwuser = writ.get_random_bwuser()
                while bwuser.pk == writ.last_email_sent_to.pk:
                    bwuser = writ.get_random_bwuser()
                
                if not bwuser.email_reminders_enabled or not cls.is_sending_enabled:
                    return
                rec = None
                if writ.is_testing:
                    rec = [TEST_EMAIL]
                else:
                    rec = [bwuser.authuser.email]
                if cls.is_realtime_mode:
                    context = {
                        'penname':bwuser.get_penname(),
                        'first_line':writ.get_first_line(),
                        'direct_login_link': TokenManager.make_autologin_url(authuser, writ.get_absolute_url()),
                    }

                    m = make_email_message(rec, 'turn_reminder', context)
                    m.send()
                    writ.last_email_sent_to = bwuser
                    writ.last_email_sent_at = datetime.now()
                    writ.save()
            
        elif writ.settings.turn_type == writ.settings.choices.turn_type.ROUND_ROBIN: 
            raise Exception("Invalid turn type.") 
示例#2
0
    def bwuser_begins_turn(cls, bwuser, writ):
        if not bwuser.email_reminders_enabled or not cls.is_sending_enabled:
            return
        if cls.is_realtime_mode:

            context = {
                'penname':bwuser.get_penname(),
                'first_line':writ.get_first_line(),
                'direct_login_link': TokenManager.make_autologin_url(bwuser.authuser, writ.get_absolute_url()),
            }

            rec = None
            if writ.is_testing:
                rec = [TEST_EMAIL]
            else:
                rec = [bwuser.authuser.email]
            
            m = make_email_message(rec, 'turn_reminder', context)
            if m: m.send()
            
            writ.last_email_sent_to = bwuser
            writ.last_email_sent_at = datetime.now()
            writ.save()