Beispiel #1
0
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.")
Beispiel #2
0
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})
Beispiel #3
0
    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()
Beispiel #4
0
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()
Beispiel #6
0
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)
Beispiel #7
0
 def test_trigger_now(self):
     r1 = Reminder(user=self.u)
     r1.save()
     url = reverse('trigger_now')
     self.client.post(url, {'id': 1}, format='json')
Beispiel #8
0
 def test_trigger_now(self):
     r1 = Reminder(user=self.u)
     r1.save()
     url = reverse('trigger_now')
     self.client.post(url, {'id': 1}, format='json')
Beispiel #9
0
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)
Beispiel #10
0
class ReminderDueSoon(TestCase):
    def test_due_soon(self):
        case = Reminder()
        case.due_date = timezone.now() + timezone.timedelta(days=2)

        self.assertTrue(case.due_soon)
Beispiel #11
0
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)
Beispiel #12
0
 def validate(self, attrs):
     instance = Reminder(**attrs)
     instance.clean()
     return attrs