|
39 | 39 |
|
40 | 40 | from gsoc.common.utils.tools import build_send_mail_json |
41 | 41 | 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 |
45 | 43 | from settings_local import ADMINS |
46 | 44 |
|
47 | 45 | from google.auth.transport.requests import Request |
@@ -192,6 +190,23 @@ def save(self, *args, **kwargs): |
192 | 190 | # Models |
193 | 191 |
|
194 | 192 |
|
| 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 | + |
195 | 210 | class SubOrg(models.Model): |
196 | 211 | class Meta: |
197 | 212 | ordering = ["suborg_name"] |
@@ -724,67 +739,70 @@ def delete_from_calendar(self): |
724 | 739 | ).execute() |
725 | 740 |
|
726 | 741 | 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() |
736 | 752 |
|
737 | 753 | def create_builders(self): |
738 | 754 | builder_data = json.dumps({"due_date_pk": self.pk}) |
739 | 755 |
|
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) |
769 | 787 |
|
770 | 788 | self.save() |
771 | 789 |
|
772 | 790 | def save(self, *args, **kwargs): |
773 | 791 | try: |
774 | 792 | pre = Builder.objects.get(id=self.pre_blog_reminder_builder.id) |
775 | 793 | pre.activation_date = self.date - datetime.timedelta( |
776 | | - days=PRE_BLOG_REMINDER |
| 794 | + days=PRE_BLOG_REMINDER.days |
777 | 795 | ) |
778 | 796 | pre.save() |
779 | 797 |
|
780 | 798 | post1, post2 = self.post_blog_reminder_builder.all() |
781 | 799 | post1.activation_date = self.date + datetime.timedelta( |
782 | | - days=POST_BLOG_REMINDER_FIRST |
| 800 | + days=POST_BLOG_REMINDER_FIRST.days |
783 | 801 | ) |
784 | 802 | post1.save() |
785 | 803 |
|
786 | 804 | post2.activation_date = self.date + datetime.timedelta( |
787 | | - days=POST_BLOG_REMINDER_SECOND |
| 805 | + days=POST_BLOG_REMINDER_SECOND.days |
788 | 806 | ) |
789 | 807 | post2.save() |
790 | 808 | except Exception: |
@@ -1168,7 +1186,7 @@ def create_reminder(self, trigger_time=None): |
1168 | 1186 |
|
1169 | 1187 | if not trigger_time: |
1170 | 1188 | activation_date = self.scheduler.activation_date + datetime.timedelta( |
1171 | | - days=DEFAULT_TRIGGER_TIME |
| 1189 | + days=REGLINK_REMINDER.days |
1172 | 1190 | ) |
1173 | 1191 | else: |
1174 | 1192 | activation_date = trigger_time |
@@ -1341,7 +1359,7 @@ def update_blog_counter(sender, instance, **kwargs): |
1341 | 1359 | if not instance.pk: |
1342 | 1360 | # increase blog counter |
1343 | 1361 | date = timezone.now() + datetime.timedelta( |
1344 | | - days=UPDATE_BLOG_COUNTER |
| 1362 | + days=UPDATE_BLOG_COUNTER.days |
1345 | 1363 | ) |
1346 | 1364 | currentYear = datetime.datetime.now().year |
1347 | 1365 | due_dates = BlogPostDueDate.objects.filter(date__year=currentYear, date__lt=date).all() |
|
0 commit comments