示例#1
0
    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))
示例#2
0
 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)
示例#3
0
    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)
示例#5
0
 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)
示例#6
0
 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
示例#7
0
 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