Skip to content
This repository was archived by the owner on Aug 26, 2024. It is now read-only.

Commit c1ac667

Browse files
Merge pull request #489 from diwash007/reminder
Upgrade hardcoded reminder values
2 parents 37d6cfe + 71e3b03 commit c1ac667

File tree

4 files changed

+75
-55
lines changed

4 files changed

+75
-55
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# described in https://git-scm.com/docs/gitignore
44
settings_local.py
55
Pipfile
6+
Pipfile.lock
67

78
# Byte-compiled / optimized / DLL files
89
__pycache__/

gsoc/admin.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,3 +790,13 @@ def has_change_permission(self, request, obj=None):
790790

791791

792792
admin.site.register(NotAcceptedUser, NotAcceptedAdmin)
793+
794+
795+
class DaysConfAdmin(admin.ModelAdmin):
796+
list_display = ("title", "days", "disabled")
797+
798+
def has_add_permission(self, request, obj=None):
799+
return False
800+
801+
802+
admin.site.register(DaysConf, DaysConfAdmin)

gsoc/constants.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

gsoc/models.py

Lines changed: 64 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,7 @@
3939

4040
from gsoc.common.utils.tools import build_send_mail_json
4141
from gsoc.common.utils.tools import build_send_reminder_json
42-
43-
from gsoc.constants import *
44-
from gsoc.settings import BASE_DIR, PROPOSALS_PATH
42+
from gsoc.settings import PROPOSALS_PATH, BASE_DIR
4543
from settings_local import ADMINS
4644

4745
from google.auth.transport.requests import Request
@@ -192,6 +190,23 @@ def save(self, *args, **kwargs):
192190
# Models
193191

194192

193+
class DaysConf(models.Model):
194+
title = models.CharField(max_length=100)
195+
days = models.IntegerField()
196+
disabled = models.BooleanField(default=False)
197+
198+
199+
# days for reminder
200+
PRE_BLOG_REMINDER = DaysConf.objects.get(title="PRE_BLOG_REMINDER")
201+
POST_BLOG_REMINDER_FIRST = DaysConf.objects.get(title="POST_BLOG_REMINDER_FIRST")
202+
POST_BLOG_REMINDER_SECOND = DaysConf.objects.get(title="POST_BLOG_REMINDER_SECOND")
203+
204+
BLOG_POST_DUE_REMINDER = DaysConf.objects.get(title="BLOG_POST_DUE_REMINDER")
205+
UPDATE_BLOG_COUNTER = DaysConf.objects.get(title="UPDATE_BLOG_COUNTER")
206+
207+
REGLINK_REMINDER = DaysConf.objects.get(title="REGLINK_REMINDER")
208+
209+
195210
class SubOrg(models.Model):
196211
class Meta:
197212
ordering = ["suborg_name"]
@@ -724,67 +739,70 @@ def delete_from_calendar(self):
724739
).execute()
725740

726741
def create_scheduler(self):
727-
s = Scheduler.objects.create(
728-
command="add_blog_counter",
729-
activation_date=self.date + datetime.timedelta(
730-
days=BLOG_POST_DUE_REMINDER
731-
),
732-
data="{}",
733-
)
734-
self.add_counter_scheduler = s
735-
self.save()
742+
if not BLOG_POST_DUE_REMINDER.disabled:
743+
s = Scheduler.objects.create(
744+
command="add_blog_counter",
745+
activation_date=self.date + datetime.timedelta(
746+
days=BLOG_POST_DUE_REMINDER.days
747+
),
748+
data="{}",
749+
)
750+
self.add_counter_scheduler = s
751+
self.save()
736752

737753
def create_builders(self):
738754
builder_data = json.dumps({"due_date_pk": self.pk})
739755

740-
s = Builder.objects.create(
741-
category="build_pre_blog_reminders",
742-
activation_date=self.date + datetime.timedelta(
743-
days=PRE_BLOG_REMINDER
744-
),
745-
data=builder_data,
746-
timeline=self.timeline
747-
)
748-
self.pre_blog_reminder_builder = s
749-
750-
s = Builder.objects.create(
751-
category="build_post_blog_reminders",
752-
activation_date=self.date + datetime.timedelta(
753-
days=POST_BLOG_REMINDER_FIRST
754-
),
755-
data=builder_data,
756-
timeline=self.timeline
757-
)
758-
self.post_blog_reminder_builder.add(s)
759-
760-
s = Builder.objects.create(
761-
category="build_post_blog_reminders",
762-
activation_date=self.date + datetime.timedelta(
763-
days=POST_BLOG_REMINDER_SECOND
764-
),
765-
data=builder_data,
766-
timeline=self.timeline
767-
)
768-
self.post_blog_reminder_builder.add(s)
756+
if not PRE_BLOG_REMINDER.disabled:
757+
s = Builder.objects.create(
758+
category="build_pre_blog_reminders",
759+
activation_date=self.date + datetime.timedelta(
760+
days=PRE_BLOG_REMINDER.days
761+
),
762+
data=builder_data,
763+
timeline=self.timeline
764+
)
765+
self.pre_blog_reminder_builder = s
766+
767+
if not POST_BLOG_REMINDER_FIRST.disabled:
768+
s = Builder.objects.create(
769+
category="build_post_blog_reminders",
770+
activation_date=self.date + datetime.timedelta(
771+
days=POST_BLOG_REMINDER_FIRST.days
772+
),
773+
data=builder_data,
774+
timeline=self.timeline
775+
)
776+
self.post_blog_reminder_builder.add(s)
777+
if not POST_BLOG_REMINDER_SECOND.disabled:
778+
s = Builder.objects.create(
779+
category="build_post_blog_reminders",
780+
activation_date=self.date + datetime.timedelta(
781+
days=POST_BLOG_REMINDER_SECOND.days
782+
),
783+
data=builder_data,
784+
timeline=self.timeline
785+
)
786+
self.post_blog_reminder_builder.add(s)
769787

770788
self.save()
771789

772790
def save(self, *args, **kwargs):
773791
try:
774792
pre = Builder.objects.get(id=self.pre_blog_reminder_builder.id)
775793
pre.activation_date = self.date - datetime.timedelta(
776-
days=PRE_BLOG_REMINDER
794+
days=PRE_BLOG_REMINDER.days
777795
)
778796
pre.save()
779797

780798
post1, post2 = self.post_blog_reminder_builder.all()
781799
post1.activation_date = self.date + datetime.timedelta(
782-
days=POST_BLOG_REMINDER_FIRST
800+
days=POST_BLOG_REMINDER_FIRST.days
783801
)
784802
post1.save()
785803

786804
post2.activation_date = self.date + datetime.timedelta(
787-
days=POST_BLOG_REMINDER_SECOND
805+
days=POST_BLOG_REMINDER_SECOND.days
788806
)
789807
post2.save()
790808
except Exception:
@@ -1168,7 +1186,7 @@ def create_reminder(self, trigger_time=None):
11681186

11691187
if not trigger_time:
11701188
activation_date = self.scheduler.activation_date + datetime.timedelta(
1171-
days=DEFAULT_TRIGGER_TIME
1189+
days=REGLINK_REMINDER.days
11721190
)
11731191
else:
11741192
activation_date = trigger_time
@@ -1341,7 +1359,7 @@ def update_blog_counter(sender, instance, **kwargs):
13411359
if not instance.pk:
13421360
# increase blog counter
13431361
date = timezone.now() + datetime.timedelta(
1344-
days=UPDATE_BLOG_COUNTER
1362+
days=UPDATE_BLOG_COUNTER.days
13451363
)
13461364
currentYear = datetime.datetime.now().year
13471365
due_dates = BlogPostDueDate.objects.filter(date__year=currentYear, date__lt=date).all()

0 commit comments

Comments
 (0)