From 94abc6b481f9762b5242ff50739464e699a07d31 Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Wed, 25 Dec 2019 13:13:40 +0100 Subject: [PATCH] Drag and drop sortierung in der Tabelle Bereiche angepasst. Die Sortierung erfolgt einfach von 0 bis ANzahl-Bereiche. Jetzt einfach per drag-n-drop hoch und runterbewegen :) --- areas/__pycache__/forms.cpython-38.pyc | Bin 901 -> 867 bytes areas/__pycache__/urls.cpython-38.pyc | Bin 899 -> 960 bytes areas/__pycache__/views.cpython-38.pyc | Bin 4502 -> 4913 bytes areas/forms.py | 5 +-- areas/templates/areas/areas_management.html | 36 +++++++++++++++++- areas/urls.py | 3 +- areas/views.py | 29 +++++++++++++- .../__pycache__/settings.cpython-38.pyc | Bin 4437 -> 4495 bytes .../__pycache__/urls.cpython-38.pyc | Bin 1996 -> 2047 bytes digitaleagentur/settings.py | 3 ++ digitaleagentur/urls.py | 1 + 11 files changed, 70 insertions(+), 7 deletions(-) diff --git a/areas/__pycache__/forms.cpython-38.pyc b/areas/__pycache__/forms.cpython-38.pyc index e09ff6f2c18c0e13a6237058fbe853b8b87a7ce9..e247762069685391b961a616222850c214c5f1dc 100644 GIT binary patch delta 229 zcmZo=f6T@k%FD~e00ip-nB#VCNs%FD~e00cfuzQsP>$ji@Y%?9K-0CBMnkVs{SVoYI(VoGI>Vo704VM<|6 zVM$?4VVlDm#hSvN!jZz6!j;Yv#g@Vy%%I6LIhZlXEs85Rzo;ZLwWu^NU6b_|OI~7b z>Mhpf{G9xvTP!K5#mTqW%QA~IlX6mTaV8d}CgvBVq!tx%0xc^7xul32MDR{N&*;e} z0%D3xmSgg96aX?g7+IK@7@_bt8%L2CP|#14rHButjvqvTl!1kdAbLSuFiUjuN~SIY dbU~o>Ee@O9{FKt1R69l>uNdS69!4l+0szVhI{E+r diff --git a/areas/__pycache__/urls.cpython-38.pyc b/areas/__pycache__/urls.cpython-38.pyc index ddff2d14dbbf441c927891c51fa832017ea49def..20e157586888551b84aecafa101d9de28d52a61e 100644 GIT binary patch delta 165 zcmZo>KftaX%FD~e00h}S%yH9M7#JRdILH7b>j1>XHzsNyl}Kew5lv;z;!hDv;qGNl zXNwX@5f5h2l-T&IkWsOUr?em?u_QIWC?&N>zltxhC^bQ(*EerWunRnNuZ1fU0;Hc^Cy4B^Y_QWEf?Dv;-sHZvgoC5%B;3 diff --git a/areas/__pycache__/views.cpython-38.pyc b/areas/__pycache__/views.cpython-38.pyc index 7b9f003ce1faca37c3e019609985c29a143ddb3b..f12ca16682ae30d7b8182a440bee0b04e383acc3 100644 GIT binary patch delta 1802 zcmZ`(&u<$=6yDigd)Moq-88YCCjH?Cl5LuhmXtIlg(jpbr8G@R0>!9ZZ9S7022cy56nJl17ibY0Mku7=>B_3@c`|lUGVLp)|}#GH~#yM%!qHu zGC3y-YX9j?i>eRF9j&Qu#;MlSsQx+hiPBWTJ2K;t(DIg8t#sRUSC+$=$C+2>lyR}5 zo+JtJNS%+Fl5lU{7JsV+(k1fRRXYdy?SmGWm?=rA2Sro6)`xVMblsBg1wo1VzU%US z;9BquS_9%A?T3j@H1`8I8qcDQk^Bh2mc|QcA4TXxkYRF`0qo|)w*IBy=??L2q-Pj| zLu;|ltL~cTm+6)&!$TdZ_RvwGMMpXvoaGq8AVM7BxOg>MklW{@*dIb@-#K!_;z2Y^ zhDBOGA%2UFk>^C(xNjbUp)JA>i7$-7OddL+w!|8(%*Mr^Mt1T9kdDzx?EpIH9$yM% zmS{3BG&u`a>a~FJvoPMi^$9U%R!2}Vj@s?WHjaeUZsaLJIq{46LiwrrqW2g;m~61> zitja;Tl1=nPwY;(rv$j>^UwnP%T1!=t0oLS4x;pmk7DnFDF4Q;JD4)ZTw6LwT~A@R zt)Qb~-TH}~5m(|D>cg0$+Y69FjS^0D~2lb7ZFhW&{_rIg2giPX{dR= z&r{;BcvgIvj+_b&_I}A|qu;@s6em7By6l#eG7P9w%5D^!Etn+8M;FcpzGOb)6 zxT7}oN~98Psx$(g(fjiLqefn7YOc}LHqD0$QQkY=h*9${nOj%Dh=HL{1ujKvhD%Ye zz`DgmjosS46N|=Tx#szGDhnZNS2V#v-j79NVRm|Q{`@q*27!*n--eHzDby=Ly%t9N zx<`ZdT6HLp8h;0UQBSBYo*22VoR)eGkC$**D*S|Wz=cWNo4d1xkAVto0EJj2MKZ)B zHdq!hRlWqQ(<}VU&y0b|@$%-w2=WS%hYRZ<9iOO>ToCWw(445&>8j6O!b%1B%OpsG U9ER37%Q6!z?{?Tx)_JDa$6)3oHLby!kp<%+hnX^Bds0ELK9S|CznZ9UV-bZtko z4$w9z2ihZtb|g+n&>IoGRNT06fD;l_z0Hk7&lM6EIPtzQZIDIQn$K^(d2i;;_ulS< z+LzOXOTM2=(R2UtAFEdRPGOw=a%cAD<;4`w@%*h6&kI{*K6h635aV&57@wFlF%@D8 zyhu!um?2`S#FY3jF~h`UiP_5oK5{FyGR8+QroyuF*bnNgGp2rL%j}doX3fleW^Y>G zk_M(>)zm@f=ebdsBLtx>_rS&$@;QQSTTZ~91WW-;nAxC) zX+_o2_gBYY?gNYi_7iBg)k%6$rzv!?DMi#1yb;lV%68-9C~om>%bcPe zP=hDb)sf86@(lKU9uNZZfEQFRGc{*&tz$k57`!03!vuS2B&ey&9OhV#>!syk_4Uwx z^(1qFy{JxSzi)lQw*~AQuk56{nLoGn>~7laUinBgdo3Q8`dZH;)YR3~8I_Q)08k*E z+aM{Et1S_8ZAWn|3s^#Z`zZ|cVOD(Fj5oLl({chn|F$yqs62!DB4AKR^`SSvwX2e^ zA_Q_uA8;IC?rd`2RmpksTcDAkaZDSUR`h&{l_n#2`rzK*SN+@U;Ok^bG>FdN-Yve8 zm7)#vZ#E%c!|H~~FOa33xRvyDhThT*k(e)nwqwzeCHNKz!hBzJBjpl8@}G3&wN_^hDawoRI|o=) zR;gaP1as#Vt*P^+x3dwEOW{8C*YKnF@!>M>t2C`Xk15vw6ZGukqusf7mv6-4ETl`& UCLZ(H1daZ$

Bereichsverwaltung


@@ -28,7 +29,7 @@ {% for item in areas_of_agency %} - + {{ item.name }} {{ item.created_area_by.first_name }} {{ item.created_area_by.last_name }} {{ item.created_area_date }} @@ -53,6 +54,7 @@
+ {% endblock content %} diff --git a/areas/urls.py b/areas/urls.py index c6c0640..8d50d0b 100644 --- a/areas/urls.py +++ b/areas/urls.py @@ -16,7 +16,8 @@ urlpatterns = [ path('addarea/', permission_required('users.areas_management')(AreasAddArea.as_view(template_name="areas/areas_add.html")), name='areas-addarea'), path('areas//delete', permission_required('users.areas_management')(AreaDeleteView.as_view()), name='areas-delete'), path('area//', permission_required('users.areas_management')(AreaUpdateView.as_view()), name='areas-manage'), - path('areaajax/', views.area_addareas_ajax, name="area-ajaxview") + path('areaajax/', views.area_addareas_ajax, name="area-ajaxview"), + path('updateorder/', views.area_neworder, name="area-ajaxorder") ] diff --git a/areas/views.py b/areas/views.py index 47a209d..96880b1 100644 --- a/areas/views.py +++ b/areas/views.py @@ -6,7 +6,7 @@ from django.contrib import messages from .forms import AreaAddAreaForm from django.contrib.auth.models import User from django.http import HttpResponse, JsonResponse - +import json class AreasManagement(LoginRequiredMixin, ListView): @@ -17,7 +17,7 @@ class AreasManagement(LoginRequiredMixin, ListView): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) # # Get all Users of the Same Agency as logged user - areas_of_agency = Areas.objects.filter(agency__pk=self.request.user.profile.agency.pk) + areas_of_agency = Areas.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('areaorder') context.update({'active_link' : 'areasmanagement', 'areas_of_agency':areas_of_agency}) return context @@ -129,5 +129,30 @@ def area_addareas_ajax(request): # Counter for remaining users to show/hide "Keine Mitarbeiter"-Div remaining_users_counter = len(added_users) return JsonResponse({'userid' : userid, 'username_clean' : username_clean, 'remaining_users':possible_users_js, 'remaining_users_counter' : final_possible_users}) + else: + return HttpResponse("Request method is not a GET") + +''' + + Update the Area-Order by drag and drop. Save per ID and order in table, example: + ID ORDER + 0 --> 0 + 4 --> 1 + 2 --> 2 + 5 --> 3 + + Triggered by ajax in areas_management.html + Save all areas after drag n drop elements in table + +''' +def area_neworder(request): + if request.method == 'GET': + if request.GET['action'] == 'newareaorder': + neworderdata = json.loads(request.GET['finalod']) + for ele in neworderdata: + area = Areas.objects.get(pk=ele['id']) + area.areaorder = ele['neworder'] + area.save() + return HttpResponse("UPDATED") else: return HttpResponse("Request method is not a GET") \ No newline at end of file diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index b6d3f6da408d952a2032a99b021eaa343c22a5bd..ee5a4f75798414cea26263068eee7f68fa604863 100644 GIT binary patch delta 597 zcmXX^+g4Ih6g~S~kdPCQC8gj6ydhpIGqh65OJs_HmMv4V=4lHB7;5+AvBw63S03UU z_=w(m>&b8ErO^kpIKw^0ntSfK=h$n_G4}7!_prHXnl6RcXr(>XZM z0;kl-Rmp|Q=s>4zqgDhEL>IczgI`~* zxN1X94 z?lCT45ldKRb{`2mkUrbGf`?d@s?FDs#5x`!C3X9p#s)Ue?jGX_w$Aud5Vr9QJJ>}= zI&ANAZoP*WHI72GiB@u@NIMG&w54pX9 zEM^Xm^LeXOC>~jjpL)?LCacrtjMuZ3SxT`#lU(0OB-hf71M@_6#Q2+(V%2}19k(tN YMRz;(fTlaD+un#F)IYkv`px_6KRA!7y8r+H delta 550 zcmXYu*-}$M5Qfj33@0&i^neNq36O*>37ZQNalsW8cM+F1as9#=1Q*=3EFQs12NAD)&KnSch_|PHQzFS)Bck0#~r(h-oMiKs-ILrH9sB4BWfbD zjaYRxy4g?VD%#=#%$f?D96}1ZiN%fSv<)pi>EomS2U`z3sd1Iv^-pa6jY=n0*%6rN3L2|Z1 zo{uudCmFZr1fSWOdJ=ch$$n|hyK|~pjV!3^Hu0Qrg_Idh;~icK(srtRiWjFrr)Roum;xw)xDdHE%& t`c+~nS&4b+`SA!bz0#tb;?3Et%1n$lll$3CxEXogGYRp%V-eo9$%7Nt+fP6)eoH