SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 75d3d167 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Add OrganizationEvent list view

parent f68f9076
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2019-02-23 13:06
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('organizations', '0009_auto_20190223_1001'),
]
operations = [
migrations.AlterModelOptions(
name='organizationevent',
options={'ordering': ['-noted_on', 'organization']},
),
]
......@@ -210,6 +210,9 @@ class OrganizationEvent(models.Model):
noted_on = models.DateTimeField(default=timezone.now)
noted_by = models.ForeignKey(User, on_delete=models.CASCADE)
class Meta:
ordering = ['-noted_on', 'organization']
def __str__(self):
return '%s: %s' % (str(self.organization), self.get_event_display())
......
......@@ -51,6 +51,11 @@ $(document).ready(function($) {
<li class="nav-item btn btn-outline-secondary">
<a href="{% url 'organizations:contactperson_list' %}" class="nav-link" target="_blank">Contact Persons<br/><span class="small text-muted">[unregistered contacts]</span></a>
</li>
{% if perms.scipost.can_manage_organizations %}
<li class="nav-item btn btn-outline-secondary">
<a href="{% url 'organizations:organizationevent_list' %}" class="nav-link" target="_blank">Events</a>
</li>
{% endif %}
</ul>
</div>
</div>
......
{% extends 'organizations/base.html' %}
{% block pagetitle %}: Organization Events{% endblock pagetitle %}
{% load bootstrap %}
{% block breadcrumb_items %}
{{ block.super }}
<span class="breadcrumb-item">Organization Events</span>
{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<h3 class="highlight">Organization Events</h3>
<table class="table">
<thead class="thead-default">
<tr>
<th>Organization</th>
<th>Event</th>
<th>Comments</th>
<th>Noted on</th>
<th>Noted by</th>
</tr>
</thead>
<tbody>
{% for event in object_list %}
<tr>
<td><a href="{% url 'organizations:organization_details' pk=event.organization.id %}">{{ event.organization }}</a></td>
<td>{{ event.get_event_display }}</td>
<td>{{ event.comments|linebreaks }}</td>
<td>{{ event.noted_on }}</td>
<td>{{ event.noted_by }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% if is_paginated %}
<div class="col-12">
{% include 'partials/pagination.html' with page_obj=page_obj %}
</div>
{% endif %}
</div>
</div>
{% endblock content %}
......@@ -37,6 +37,11 @@ urlpatterns = [
views.OrganizationEventCreateView.as_view(),
name='organizationevent_create'
),
url(
r'^organizationevents/$',
views.OrganizationEventListView.as_view(),
name='organizationevent_list'
),
url(
r'^add_contactperson/(?P<organization_id>[0-9]+)/$',
views.ContactPersonCreateView.as_view(),
......
......@@ -131,6 +131,12 @@ class OrganizationEventCreateView(PermissionsMixin, CreateView):
kwargs={'pk': self.object.organization.id})
class OrganizationEventListView(PermissionsMixin, PaginationMixin, ListView):
permission_required = 'scipost.can_manage_organizations'
model = OrganizationEvent
paginate_by = 10
class ContactPersonCreateView(PermissionsMixin, CreateView):
permission_required = 'scipost.can_add_contactperson'
model = ContactPerson
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment