From 8fc7455cff24a4b4d54bcdc276e0c8519bce5dc8 Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Sat, 8 Feb 2020 23:42:55 +0100 Subject: [PATCH] Rechte-Gruppen-System fertig --- .../__pycache__/settings.cpython-38.pyc | Bin 4670 -> 4674 bytes .../__pycache__/urls.cpython-38.pyc | Bin 2146 -> 2157 bytes digitaleagentur/settings.py | 2 +- digitaleagentur/urls.py | 2 +- .../__pycache__/counter_tag.cpython-38.pyc | Bin 626 -> 1133 bytes standards/templatetags/counter_tag.py | 25 +++++++++++++++- users/__pycache__/models.cpython-38.pyc | Bin 4663 -> 4757 bytes users/__pycache__/signals.cpython-38.pyc | Bin 1148 -> 1718 bytes users/models.py | 17 +++++------ users/signals.py | 27 +++++++++--------- users/templates/users/base.html | 7 +++-- 11 files changed, 54 insertions(+), 26 deletions(-) diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index 9cf97d1a9e0e8c24b14d0de049f16b5c1636ce0c..77c9ca1273eb7c237caf921ce12b26e06cf2c328 100644 GIT binary patch delta 47 zcmdm|a!7?Yl$V!_0SI_4?BgzO`b6yM@P2y7N) Oe#68VwfP@w3KIaU=NexC delta 65 zcmaDW@JN6+l$V!_0SKO`o5xvisX>mSKLw M#CU5nCtC^=0Ena$|gSgQ~3#;m~jG%TH$CW^Nq(dpU1PugF!-IJ=uNv;TI?5CxXqz0K5V*KR`($ zX-O(NqZI9+3@SEb-ex7Q!dXa(qLwnl){0l|BJ5S)9AbD0?O}QZUeSLKvsI z2mcv@&GnBihFJns=~PExdv+TNAJIj*&pQO$1fU4heb9HZ;+}5;?pkQUQ*1;4+1d04 zOX?8S|LYWW2K?_q(3*ctHCA=qPr{t!_z=)eUW-a)o(SyWVr%im9|N#tPUpdrN_s)R z2FqYc=IoMRkbqD>4Dd6i-IF)|-{IIOv xG5T1P7>7;L$ZUfxeiz!$Tl^f#w5581Gh-ft>Qns10SEp`2*N?4geD`9@DEvs?!^EA delta 361 zcmZ{gu};G<5QcrW<2X@MqzcrfFOZ=tQ^kZBSr8J6sHnwRQLCgyPT&RL1*$v%@LE}b zk%5JYv1hY%siiyJ=ktH}%Rl;84zIH;Wpr-U-@M@4;beY6gbbl#H535M!W(~Qg+OMc z6{`q2iWl|_g$g7w3KR!Y7zfg*uUMXZ`_Vb{y0!H~Wm>!am_gi4U~v>vr;)xdB)Fve zg5&NLPNx3K`Q~2IguNfVfy`@_asNofOV=&M4*-u3!dD?kWMt z^whlMO827t(gHo-)RII^rYNpNuvlhZTK?p_d}{Sk+@-~-MY)N2K=Gm~VW-r*(vqsw zB88;X#G<6s%#zeRpeCMlkP$FNLhePS1qG>jsA{+pi&7Jl^YhX&(?P}*rDi5)q@pU} zOH3}wEXypZgeWT&XJF7~2syl@Br`o5Y!#|<{^F9vyp+VE6sX0MyZJRaqPTMNQ%ZAE zCvW37(Bp-$i=oyE_=2Sr%2JEU6LTO=7l0@!EX_=w{F*;gN(2~I9L!9NXz+Vc$mARW aP4-)?V6RS|C1ArCGI>3l#OC(`9*h8=EqbB= delta 224 zcmbQLx?P1gl$V!_0SNZLwv9{Q$lJlk#R23w0CBOxja zdC8UTMfs%#dcLV8iJDABAeED!@u{iaVl6FBEh?@Oc1q1FEvZT^QbLaYR>0UO51$?Mr9Hv0;CFaiJz CH$Nc& diff --git a/users/__pycache__/signals.cpython-38.pyc b/users/__pycache__/signals.cpython-38.pyc index 183ce7c847e7693ded8857e8a0612f3777a74232..32d517ab01f99be6cf8cd742f8d3ee473743bce9 100644 GIT binary patch delta 1035 zcmY*YJ8u&~5Wd}e`g~_Q5U@Z&98r*PLxE^OJcN`$MI0rB;tH(ec4Ob=UfNv;5gEA% zZHma$`~^fqM~nCkThQ|#D41Q$Yo+BS!GEn*j~(vSVJ9kH{8BGLbUB&JxuooM6 zfP%#~zJbEUE4+iE#aFzC+{K!C1+6dcnh)k{Dy_*v#lNE9s)FbbT!WnqcydHX4XY2b zf?fg-#{dRq8-N2W9iEM=q|jMXM}?M4HNXTLf^h*LjF}4H)Cy3xn1~I|gnjvBxVzwh(V$WK+*EfjMH)dYm>O-ZGQANOTfzbfNTQVT_mq83D zufGkIv&XESHp@D)3m`_en|aN}h|#h>qQ~L>-qvokyY+PVd}}j04x-1q!>7@c-QoUD zB)vv46GD#Ln)YaOQ<41W*>Fi2_|ngKR&kM3DP^h*tgYaj0#!9;14ygLxR7?kvP#Ig ze~>XqtU4;Y$(UB@Ypqka*w-zQPLhhOuB6N85oMf8yM!Sqq|+RZIE7qOxOOb9gpIlG zUmWTjBT-M&2_>x`Mbt8{JFz)~urjI)4BKFW_ zFm@X}+k^9q&*lbZ*5aEP&DGoVqh*)mFuV0llJO=H>4doul8)BQ_0Tdk7r%-VsNK2( zHA~XbBDi$L1iCez=$rmg94V%rN$(ycoEG$f`Z4%wA8-}*P=HoZfPLhzfH@uX6XO{5 ATmS$7 delta 505 zcmYk3yH3L}6ozx0`?aO27`U|vkjTQ01l%7F3!@Cq!< zJcr+a39&P9oB?6UpM8G+w$HKO;~y_MisQh*w)?Vu{9!*Q3-`AeF@r&22%sPcC7@$c zn8Ko#u&Ld~X5k2zx;VF(U3kK$z6fX_LK?Q~4*DY+fx%r4++yw%VIK1zjR&CdKP_Nk zt0gQtG}8EUQD>79BG2;cV`PplzVMykz_`6Fluo4<+T6 zCl@@gE9K;pXEm3Jc6T(aW{;#0HaBD)qUMzxz@YgihXcK@>LUzd!K~eb2t2TmJxGXL zZgO+9GmopODI*-@g2s}@;15HbsYs_gp33rcQt&xcDuOVGTtV)qokrQKjp;1jSr|(j zp*rj$yF4p5*rb|fb$%`#tvUj$Dyp_3>1(t8BpGTfYv=?2-QMOgL``{Hxb>>wBmF*A S57C7#mePmF3?P`nZvO%bN@ZvO diff --git a/users/models.py b/users/models.py index e36997b..a0dc16c 100644 --- a/users/models.py +++ b/users/models.py @@ -184,12 +184,13 @@ class AgencyGroup(models.Model): class Meta: permissions = [ - ('agency', 'Agenturinformationen verändern'), - ('users', 'Benutzer bearbeiten'), - ('group', 'Gruppen bearbeiten'), - ('areas', 'Bereiche bearbeiten'), - ('tasks', 'Tätigkeiten bearbeiten'), - ('standard', 'Standards bearbeiten und freischalten'), - ('news', 'News bearbeiten und veröffentlichen'), - ('quciklinks', 'Quicklinks bearbeiten und erstellen') + ('agencyinfo', 'Agenturinformationen verändern'), + ('usermanager', 'Benutzer bearbeiten'), + ('groupmanager', 'Gruppen bearbeiten'), + ('areaconfig', 'Bereiche bearbeiten'), + ('activityconfig', 'Tätigkeiten bearbeiten'), + ('standardmanager', 'Standards bearbeiten und freischalten'), + ('modulenews', 'News bearbeiten und veröffentlichen'), + ('modulesconfig', 'Module verwalten'), + ('modulequicklinks', 'Quicklinks bearbeiten und erstellen') ] diff --git a/users/signals.py b/users/signals.py index daabba0..ec19d32 100644 --- a/users/signals.py +++ b/users/signals.py @@ -1,9 +1,8 @@ -from django.db.models.signals import post_save, pre_delete +from django.db.models.signals import post_save, pre_delete, m2m_changed from django.contrib.auth.models import User, Group from django.dispatch import receiver from .models import Profile, Agency, AgencyGroup from django.contrib.auth.models import Permission - # SIGNALS FOR USER @receiver(post_save, sender=User) def create_profile(sender, instance, created, **kwargs): @@ -29,15 +28,17 @@ def save_profile(sender, instance, **kwargs): # SIGNALS FOR GROUPS -''' -@receiver(post_save, sender=Group) -def create_group(sender, instance, created, **kwargs): - print("NEW GROUP SIGNAL") - if created: - AgencyGroup.objects.create(group=instance, agency=instance.agency) -@receiver(post_save, sender=Group) -def save_group(sender, instance, **kwargs): - print("GROUP SAVED SIGNAL") - #instance.group.save() -''' \ No newline at end of file +@receiver(signal=m2m_changed, sender=User.groups.through) +def adjust_group_notifications(instance, action, reverse, model, pk_set, using, *args, **kwargs): + # USERGROUP IS CHANGED + if isinstance(instance, Group): + group_touched = AgencyGroup.objects.get(group=instance) + user_touched = User.objects.get(pk=list(pk_set)[0]) + # A USER WAS REMOVED FROM A GROUP + if(action == 'post_remove'): + print("USER REMOVED " + user_touched.first_name + " FROM GROUP " + group_touched.agencygroupname) + # A USER WAS ADDED TO A GROUP + elif(action == 'post_add'): + print("USER ADDED " + user_touched.first_name + " TO GROUP " + group_touched.agencygroupname) + \ No newline at end of file diff --git a/users/templates/users/base.html b/users/templates/users/base.html index 464c87f..61b2e2d 100644 --- a/users/templates/users/base.html +++ b/users/templates/users/base.html @@ -46,6 +46,9 @@ + {% if perms.users.agencyinfo %} + + {% endif %}
@@ -214,12 +217,12 @@
- {% if active_link == 'settings' %} + {% if active_link == 'dasettings' %}