forked from ITwrxOrg/Forget-Me-Not
fix nim compiler warnings and clearAllReminders() after updating sendDate
This commit is contained in:
@@ -3,7 +3,7 @@ This file is part of Simple Site Manager.
|
||||
Simple Site Manager is released under the GNU Affero General Public License 3.0.
|
||||
See COPYING or <https://www.gnu.org/licenses/> for details.]#
|
||||
|
||||
import std/[strutils, cgi, strtabs, cookies, sysrand, base64]
|
||||
import std/[cgi, strtabs, cookies, sysrand, base64]
|
||||
import guildenstern/[httpserver], sqliteral
|
||||
import "../models/session", "db", "global"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import std/[times, osproc, strutils], smtp
|
||||
import std/[times, osproc], smtp
|
||||
import ../models/reminder, ../models/user, datetime
|
||||
|
||||
proc setFutureSendDate(reminderId: int) =
|
||||
@@ -10,24 +10,33 @@ proc setFutureSendDate(reminderId: int) =
|
||||
newSendDate = now() + 1.days
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
of "week":
|
||||
newSendDate = nextWeekday(reminder.weeklyOn)
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
of "month":
|
||||
if reminder.monthlyOnDay > 0:
|
||||
#create DateTime with current month and year and reminder.monthlyOnDay
|
||||
newSendDate = dateTime(year(now()), month(now()), reminder.monthlyOnDay)
|
||||
echo newSendDate
|
||||
#add 1 month only if monthlyOnDay hasn't occured in current month yet.
|
||||
echo reminder.monthlyOnDay
|
||||
echo monthDay(now())
|
||||
if reminder.monthlyOnDay < monthDay(now()):
|
||||
newSendDate = newSendDate + 1.months
|
||||
echo newSendDate
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
echo reminder.sendDate
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
else:
|
||||
#monthly on week number and weekday. e.g. "third thursday of every month".
|
||||
newSendDate = nextMonthlyOnWeekdayOfWeek($reminder.monthlyOnWeekday, $reminder.monthlyOnWeek)
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
of "year":
|
||||
#yearly on month and day.
|
||||
#string zeros (db artifacts) have a length of 1...
|
||||
@@ -35,14 +44,15 @@ proc setFutureSendDate(reminderId: int) =
|
||||
newSendDate = nextYearlyDate(reminder.yearlyOnMonth, reminder.yearlyOnDay)
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
#yearly on weekday of week of month. e.g. third thursday of november of each year.
|
||||
else:
|
||||
newSendDate = nextYearlyOnWeekdayOfWeekOfMonth($reminder.yearlyOnWeekday, $reminder.yearlyOnWeek, $reminder.yearlyOnMonth2)
|
||||
reminder.sendDate = $format(newSendDate, "yyyy-MM-dd")
|
||||
updateReminderSendDate(reminder)
|
||||
clearAllReminders()
|
||||
else:
|
||||
echo "Invalid value for reminder.repeatFreq in setFutureSendDate()"
|
||||
clearAllReminders()
|
||||
echo "Invalid value for reminder.repeatFreq in setFutureSendDate()"
|
||||
|
||||
proc sendEmail(reminderMsg: string) =
|
||||
let userEmailAddress = getEmailByUserId("1")
|
||||
|
||||
Reference in New Issue
Block a user