mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-16 19:23:27 +00:00
com: improve news admin view
Signed-off-by: Skia <skia@libskia.so>
This commit is contained in:
parent
d864c00472
commit
83b00450eb
@ -7,7 +7,155 @@
|
|||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h3>{% trans %}News{% endtrans %}</h3>
|
<h3>{% trans %}News{% endtrans %}</h3>
|
||||||
<h4>{% trans %}Displayed news{% endtrans %}</h4>
|
|
||||||
|
<hr />
|
||||||
|
<h4>{% trans %}Notices{% endtrans %}</h4>
|
||||||
|
{% set notices = object_list.filter(type="NOTICE").distinct().order_by('id') %}
|
||||||
|
<h5>{% trans %}Displayed notices{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Moderator{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in notices.filter(is_moderated=True) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td>{{ user_profile_link(news.moderator) }}</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}?remove">{% trans %}Remove{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h5>{% trans %}Notices to moderate{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in notices.filter(is_moderated=False) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}">{% trans %}Moderate{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<h4>{% trans %}Weeklies{% endtrans %}</h4>
|
||||||
|
{% set weeklies = object_list.filter(type="WEEKLY", dates__end_date__gte=timezone.now()).distinct().order_by('id') %}
|
||||||
|
<h5>{% trans %}Displayed weeklies{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Moderator{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Dates{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in weeklies.filter(is_moderated=True) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td>{{ user_profile_link(news.moderator) }}</td>
|
||||||
|
<td>
|
||||||
|
<ul>
|
||||||
|
{% for d in news.dates.all() %}
|
||||||
|
<li>{{ d.start_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ d.start_date|localtime|time(DATETIME_FORMAT) }} -
|
||||||
|
{{ d.end_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ d.end_date|localtime|time(DATETIME_FORMAT) }}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}?remove">{% trans %}Remove{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h5>{% trans %}Weeklies to moderate{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Dates{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in weeklies.filter(is_moderated=False) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td>
|
||||||
|
<ul>
|
||||||
|
{% for d in news.dates.all() %}
|
||||||
|
<li>{{ d.start_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ d.start_date|localtime|time(DATETIME_FORMAT) }} -
|
||||||
|
{{ d.end_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ d.end_date|localtime|time(DATETIME_FORMAT) }}
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}">{% trans %}Moderate{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<h4>{% trans %}Calls{% endtrans %}</h4>
|
||||||
|
{% set calls = object_list.filter(type="CALL", dates__end_date__gte=timezone.now()).distinct().order_by('id') %}
|
||||||
|
<h5>{% trans %}Displayed calls{% endtrans %}</h5>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -23,7 +171,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for news in object_list.filter(is_moderated=True) %}
|
{% for news in calls.filter(is_moderated=True) %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ news.get_type_display() }}</td>
|
<td>{{ news.get_type_display() }}</td>
|
||||||
<td>{{ news.title }}</td>
|
<td>{{ news.title }}</td>
|
||||||
@ -42,7 +190,7 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<h4>{% trans %}News to moderate{% endtrans %}</h4>
|
<h5>{% trans %}Calls to moderate{% endtrans %}</h5>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -57,7 +205,79 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for news in object_list.filter(is_moderated=False) %}
|
{% for news in calls.filter(is_moderated=False) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td>{{ news.dates.first().start_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ news.dates.first().start_date|localtime|time(DATETIME_FORMAT) }}</td>
|
||||||
|
<td>{{ news.dates.first().end_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ news.dates.first().end_date|localtime|time(DATETIME_FORMAT) }}</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}">{% trans %}Moderate{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<h4>{% trans %}Events{% endtrans %}</h4>
|
||||||
|
{% set events = object_list.filter(type="EVENT", dates__end_date__gte=timezone.now()).distinct().order_by('id') %}
|
||||||
|
<h5>{% trans %}Displayed events{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Moderator{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Start{% endtrans %}</td>
|
||||||
|
<td>{% trans %}End{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in events.filter(is_moderated=True) %}
|
||||||
|
<tr>
|
||||||
|
<td>{{ news.get_type_display() }}</td>
|
||||||
|
<td>{{ news.title }}</td>
|
||||||
|
<td>{{ news.summary|markdown }}</td>
|
||||||
|
<td><a href="{{ news.club.get_absolute_url() }}">{{ news.club }}</a></td>
|
||||||
|
<td>{{ user_profile_link(news.author) }}</td>
|
||||||
|
<td>{{ user_profile_link(news.moderator) }}</td>
|
||||||
|
<td>{{ news.dates.first().start_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ news.dates.first().start_date|localtime|time(DATETIME_FORMAT) }}</td>
|
||||||
|
<td>{{ news.dates.first().end_date|localtime|date(DATETIME_FORMAT) }}
|
||||||
|
{{ news.dates.first().end_date|localtime|time(DATETIME_FORMAT) }}</td>
|
||||||
|
<td><a href="{{ url('com:news_detail', news_id=news.id) }}">{% trans %}View{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_edit', news_id=news.id) }}">{% trans %}Edit{% endtrans %}</a>
|
||||||
|
<a href="{{ url('com:news_moderate', news_id=news.id) }}?remove">{% trans %}Remove{% endtrans %}</a></td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<h5>{% trans %}Events to moderate{% endtrans %}</h5>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<td>{% trans %}Type{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Title{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Summary{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Club{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Author{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Start{% endtrans %}</td>
|
||||||
|
<td>{% trans %}End{% endtrans %}</td>
|
||||||
|
<td>{% trans %}Actions{% endtrans %}</td>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{% for news in events.filter(is_moderated=False) %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ news.get_type_display() }}</td>
|
<td>{{ news.get_type_display() }}</td>
|
||||||
<td>{{ news.title }}</td>
|
<td>{{ news.title }}</td>
|
||||||
|
@ -257,7 +257,7 @@ class NewsModerateView(CanEditMixin, SingleObjectMixin):
|
|||||||
class NewsAdminListView(CanEditMixin, ListView):
|
class NewsAdminListView(CanEditMixin, ListView):
|
||||||
model = News
|
model = News
|
||||||
template_name = 'com/news_admin_list.jinja'
|
template_name = 'com/news_admin_list.jinja'
|
||||||
queryset = News.objects.filter(dates__end_date__gte=timezone.now()).distinct().order_by('id')
|
queryset = News.objects.all()
|
||||||
|
|
||||||
|
|
||||||
class NewsListView(CanViewMixin, ListView):
|
class NewsListView(CanViewMixin, ListView):
|
||||||
|
Loading…
Reference in New Issue
Block a user