def reminder_home(request): if request.user.is_authenticated(): if request.method == 'POST': form = ReminderForm(request.POST) if form.is_valid(): name = request.POST.get('name', '') time = request.POST.get('time', '') message = request.POST.get('message', '') phone_number = request.POST.get('phone_number', '') user_obj = Reminder(name=name, time=time, phone_number=phone_number, message=message) user_obj.save() #sec = (time - datetime.datetime.now()).total_seconds() #print(sec) # Schedule the Celery task send_sms_reminder(time) return render(request, 'reminder/reminder.html', { 'user_obj': user_obj, 'is_registered': True }) else: form = ReminderForm() # an unboundform return render(request, 'reminder/reminder.html', {'form': form}) else: return HttpResponse("You are not logged in.")
def reminder_home(request): if request.method == 'POST': #print("valid") #form = ReminderForm(request.POST) #if form.is_valid(): # All the data is valid # print("valid2") name = request.POST.get('name', '') time = request.POST.get('time', '') message = request.POST.get('message', '') phone_number = request.POST.get('phone_number', '') user_obj = Reminder(name=name, time=time, phone_number=phone_number, message=message) user_obj.save() #sec = (time - datetime.datetime.now()).total_seconds() #print(sec) # Schedule the Celery task from .tasks import send_sms_reminder t = Timer(5, send_sms_reminder) t.start() return render(request, 'reminder/reminder.html', {'user_obj': user_obj,'is_registered':True }) else: form = ReminderForm() # an unboundform return render(request, 'reminder/reminder.html', {'form': form})
def test_cron(self): ten_min_ago = (datetime.datetime.now(pytz.utc) - datetime.timedelta(minutes=10)) r = Reminder( user=self.u, message="test", telnumber="123", ) r.save() rt = ReminderTime( cronstring="* * * * *", last_run=ten_min_ago, reminder=r, ) rt.save()
class ReminderMark(TestCase): def test_mark_complete(self): case = Reminder() case.complete_time = None self.assertFalse(case.is_complete) case.mark_complete(commit=False) self.assertTrue(case.is_complete)
def test_cron(self): ten_min_ago = ( datetime.datetime.now(pytz.utc) - datetime.timedelta(minutes=10) ) r = Reminder( user=self.u, message="test", telnumber="123", ) r.save() rt = ReminderTime( cronstring="* * * * *", last_run=ten_min_ago, reminder=r, ) rt.save()
def reminder_add_modify(request): _id = request.POST.get("id", None) content = request.POST.get("content", None) start_time = request.POST.get("start_time", None) _type = request.POST.get("type", 0) times = request.POST.get("times", 2) try: row = Reminder.objects.filter(id=_id).first() if not row: # 添加 row = Reminder() row.create_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') row.type = _type row.content = content row.start_time = start_time row.times = times row.save() except Exception as ex: logger.exception(ex) return render_response(ERROR_CODE.SUCCESS, ERROR_MESSAGE.SUCCESS)
def test_trigger_now(self): r1 = Reminder(user=self.u) r1.save() url = reverse('trigger_now') self.client.post(url, {'id': 1}, format='json')
class ReminderIsComplete(TestCase): def test_is_complete_iscompleted(self): case = Reminder() case.complete_time = timezone.now() - timezone.timedelta(days=1) self.assertTrue(case.is_complete)
class ReminderDueSoon(TestCase): def test_due_soon(self): case = Reminder() case.due_date = timezone.now() + timezone.timedelta(days=2) self.assertTrue(case.due_soon)
from unittest import TestCase from reminder.models import Reminder from django.utils import timezone class ReminderIsComplete(TestCase): def test_is_complete_iscompleted(self): case = Reminder() case.complete_time = timezone.now() - timezone.timedelta(days=1) self.assertTrue(case.is_complete) def test_is_complete_isincomplete(self): case = Reminder() case.complete_time = None self.assertFalse(case.is_complete) def test_is_complete_infuture(self): case = Reminder() case.complete_time = timezone.now() + timezone.timedelta(days=1) self.assertFalse(case.is_complete) class ReminderDueSoon(TestCase): def test_due_soon(self): case = Reminder() case.due_date = timezone.now() + timezone.timedelta(days=2) self.assertTrue(case.due_soon)
def validate(self, attrs): instance = Reminder(**attrs) instance.clean() return attrs