Example #1
0
def index(request, group_slug=None, template_name="djime/statistics/index.html", bridge=None):
    start = date.today()
    end = date.today()
    while start.isocalendar()[1] == end.isocalendar()[1]:
           start -= timedelta(days=1)
    start += timedelta(days=1)
    end = start + timedelta(days=7)
    timeslices = TimeSlice.objects.filter(user=request.user,
                                                    begin__range=(start, end))
    return render_to_response(template_name, {
                    'flot_data': flot_timeslices(timeslices, start, end),
                    'headline': _('this week')},
                              context_instance=RequestContext(request))
Example #2
0
def statistics_date(request, end_date, start_date, group_slug=None, template_name="djime/statistics/index.html", bridge=None):
    headline = '%s to %s' % (start_date, end_date)
    s_date = datetime.strptime(start_date, '%Y-%m-%d').date()
    e_date = datetime.strptime(end_date, '%Y-%m-%d').date() + \
                                                    timedelta(days=1)
    timeslices = TimeSlice.objects.select_related().filter(
                                user=request.user,
                                begin__range=(s_date, e_date))

    return render_to_response(template_name, {
                'flot_data': flot_timeslices(timeslices, s_date, e_date),
                'headline': headline},
                            context_instance=RequestContext(request))
Example #3
0
def statistics(request, method=None, year=None, method_value=0, group_slug=None, template_name="djime/statistics/index.html", bridge=None, ajax=False):
    today = date.today()
    if not method:
        headline = 'today'
        timeslices = TimeSlice.objects.select_related().filter(
                            user=request.user, begin__day=today.day,
                            begin__month=today.month, begin__year=today.year)
    elif method == 'week':
        week = int(method_value)
        if year:
            year = int(year)
            headline = 'week %s - %s' % (week, year)
        elif week:
            year = today.year
            headline = 'week %s - %s' % (week, year)
        else:
            headline = 'this week'
            week = method_value = today.isocalendar()[1]
            year = today.year

        start_date = date(year, 1, 1) + timedelta(days=(week-2)*7)
        while start_date.isocalendar()[1] != week:
            start_date += timedelta(days=1)
        end_date = start_date + timedelta(days=7)

        timeslices = TimeSlice.objects.select_related().filter(
                                    user=request.user,
                                    begin__range=(start_date, end_date))
    elif method == 'month':
        month = int(method_value)
        if year:
            year = int(year)
            headline = '%s - %s' % (datetime(2000, month, 1).strftime('%B'), year)
        elif month:
            year = today.year
            headline = '%s - %s' % (datetime(2000, month, 1).strftime('%B'), year)
        else:
            headline = 'this month'
            month = method_value = today.month
            year = today.year
        start_date = date(year, month, 1)
        if month == 12:
            end_date = date(year + 1, 1, 1)
        else:
            end_date = date(year, month+1, 1)
        timeslices = TimeSlice.objects.select_related().filter(
                    user=request.user, begin__range=(start_date, end_date))
    elif method == 'quarter':
        quarter = int(method_value)
        quarter_suffix = ['1st', '2nd', '3rd', '4th']
        quarter_end = [31, 30, 30, 31]
        if year:
            year = int(year)
            headline = '%s quarter - %s' % (quarter_suffix[quarter-1], year)
        elif quarter:
            year = today.year
            headline = '%s quarter - %s' % (quarter_suffix[quarter-1], year)
        else:
            headline = 'this quarter'
            quarter = method_value = (today.month - 1) / 3 + 1
            year = today.year
        start_date = date(year, quarter * 3 - 2, 1)
        end_date = date(year, quarter * 3, quarter_end[quarter-1]) + \
                                                    timedelta(days=1)
        timeslices = TimeSlice.objects.select_related().filter(
                                    user=request.user,
                                    begin__range=(start_date, end_date))
    elif method == 'year':
        year = int(method_value)
        if not year:
            year = method_value = today.year
        if year == today.year:
            headline = 'this year'
        else:
            headline = year
        start_date = date(year, 1, 1)
        end_date = date(year + 1, 1, 1)
        timeslices = TimeSlice.objects.select_related().filter(
                                user=request.user, begin__year=year)

    if ajax:
        return flot_timeslices(timeslices, start_date, end_date)
    return render_to_response(template_name, {
                'flot_data': flot_timeslices(timeslices, start_date, end_date),
                'headline': headline,
                'method': method,
                'method_value': method_value,},
                            context_instance=RequestContext(request))