Ejemplo n.º 1
0
def save_task_action(calendar_id: str) -> Response:
    title = request.form["title"].strip()
    date = request.form.get("date", "")
    if len(date) > 0:
        date_fragments = re.split("-", date)
        year = int(date_fragments[0])  # type: Optional[int]
        month = int(date_fragments[1])  # type: Optional[int]
        day = int(date_fragments[2])  # type: Optional[int]
    else:
        year = month = day = None
    is_all_day = request.form.get("is_all_day", "0") == "1"
    due_time = request.form["due_time"]
    details = request.form["details"].replace("\r", "").replace("\n", "<br>")
    color = request.form["color"]
    
    
    username = get_session_username(session_id=str(request.cookies.get(SESSION_ID)))
    user_data = authentication.user_data(username=username)
    color = user_data['color']
    has_repetition = request.form.get("repeats", "0") == "1"
    repetition_type = request.form.get("repetition_type")
    repetition_subtype = request.form.get("repetition_subtype")
    repetition_value = int(request.form["repetition_value"])

    calendar_data = CalendarData(config.DATA_FOLTER)
    calendar_data.create_task(calendar_id=calendar_id,
                              year=year,
                              month=month,
                              day=day,
                              title=title,
                              is_all_day=is_all_day,
                              due_time=due_time,
                              details=details,
                              color=color,
                              has_repetition=has_repetition,
                              repetition_type=repetition_type,
                              repetition_subtype=repetition_subtype,
                              repetition_value=repetition_value)
    export_to_icalendar(calendar_data, calendar_id)

    if year is None:
        return redirect("{}/{}/".format(config.BASE_URL, calendar_id), code=302)
    else:
        return redirect("{}/{}/?y={}&m={}".format(config.BASE_URL, calendar_id, year, month), code=302)
Ejemplo n.º 2
0
def index() -> Response:
    username = get_session_username(session_id=str(request.cookies.get("sid")))
    user_data = authentication.user_data(username=username)
    return redirect("/{}/".format(user_data["default_calendar"]))