diff --git a/gracedb/views.py b/gracedb/views.py index afee177b7a3d817122b5da21058ffecd73db22c5..035e72ae14bc1ec07bed4d1a48bb33972b302708 100644 --- a/gracedb/views.py +++ b/gracedb/views.py @@ -972,6 +972,18 @@ Initial Entry for %s os.chmod(rcsname, 0444) +class LimitedEvent(): + def __init__(self, event): + self._event = event + def __getattr__(self, attr): + if attr == 'gpstime': + return None + elif attr == 'created': + return self._event.created.replace(second=0) + else: + return getattr(self._event, attr) + + def latest(request): context = {} @@ -980,12 +992,18 @@ def latest(request): else: form = SimpleSearchForm(request.POST) + if 'limited' in request.GET or 'limited' in request.POST: + limit = LimitedEvent + else: + limit = lambda x: x + context['form'] = form context['rawquery'] = request.GET.get('query') or request.POST.get('query') or "" if form.is_valid(): query = form.cleaned_data['query'] - context['objects'] = Event.objects.filter(query).distinct().order_by("-created")[:15] + objects = Event.objects.filter(query).distinct().order_by("-created")[:15] + context['objects'] = map(limit, objects) context['error'] = False else: context['error'] = True diff --git a/templates/gracedb/latest.html b/templates/gracedb/latest.html index 482123e4e0e5113fbf306e4166f71fd7e2167388..3adec74eaf612730632f8422bd27f638c632657a 100644 --- a/templates/gracedb/latest.html +++ b/templates/gracedb/latest.html @@ -128,7 +128,7 @@ {% for object in objects %} <tr class={% cycle 'odd' 'even' %}> - <td>{{ object.graceid }}</td> + <td><a href="{% url view object.graceid %}">{{ object.graceid }}</a></td> <td> {% for labelling in object.labelling_set.all %} <span title="{{labelling.creator.name}} {{labelling.created|utc}}" style="color: {{labelling.label.defaultColor}}">{{ labelling.label.name }}</span>