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')
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')
def end_timestamp(self): return to_timestamp(self.end)
def start_timestamp(self): return to_timestamp(self.start)