Esempio n. 1
0
def get_events(request):
    def _get_entry_color(entry):
        if entry.admin_event:
            color = 'rgb(23,23,23)'
        else:
            color = 'rgb%s' % UserProfile.objects.get(user__first_name=entry.trainer.split()[0],
                                              user__last_name=entry.trainer.split()[1]).color
        return color

    start, end = request.GET.get('start'), request.GET.get('end')
    group = request.user.get_profile().group
    kwargs = {}
    if group:
        if group.lower() == 'trainer':
            args = Q(admin_event=True) | Q(trainer=request.user.get_full_name())
        else:
            args = Q(trainee=request.user.get_full_name())
    else:
        args = Q()
    if start:
        start = datetime.datetime.fromtimestamp(float(start), utc)
    if end:
        end = datetime.datetime.fromtimestamp(float(end), utc)
    kwargs.update({'start__gte': start, 'end__lte': end})
    entries = [{'id': entry.pk, 'title': unicode(entry), 'allDay': False, 'start': to_timestamp(entry.start),
                'end': to_timestamp(entry.end), 'color': _get_entry_color(entry)}
                for entry in TimesheetEntry.objects.filter(args, **kwargs)]
    return HttpResponse(json.dumps(entries), content_type='application/json')
Esempio n. 2
0
def get_event(request, pk):
    event = get_object_or_404(TimesheetEntry, pk=pk)
    start = to_timestamp(event.start)
    end = to_timestamp(event.end)
    trainer = User.objects.get(first_name=event.trainer.split()[0], last_name=event.trainer.split()[1])
    trainee = User.objects.get(first_name=event.trainee.split()[0], last_name=event.trainee.split()[1])
    info = {'id': pk, 'title': unicode(event), 'trainer': trainer.pk, 'trainee': trainee.pk,
            'activity': event.activity.pk, 'start': start, 'end': end, 'comment': event.comment }
    return HttpResponse(json.dumps(info), content_type='application/json')
Esempio n. 3
0
 def end_timestamp(self):
     return to_timestamp(self.end)
Esempio n. 4
0
 def start_timestamp(self):
     return to_timestamp(self.start)