|
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