Skip to content

Commit 2209b20

Browse files
committed
Implement Admin view for processing merge queue (WIP)
This should be integrated into the manual merge flow, and should probably not be a separate page
1 parent be2199d commit 2209b20

3 files changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{% extends "base.html" %}
2+
{% load i18n %}
3+
{% load podcasts %}
4+
5+
{% load menu %}
6+
{% block mainmenu %}{{ "/admin/"|main_menu }}{% endblock %}
7+
{% block sectionmenu %}{{ "/admin/"|section_menu:"Admin" }}{% endblock %}
8+
9+
{% block title %}{% trans "Admin Area" %}{% endblock %}
10+
11+
{% block header %}
12+
<h1>{% trans "Merge Queue" %}</h1>
13+
{% endblock %}
14+
15+
{% block content %}
16+
Queue Length: {{ queue_length }}
17+
18+
<form method="post" action="{% url "admin-merge-verify" %}" role="form">
19+
{% csrf_token %}
20+
{% for entry in queue.mergequeueentry_set.all %}
21+
<div class="form-group">
22+
<label for="feed{{forloop.counter0}}">
23+
{{ forloop.counter }}: {{ entry.podcast }}
24+
</label>
25+
<input
26+
type="text"
27+
class="form-control"
28+
name="feed{{ forloop.counter0 }}"
29+
id="feed{{ forloop.counter0 }}"
30+
placeholder=""
31+
value="{{ entry.podcast.url }}"
32+
{% if forloop.first %}autofocus="autofocus"{% endif %}>
33+
</div>
34+
{% endfor %}
35+
<input class="btn btn-default" type="submit" value="OK" />
36+
</form>
37+
38+
{% endblock %}
39+

mygpo/administration/urls.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
views.MergeSelect.as_view(),
1717
name='admin-merge'),
1818

19+
url(r'^merge/queue$',
20+
views.MergeQueueView.as_view(),
21+
name='admin-merge-queue'),
22+
1923
url(r'^merge/verify$',
2024
views.MergeVerify.as_view(),
2125
name='admin-merge-verify'),

mygpo/administration/views.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from mygpo.administration.auth import require_staff
2424
from mygpo.administration.group import PodcastGrouper
2525
from mygpo.maintenance.merge import PodcastMerger, IncorrectMergeException
26+
from mygpo.maintenance.models import MergeQueue
2627
from mygpo.administration.clients import UserAgentStats, ClientStats
2728
from mygpo.administration.tasks import merge_podcasts
2829
from mygpo.utils import get_git_head
@@ -396,3 +397,17 @@ class MakePublisherResult(AdminView):
396397

397398
def get_email_subject(site, txt):
398399
return '[{domain}] {txt}'.format(domain=site.domain, txt=txt)
400+
401+
402+
class MergeQueueView(AdminView):
403+
404+
template_name = 'admin/merge-queue.html'
405+
406+
def get(self, request):
407+
queue_length = MergeQueue.objects.count()
408+
queue = MergeQueue.objects.first()
409+
410+
return self.render_to_response({
411+
'queue_length': queue_length,
412+
'queue': queue,
413+
})

0 commit comments

Comments
 (0)