示例#1
0
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()
示例#2
0
 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)
示例#3
0
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()
示例#4
0
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()
示例#5
0
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()
示例#6
0
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
示例#7
0
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
示例#8
0
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
示例#9
0
def remove_reminder(user_name, reminder_id):
    """
    Remove reminder if it can be removed.
    """
    get_reminder(reminder_id).delete()