Пример #1
0
def widget_week_view(request, response_format='html'):
    "Week view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET and 'date_day' in request.GET:
            try:
                day = int(request.GET['date_day'])
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and month >= 1 and month <= 12 and day >= 1 and day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            date_current = now = datetime(
                date_current.year, date_current.month, date_current.day)

    date_previous = date_current - relativedelta(weeks=+1)
    date_next = date_current + relativedelta(weeks=+1)

    weeks = calendar.Calendar().monthdatescalendar(
        date_current.year, date_current.month)
    current_week = []
    for week in weeks:
        if date_current.date() in week:
            current_week = week
            break

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    dates = calendar.Calendar().monthdatescalendar(
        date_current.year, date_current.month)

    wrapped_events = EventCollection(events)
    wrapped_events.collect_events(request)

    return render_to_response('events/widgets/week_view',
                              {'events': wrapped_events,
                               'dates': dates,
                               'week': current_week,
                               'date_previous': date_previous,
                               'date_next': date_next,
                               'start_date': current_week[0],
                               'end_date': current_week[6],
                               'date_current': date_current,
                               'gotoform': gotoform.as_ul(),
                               'istoday': istoday,
                               'now': now},
                              context_instance=RequestContext(request), response_format=response_format)
Пример #2
0
def week_view(request, response_format="html"):
    "Week view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if "date_year" in request.GET and "date_month" in request.GET and "date_day" in request.GET:
            try:
                day = int(request.GET["date_day"])
                year = int(request.GET["date_year"])
                month = int(request.GET["date_month"])
                if year >= 1900 and month >= 1 and month <= 12 and day >= 1 and day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data["goto"]:
            date_current = gotoform.cleaned_data["goto"]
            istoday = date_current == now
            date_current = now = datetime(date_current.year, date_current.month, date_current.day)

    date_previous = date_current - relativedelta(weeks=+1)
    date_next = date_current + relativedelta(weeks=+1)

    weeks = calendar.Calendar().monthdatescalendar(date_current.year, date_current.month)
    current_week = []
    for week in weeks:
        if date_current.date() in week:
            current_week = week
            break

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    hours = range(START_HOUR, END_HOUR + 1)

    return render_to_response(
        "events/week_view",
        {
            "events": wrapped_events,
            "week": current_week,
            "start_date": current_week[0],
            "end_date": current_week[6],
            "date_previous": date_previous,
            "date_next": date_next,
            "date_current": date_current,
            "gotoform": gotoform.as_ul(),
            "istoday": istoday,
            "hours": hours,
            "now": now,
        },
        context_instance=RequestContext(request),
        response_format=response_format,
    )
Пример #3
0
def week_view(request, response_format='html'):
    "Week view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET and 'date_day' in request.GET:
            try:
                day = int(request.GET['date_day'])
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and month >= 1 and month <= 12 and day >= 1 and day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            date_current = now = datetime(date_current.year,
                                          date_current.month, date_current.day)

    date_previous = date_current - relativedelta(weeks=+1)
    date_next = date_current + relativedelta(weeks=+1)

    weeks = calendar.Calendar().monthdatescalendar(date_current.year,
                                                   date_current.month)
    current_week = []
    for week in weeks:
        if date_current.date() in week:
            current_week = week
            break

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    hours = range(START_HOUR, END_HOUR + 1)

    return render_to_response('events/week_view', {
        'events': wrapped_events,
        'week': current_week,
        'start_date': current_week[0],
        'end_date': current_week[6],
        'date_previous': date_previous,
        'date_next': date_next,
        'date_current': date_current,
        'gotoform': gotoform.as_ul(),
        'istoday': istoday,
        'hours': hours,
        'now': now
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Пример #4
0
def month_view(request, response_format="html"):
    "Month view - each cell represents a day"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if "date_year" in request.GET and "date_month" in request.GET:
            try:
                year = int(request.GET["date_year"])
                month = int(request.GET["date_month"])
                if year >= 1900 and month >= 1 and month <= 12:
                    date_current = datetime(year, month, 1)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data["goto"]:
            date_current = gotoform.cleaned_data["goto"]
            istoday = date_current == now
            now = datetime(date_current.year, date_current.month, date_current.day)

    dates = calendar.Calendar().monthdatescalendar(date_current.year, date_current.month)
    date_previous = date_current - relativedelta(months=+1)
    date_next = date_current + relativedelta(months=+1)

    wrapped_events = EventCollection(events)
    wrapped_events.collect_events(request)

    return render_to_response(
        "events/month_view",
        {
            "events": wrapped_events,
            "dates": dates,
            "date_previous": date_previous,
            "date_next": date_next,
            "date_current": date_current,
            "gotoform": gotoform.as_ul(),
            "istoday": istoday,
            "now": now,
        },
        context_instance=RequestContext(request),
        response_format=response_format,
    )
Пример #5
0
def day_view(request, response_format='html'):
    "Day view - each slot represents an hour"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET and 'date_day' in request.GET:
            try:
                day = int(request.GET['date_day'])
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and month >= 1 and month <= 12 and day >= 1 and day <= 31:
                    date_current = datetime(year, month, day)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            date_current = now = datetime(
                date_current.year, date_current.month, date_current.day)

    day = date_current.date()
    date_previous = date_current - relativedelta(days=+1)
    date_next = date_current + relativedelta(days=+1)

    wrapped_events = EventCollection(events, START_HOUR, END_HOUR)
    wrapped_events.collect_events(request)

    hours = range(START_HOUR, END_HOUR + 1)

    return render_to_response('events/day_view',
                              {'events': wrapped_events,
                               'day': day,
                               'hours': hours,
                               'date_previous': date_previous,
                               'date_next': date_next,
                               'date_current': date_current,
                               'gotoform': gotoform.as_ul(),
                               'istoday': istoday,
                               'now': now},
                              context_instance=RequestContext(request), response_format=response_format)
Пример #6
0
def month_view(request, response_format='html'):
    "Month view - each cell represents a day"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET:
            try:
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and month >= 1 and month <= 12:
                    date_current = datetime(year, month, 1)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            now = datetime(date_current.year, date_current.month,
                           date_current.day)

    dates = calendar.Calendar().monthdatescalendar(date_current.year,
                                                   date_current.month)
    date_previous = date_current - relativedelta(months=+1)
    date_next = date_current + relativedelta(months=+1)

    wrapped_events = EventCollection(events)
    wrapped_events.collect_events(request)

    return render_to_response('events/month_view', {
        'events': wrapped_events,
        'dates': dates,
        'date_previous': date_previous,
        'date_next': date_next,
        'date_current': date_current,
        'gotoform': gotoform.as_ul(),
        'istoday': istoday,
        'now': now
    },
                              context_instance=RequestContext(request),
                              response_format=response_format)
Пример #7
0
def month_view(request, response_format='html'):
    "Month view - each cell represents a day"

    events = Object.filter_by_request(request, Event.objects)

    date_current = now = datetime.now()
    istoday = True

    gotoform = GoToDateForm(now, request.GET)
    if request.GET:
        if 'date_year' in request.GET and 'date_month' in request.GET:
            try:
                year = int(request.GET['date_year'])
                month = int(request.GET['date_month'])
                if year >= 1900 and month >= 1 and month <= 12:
                    date_current = datetime(year, month, 1)
                    istoday = date_current == now
            except Exception:
                pass
        if gotoform.is_valid() and gotoform.cleaned_data['goto']:
            date_current = gotoform.cleaned_data['goto']
            istoday = date_current == now
            now = datetime(
                date_current.year, date_current.month, date_current.day)

    dates = calendar.Calendar().monthdatescalendar(
        date_current.year, date_current.month)
    date_previous = date_current - relativedelta(months=+1)
    date_next = date_current + relativedelta(months=+1)

    wrapped_events = EventCollection(events)
    wrapped_events.collect_events(request)

    return render_to_response('events/month_view',
                              {'events': wrapped_events,
                               'dates': dates,
                               'date_previous': date_previous,
                               'date_next': date_next,
                               'date_current': date_current,
                               'gotoform': gotoform.as_ul(),
                               'istoday': istoday,
                               'now': now},
                              context_instance=RequestContext(request), response_format=response_format)