Beispiel #1
0
def calendar_by_params(request,
                       period=None,
                       date=None,
                       category=None,
                       priority=None,
                       is_active=None):
    """
    returns events for:

        -> a period = Year, Month, Week, Day
        -> a DATE = datetime
        -> a user
        -> a cal_type = wikis, events, with cals, for cals,
        -> a cal_place = place where the cal takes effect
        -> a cal_category
        -> a cal_priority
        -> eventually to see whether if the cal is active or canceled
    """
    #    in_datetime = None
    #    if user is None:
    #        user = request.user.id
    #    in_datetime = coerce_date_dict(request.GET)
    #    if in_datetime:
    #        try:
    #            in_datetime = datetime.datetime(**in_datetime)
    #        except ValueError:
    #            raise Http404
    #    else:
    #        in_datetime = datetime.datetime.now()
    start = request.GET['start']
    start = datetime.datetime.fromtimestamp(int(start))
    start = timezone.make_aware(start, timezone.get_default_timezone())
    end = request.GET['end']
    end = datetime.datetime.fromtimestamp(int(end))
    end = timezone.make_aware(end, timezone.get_default_timezone())
    list_cal = all_events_by_params(user=request.user.pk,
                                    is_active=is_active,
                                    category=category,
                                    calendar=True,
                                    priority=priority,
                                    by_date="S")
    list_cal = list_cal.filter(
        Q(start__gte=start, start__lte=end) | Q(end__gte=start, end__lte=end)
        | Q(end_recurring_period__gte=start))
    #    f_period = period(list_cal, in_datetime)
    #    if not f_period:
    #        return HttpResponseRedirect('/')

    json_cals = simplejson.dumps(_get_sorted_occurrences(list_cal, start, end),
                                 ensure_ascii=False)
    return HttpResponse(json_cals,
                        content_type='application/javascript; charset=utf-8')
def planning(request,user_id=None, plannable=None, priority=None, category=None, is_active=None, template_name="calendars/planning.html"):
    list_cal = all_events_by_params(user=user_id, user_request=request.user.pk, is_active=is_active,
                                  category=category,calendar=True,
                                  priority=priority, by_date="S")
    in_datetime = datetime.datetime.now()
    upcoming = list_cal.filter(end__gte=in_datetime)
    due = list_cal.filter(end__lte=in_datetime)
    if not list_cal:
        list_cal = None
    c = RequestContext(request, {'upcoming': upcoming,
                                 'due': due,
                                 })
    return render_to_response(template_name, c)
def calendar_by_params(request, period=None, date=None, category=None, priority=None,
                        is_active=None):
    """
    returns events for:

        -> a period = Year, Month, Week, Day
        -> a DATE = datetime
        -> a user
        -> a cal_type = wikis, events, with cals, for cals,
        -> a cal_place = place where the cal takes effect
        -> a cal_category
        -> a cal_priority
        -> eventually to see whether if the cal is active or canceled
    """
#    in_datetime = None
#    if user is None:
#        user = request.user.id
#    in_datetime = coerce_date_dict(request.GET)
#    if in_datetime:
#        try:
#            in_datetime = datetime.datetime(**in_datetime)
#        except ValueError:
#            raise Http404
#    else:
#        in_datetime = datetime.datetime.now()
    start = request.GET['start']
    start = datetime.datetime.fromtimestamp(int(start))
    start = timezone.make_aware(start, timezone.get_default_timezone())
    end = request.GET['end']
    end = datetime.datetime.fromtimestamp(int(end))
    end = timezone.make_aware(end, timezone.get_default_timezone())
    list_cal = all_events_by_params(user=request.user.pk, is_active=is_active,
                                  category=category,calendar=True,
                                  priority=priority, by_date="S")
    list_cal = list_cal.filter(Q(start__gte=start, start__lte=end) |
                               Q(end__gte=start, end__lte=end) |
                               Q(end_recurring_period__gte=start))
#    f_period = period(list_cal, in_datetime)
#    if not f_period:
#        return HttpResponseRedirect('/')

    json_cals = simplejson.dumps(_get_sorted_occurrences(list_cal, start, end), ensure_ascii=False)
    return HttpResponse(json_cals, content_type='application/javascript; charset=utf-8')
Beispiel #4
0
def planning(request,
             user_id=None,
             plannable=None,
             priority=None,
             category=None,
             is_active=None,
             template_name="calendars/planning.html"):
    list_cal = all_events_by_params(user=user_id,
                                    user_request=request.user.pk,
                                    is_active=is_active,
                                    category=category,
                                    calendar=True,
                                    priority=priority,
                                    by_date="S")
    in_datetime = datetime.datetime.now()
    upcoming = list_cal.filter(end__gte=in_datetime)
    due = list_cal.filter(end__lte=in_datetime)
    if not list_cal:
        list_cal = None
    c = RequestContext(request, {
        'upcoming': upcoming,
        'due': due,
    })
    return render_to_response(template_name, c)