Skip to content

Commit

Permalink
Merge pull request #467 from ccnmtl/streamlogs-basic-views
Browse files Browse the repository at this point in the history
Streamlogs basic views
  • Loading branch information
nikolas committed Sep 16, 2016
2 parents 0b96885 + 26a5c9f commit 816d021
Show file tree
Hide file tree
Showing 4 changed files with 106 additions and 0 deletions.
3 changes: 3 additions & 0 deletions wardenclyffe/streamlogs/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,6 @@ class StreamLog(models.Model):
# how they were authenticated: cookie, url hash, or public
access = models.TextField(blank=True)
request_at = models.DateTimeField(auto_now_add=True)

class Meta:
ordering = ['-request_at']
17 changes: 17 additions & 0 deletions wardenclyffe/streamlogs/urls.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,24 @@
from django.conf.urls import url
from django.contrib.auth.decorators import user_passes_test
from django.views.generic.detail import DetailView
from django.views.generic.list import ListView

from wardenclyffe.main.views import is_staff

from .models import StreamLog
from .views import LogView

staff_only = user_passes_test(lambda u: is_staff(u))

urlpatterns = [
url(r'^$', LogView.as_view(), name='streamlogs'),
url(r'list/$', staff_only(
ListView.as_view(
model=StreamLog,
paginate_by=50,
)), name='streamlogs-list'),
url(r'(?P<pk>\d+)/$', staff_only(
DetailView.as_view(
model=StreamLog,
)), name='streamlogs-detail'),
]
32 changes: 32 additions & 0 deletions wardenclyffe/templates/streamlogs/streamlog_detail.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{% extends 'base.html' %}

{% block content %}
<p><a href="{% url 'streamlogs-list' %}">Back to List</a></p>

<table>
<tbody>
<tr>
<th>Timestamp</th><td>{{ object.request_at }}</td>
</tr>
<tr>
<th>Filename</th><td><tt>{{object.filename}}</tt></td>
</tr>
<tr>
<th>Remote Address</th><td><tt>{{object.remote_addr}}</tt></td>
</tr>
<tr>
<th>Offset</th><td>{{object.offset}}</td>
</tr>
<tr>
<th>Referer</th><td><tt>{{object.referer}}</tt></td>
</tr>
<tr>
<th>User Agent</th><td>{{object.user_agent}}</td>
</tr>
<tr>
<th>Access Mode</th><td>{{object.access}}</td>
</tr>
</tbody>
</table>

{% endblock %}
54 changes: 54 additions & 0 deletions wardenclyffe/templates/streamlogs/streamlog_list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{% extends 'base.html' %}

{% block content %}

{% if is_paginated %}
<div class="pagination">
<span class="page-links">
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">&lt; previous</a>
{% endif %}
<span class="page-current">
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
</span>
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">next &gt;</a>
{% endif %}
</span>
</div>
{% endif %}

<table>
<thead>
<tr>
<th>timestamp</th>
<th>filename</th>
</tr>
</thead>
<tbody>
{% for object in object_list %}
<tr>
<td><a href="{% url 'streamlogs-detail' object.pk %}">{{object.request_at}}</a></td>
<td><tt>{{object.filename}}</tt></td>
</tr>
{% endfor %}
</tbody>
</table>

{% if is_paginated %}
<div class="pagination">
<span class="page-links">
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">&lt; previous</a>
{% endif %}
<span class="page-current">
Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
</span>
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">next &gt;</a>
{% endif %}
</span>
</div>
{% endif %}

{% endblock %}

0 comments on commit 816d021

Please sign in to comment.