def edit_reminder(user_name, reminder_id, description=None, start_remind_before=None, start_remind_from=None, stop_remind_in=None, remind_in=None, datetimes=None, interval=None, weekdays=None): """Edit reminder If the next argument is not None, then change the corresponding field to a new value. """ reminder = get_reminder(reminder_id) if description: reminder.description = description if start_remind_before: reminder.start_remind_before = start_remind_before if start_remind_from: reminder.start_remind_from = start_remind_from if stop_remind_in: reminder.stop_remind_in = stop_remind_in if remind_in: reminder.remind_in = remind_in if datetimes: reminder.datetimes = datetimes if interval: reminder.interval = interval if weekdays: reminder.weekdays = weekdays reminder.save()
def wrapper(username, reminder_id, *args, **kwargs): user = get_user(username) reminder = get_reminder(reminder_id) if reminder.user.name == user.name: func(username, reminder_id, *args, **kwargs) else: msg = ("Permission denied, you can't " "edit '{}' reminder.").format(reminder.id) raise PermissionError(msg)
def add_reminders_to_plan(user_name, plan_id, reminders_ids): """Adds reminders to plan. :param user_name: users name, who makes query. :param plan_id: plan id :param reminders_ids: list of reminders ids """ plan = get_plan(plan_id) for id in reminders_ids: reminder = get_reminder(id) relation = PlanReminders(plan=plan, reminder=reminder) relation.save()
def add_reminders_to_task(user_name, task_id, reminders_ids): """Adds reminders to task. :param user_name: users name, who makes query :param task_id: task id :param reminders_ids: list of reminders ids :return: """ task = get_task(task_id) for id in reminders_ids: reminder = get_reminder(id) relation = TaskReminders(task=task, reminder=reminder) relation.save()
def add_reminders_to_event(user_name, event_id, reminders_ids): """Adds reminders to event. :param user_name: users name, who makes query :param event_id: event id :param reminders_ids: list of reminder ids :return: """ event = get_event(event_id) for id in reminders_ids: reminder = get_reminder(id) relation = EventReminders(event=event, reminder=reminder) relation.save()
def remove_reminders_from_plan(username, plan_id, reminders_ids): """Remove reminders from plan. :param user_name: users name, who makes query. :param plan_id: plan id :param reminders_ids: list of reminders ids """ plan = get_plan(plan_id) for id in reminders_ids: reminder = get_reminder(id) try: relation = PlanReminders.objects.get(plan=plan, reminder=reminder) relation.delete() except: continue
def remove_reminders_from_task(username, task_id, reminders_ids): """Removes reminders from task. :param user_name: users name, who makes query :param task_id: task id :param reminders_ids: list of reminders ids """ task = get_task(task_id) for id in reminders_ids: reminder = get_reminder(id) try: relation = TaskReminders.objects.get(task=task, reminder=reminder) relation.delete() except: continue
def remove_reminders_from_event(username, event_id, reminders_ids): """Remove reminders from event. :param user_name: users name, who makes query :param event_id: event id :param reminders_ids: list of reminder ids """ event = get_event(event_id) for id in reminders_ids: reminder = get_reminder(id) try: relation = EventReminders.objects.get(event=event, reminder=reminder) relation.delete() except: continue
def remove_reminder(user_name, reminder_id): """ Remove reminder if it can be removed. """ get_reminder(reminder_id).delete()