[chronojump-server] Enabling results deletion again
- From: Marcos Venteo Garcia <mventeo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump-server] Enabling results deletion again
- Date: Sun, 1 Jul 2018 17:32:18 +0000 (UTC)
commit 61d4541d987f5e4a89643205fbb67624202c9661
Author: Marcos Venteo GarcĂa <marcos@Hoth.local>
Date: Sun Jul 1 19:31:19 2018 +0200
Enabling results deletion again
.../chronojump_networks/results/api/urls.py | 16 ++++++----
.../chronojump_networks/results/api/views.py | 35 +++++++++++++++++++++-
.../organizations/groups/group_players_list.html | 16 ++++++++++
.../templates/results/results_list.html | 10 +++----
4 files changed, 65 insertions(+), 12 deletions(-)
---
diff --git a/chronojumpserver-django/chronojump_networks/results/api/urls.py
b/chronojumpserver-django/chronojump_networks/results/api/urls.py
index 932e87b..920035a 100644
--- a/chronojumpserver-django/chronojump_networks/results/api/urls.py
+++ b/chronojumpserver-django/chronojump_networks/results/api/urls.py
@@ -12,10 +12,14 @@ urlpatterns = [
view=views.ResultEncoderList.as_view(),
name='results_list'
),
-
+ url(
+ regex=r'^(?P<result_id>\d+)$',
+ view=views.ResultEncoderRetrieveUpdateDestroyAPIView.as_view(),
+ name='results'
+ ),
+ url(
+ regex=r'^delete$',
+ view=views.ResultEncoderDestroyAPIView.as_view(),
+ name='results_delete'
+ )
]
-"""url(
- regex=r'^(?P<task_id>\d+)$',
- view=views.TaskRetrieveUpdateDestroyAPIView.as_view(),
- name='results'
-),"""
diff --git a/chronojumpserver-django/chronojump_networks/results/api/views.py
b/chronojumpserver-django/chronojump_networks/results/api/views.py
index 2d5508a..e8ab9e7 100644
--- a/chronojumpserver-django/chronojump_networks/results/api/views.py
+++ b/chronojumpserver-django/chronojump_networks/results/api/views.py
@@ -4,7 +4,7 @@ from .serializers import ResultEncoderSerializer
from django.http import HttpResponse, JsonResponse
from django.shortcuts import get_object_or_404
from rest_framework.response import Response
-from rest_framework.generics import ListAPIView, RetrieveAPIView
+from rest_framework.generics import ListAPIView, RetrieveAPIView, DestroyAPIView,
RetrieveUpdateDestroyAPIView
from rest_framework.permissions import IsAuthenticated
from chronojump_networks.organizations.models import User, Group, Player
@@ -42,3 +42,36 @@ class ResultEncoderList(ListAPIView):
# Serialize the results and return
serializer = ResultEncoderSerializer(queryset, many=True)
return Response(serializer.data)
+
+
+class ResultEncoderRetrieveUpdateDestroyAPIView(RetrieveUpdateDestroyAPIView):
+
+ permission_classes = (IsAuthenticated, )
+ serializer_class = ResultEncoderSerializer
+ lookup_field = 'result_id'
+
+ def retrieve(self, request, *args, **kwars):
+ #print(self.kwargs['task_id'])
+ o = get_object_or_404(Task, id=self.kwargs['result_id'])
+ s = ResultEncoderSerializer(o)
+ return Response(s.data)
+
+ def destroy(self, request, *args, **kwargs):
+ o = get_object_or_404(Task, id=self.kwargs['result_id'])
+ o.delete()
+ print("Result %d removed" % (result_id, ))
+ return JsonResponse({}, status=204, safe=False)
+
+class ResultEncoderDestroyAPIView(DestroyAPIView):
+ """Remove players from group"""
+ permission_classes = (IsAuthenticated, )
+ serializer_class = ResultEncoderSerializer
+
+ def destroy(self, request, *args, **kwargs):
+
+ results_ids = request.data
+ for result_id in results_ids:
+ o = ResultEncoder.objects.get(id=int(result_id))
+ o.delete()
+ print("Result %d removed" % (int(result_id), ))
+ return JsonResponse({}, status=204, safe=False)
diff --git
a/chronojumpserver-django/chronojump_networks/templates/organizations/groups/group_players_list.html
b/chronojumpserver-django/chronojump_networks/templates/organizations/groups/group_players_list.html
index 327fc6a..344bb08 100644
--- a/chronojumpserver-django/chronojump_networks/templates/organizations/groups/group_players_list.html
+++ b/chronojumpserver-django/chronojump_networks/templates/organizations/groups/group_players_list.html
@@ -204,6 +204,22 @@
initComplete: function() {
// Enable the remove player selection the first time data is loaded
enablePlayersTableFunctionality();
+ },
+ "language": {
+ "lengthMenu": "{% trans 'Showing _MENU_ players per page' %}",
+ "zeroRecords": "{% trans 'There are no players in this group' %}",
+ "info": "{% trans 'Showing the players _START_ to _END_ of a total of _TOTAL_ players' %}",
+ "infoEmpty": "{% trans 'The search returns no results' %}",
+ "infoFiltered": "{% trans '(from a total of _MAX_ players)' %}",
+ "decimal": ",",
+ "thousands": ".",
+ "paginate": {
+ "first": '<i class="fa fa-fast-backward"></i>',
+ "last": '<i class="fa fa-fast-forward"></i>',
+ "next": '<i class="fa fa-forward"></i>',
+ "previous": '<i class="fa fa-backward"></i>'
+ },
+ "search": "{% trans 'Search:' %}"
}
});
diff --git a/chronojumpserver-django/chronojump_networks/templates/results/results_list.html
b/chronojumpserver-django/chronojump_networks/templates/results/results_list.html
index 556c4a7..2e70fad 100644
--- a/chronojumpserver-django/chronojump_networks/templates/results/results_list.html
+++ b/chronojumpserver-django/chronojump_networks/templates/results/results_list.html
@@ -26,7 +26,7 @@
</div>
<div class="row datatables_wrapped">
<div class="col form-group">
- <label>{% trans 'Filter by time' %}</label>
+ <label>{% trans 'Filter by time' %}</label><br/>
<div class="btn-group" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary active time-interval-btn" data-time-interval="1">{% trans
'1d' %}</button>
<button type="button" class="btn btn-secondary time-interval-btn" data-time-interval="2">{% trans '2d'
%}</button>
@@ -341,10 +341,10 @@
results.push(v.attr('data-result-id'));
});
- var url = '/api/v1/results/delete';
- $.ajax({
+ var url = "{% url 'api_results:results_delete' %}";
+ $.ajax({
url: url,
- type: "POST",
+ type: "DELETE",
contentType: 'application/json;charset=UTF-8',
data: JSON.stringify(results)
}).done(function(msg){
@@ -429,7 +429,7 @@
},
"language": {
"lengthMenu": "{% trans 'Showing _MENU_ results per page' %}",
- "zeroRecords": "{% trans 'There are no records to show' %}",
+ "zeroRecords": "{% trans 'There are no results to show' %}",
"info": "{% trans 'Showing the results _START_ to _END_ of a total of _TOTAL_ results' %}",
"infoEmpty": "{% trans 'The query returns no results' %}",
"infoFiltered": "{% trans '_MAX_ results filtered' %}",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]