sorting topics
This commit is contained in:
parent
4216e11e5b
commit
01ed26a939
4 changed files with 40 additions and 4 deletions
|
|
@ -5,5 +5,5 @@ urlpatterns = [
|
|||
path('', viewblog, name="index"),
|
||||
path('manage/addpost', addpost, name='addpost'),
|
||||
path('manage/order', order, name='order'),
|
||||
path('mock/<str:object>/<int:n>/', createmocks, name='mock'),
|
||||
path('mock/<str:objtype>/<int:n>/', createmocks, name='mock'),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ from django.http import HttpResponse
|
|||
from django.shortcuts import render, redirect
|
||||
from blog.factories import TopicFactory
|
||||
from blog.models import Topic, Tag, Blogpost
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
||||
from markdownblog import settings
|
||||
|
||||
|
|
@ -14,7 +15,16 @@ def viewblog(request) -> HttpResponse:
|
|||
|
||||
|
||||
@login_required
|
||||
@csrf_exempt
|
||||
def order(request):
|
||||
if request.method == "POST":
|
||||
root_id = int(request.POST['rootID']) if request.POST['rootID'] != 'root_list' else None
|
||||
child_id = int(request.POST['childID'])
|
||||
|
||||
child_topic = Topic.objects.get(pk=child_id)
|
||||
child_topic.rootTopic = Topic.objects.get(pk=root_id) if root_id is not None else None
|
||||
child_topic.save()
|
||||
|
||||
context = {'roottopics': Topic.objects.all().filter(rootTopic=None)}
|
||||
return render(request, 'blog/order.html', context)
|
||||
|
||||
|
|
@ -42,6 +52,7 @@ def addpost(request) -> HttpResponse:
|
|||
return render(request, 'blog/addpost.html', context)
|
||||
|
||||
|
||||
@login_required
|
||||
def createmocks(request, objtype, n) -> HttpResponse:
|
||||
topics = TopicFactory.create_batch(n)
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<div class="divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="waves-effect" href="{% url 'mock' object='topic' n=10 %}">Mock 10 topics</a>
|
||||
<a class="waves-effect" href="{% url 'mock' objtype='topic' n=10 %}">Mock 10 topics</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="waves-effect" href="{% url 'admin:index' %}">Mock Posts</a>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,22 @@
|
|||
</div>
|
||||
<script type="text/javascript">
|
||||
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for (let i = 0; i < ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function resetbgColor(ev) {
|
||||
ev.preventDefault();
|
||||
ev.target.style.backgroundColor = "";
|
||||
|
|
@ -37,9 +53,18 @@
|
|||
|
||||
function drop(ev) {
|
||||
ev.preventDefault();
|
||||
var targetOject = ev.dataTransfer.getData("targetObject");
|
||||
ev.target.appendChild(document.getElementById(targetOject));
|
||||
const targetObject = ev.dataTransfer.getData("targetObject");
|
||||
ev.target.appendChild(document.getElementById(targetObject));
|
||||
ev.target.style.backgroundColor = "";
|
||||
|
||||
let fakeForm = new FormData()
|
||||
fakeForm.append("childID", targetObject.replace("list_elem_", ""));
|
||||
fakeForm.append("rootID", ev.target.id.replace("list_elem_", ""));
|
||||
|
||||
fetch("{% url 'order' %}", {
|
||||
method: 'POST',
|
||||
body: fakeForm
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue