def get(self, request, *args, **kwargs): data = get_month_wireframe(*args, **kwargs) days_with_events = [] year = int(kwargs['year']) month = int(kwargs['month']) timezone = request.session['django_timezone'] for week in data['monthly_days']: week_days = [] for day in week: if day[0] != 0: events, invites = self.common_event_filters(request) events = events.filter( start__lte=normalize_to_utc( datetime(year, month, day[0], 23, 59), timezone), end__gte=normalize_to_utc( datetime(year, month, day[0], 0, 0), timezone), ) events = self.filter_calendars(request, events) events = self.update_copied_invites( events, invites, request.user) else: events = [] week_days.append((day[0], day[1], events)) days_with_events.append(week_days) data['monthly_days'] = days_with_events return render_to_response(self.template_name, data, context_instance=RequestContext(request))
def get_daily_hours(self, request, year, month, day): timezone = request.session['django_timezone'] # filter all-day events all_day_events, all_day_invites = self.common_event_filters(request) all_day_events = all_day_events.filter( type=models.EventMixin.ALL_DAY, start__lte=normalize_to_utc(datetime(year, month, day, 23, 59), timezone), end__gte=normalize_to_utc(datetime(year, month, day, 0, 0), timezone), ) all_day_events = self.filter_calendars(request, all_day_events) all_day_events = self.update_copied_invites(all_day_events, all_day_invites, request.user) # filter normal events hours = [] for hour in range(0, 24): events, invites = self.common_event_filters(request) events = events.filter( type=models.EventMixin.NORMAL, start__lte=normalize_to_utc( datetime(year, month, day, hour, 59), timezone), end__gte=normalize_to_utc(datetime(year, month, day, hour, 0), timezone), ) events = self.filter_calendars(request, events) events = self.update_copied_invites(events, invites, request.user) hours.append((hour, events)) return (hours, all_day_events)
def get(self, request, *args, **kwargs): data = get_month_wireframe(*args, **kwargs) days_with_events = [] year = int(kwargs['year']) month = int(kwargs['month']) timezone = request.session['django_timezone'] for week in data['monthly_days']: week_days = [] for day in week: if day[0] != 0: events, invites = self.common_event_filters(request) events = events.filter( start__lte=normalize_to_utc(datetime(year, month, day[0], 23, 59), timezone), end__gte=normalize_to_utc(datetime(year, month, day[0], 0, 0), timezone), ) events = self.filter_calendars(request, events) events = self.update_copied_invites(events, invites, request.user) else: events = [] week_days.append((day[0], day[1], events)) days_with_events.append(week_days) data['monthly_days'] = days_with_events return render_to_response(self.template_name, data, context_instance=RequestContext(request))
def save(self, **kwargs): """ Save times as UTC after conversion with the timezone set on the event """ tz = self.validated_data.get('timezone', DEFAULT_TIMEZONE) start = self.validated_data.get('start', datetime.now()) end = self.validated_data.get('end', datetime.now()) start = normalize_to_utc(start, tz) end = normalize_to_utc(end, tz) self.validated_data['start'] = start self.validated_data['end'] = end super(EventOwnedSerializer, self).save(**kwargs)
def get_daily_hours(self, request, year, month, day): timezone = request.session['django_timezone'] # filter all-day events all_day_events, all_day_invites = self.common_event_filters(request) all_day_events = all_day_events.filter( type=models.EventMixin.ALL_DAY, start__lte=normalize_to_utc(datetime(year, month, day, 23, 59), timezone), end__gte=normalize_to_utc(datetime(year, month, day, 0, 0), timezone), ) all_day_events = self.filter_calendars(request, all_day_events) all_day_events = self.update_copied_invites(all_day_events, all_day_invites, request.user) # filter normal events hours = [] for hour in range(0, 24): events, invites = self.common_event_filters(request) events = events.filter( type=models.EventMixin.NORMAL, start__lte=normalize_to_utc(datetime(year, month, day, hour, 59), timezone), end__gte=normalize_to_utc(datetime(year, month, day, hour, 0), timezone), ) events = self.filter_calendars(request, events) events = self.update_copied_invites(events, invites, request.user) hours.append((hour, events)) return (hours, all_day_events)
def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) if self.request.user.is_authenticated(): try: user_settings = CalendarUser.objects.get(user=self.request.user) except CalendarUser.DoesNotExist: self.request.session['django_timezone'] = u'UTC' else: self.request.session['django_timezone'] = user_settings.timezone now = normalize_to_utc(datetime.now(), self.request.session['django_timezone']) context.update( { 'current_month': now.month, 'current_year': now.year, 'today': now.day, 'username': self.request.user.username, 'timezone': self.request.session['django_timezone'] } ) return context
def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) if self.request.user.is_authenticated(): try: user_settings = CalendarUser.objects.get( user=self.request.user) except CalendarUser.DoesNotExist: self.request.session['django_timezone'] = u'UTC' else: self.request.session[ 'django_timezone'] = user_settings.timezone now = normalize_to_utc(datetime.now(), self.request.session['django_timezone']) context.update({ 'current_month': now.month, 'current_year': now.year, 'today': now.day, 'username': self.request.user.username, 'timezone': self.request.session['django_timezone'] }) return context