Rechte-Gruppen-System fertig
This commit is contained in:
parent
77a604f5be
commit
8fc7455cff
Binary file not shown.
Binary file not shown.
|
|
@ -32,7 +32,7 @@ ALLOWED_HOSTS = ['digitale-agentur.com', 'www.digitale-agentur.com', 'localhost'
|
||||||
# Application definition
|
# Application definition
|
||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
'users.apps.UsersConfig',
|
'users.apps.UsersConfig',
|
||||||
'settings.apps.SettingsConfig',
|
'dasettings.apps.DASettingsConfig',
|
||||||
'areas.apps.AreasConfig',
|
'areas.apps.AreasConfig',
|
||||||
'orga.apps.OrgaConfig',
|
'orga.apps.OrgaConfig',
|
||||||
'cloud.apps.CloudConfig',
|
'cloud.apps.CloudConfig',
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ urlpatterns = [
|
||||||
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
|
path('login/', auth_views.LoginView.as_view(template_name='users/login.html'), name='login'),
|
||||||
path('', include('users.urls'), name="dashboard-first"),
|
path('', include('users.urls'), name="dashboard-first"),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('settings/', include('settings.urls'), name="settings"),
|
path('dasettings/', include('dasettings.urls'), name="dasettings"),
|
||||||
path('dashboard/', include('users.urls'), name="dashboard"),
|
path('dashboard/', include('users.urls'), name="dashboard"),
|
||||||
path('areas/', include('areas.urls'), name="areas-management"),
|
path('areas/', include('areas.urls'), name="areas-management"),
|
||||||
path('tasks/', include('tasks.urls'), name="tasks-management"),
|
path('tasks/', include('tasks.urls'), name="tasks-management"),
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1,5 +1,6 @@
|
||||||
from django import template
|
from django import template
|
||||||
|
from django.contrib.auth.models import Group
|
||||||
|
from users.models import AgencyGroup
|
||||||
register = template.Library()
|
register = template.Library()
|
||||||
|
|
||||||
b = 0
|
b = 0
|
||||||
|
|
@ -22,6 +23,28 @@ def incvar():
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
|
@register.filter(name='has_group')
|
||||||
|
def has_group(user, group_name):
|
||||||
|
group = Group.objects.get(name=group_name)
|
||||||
|
return True if group in user.groups.all() else False
|
||||||
|
|
||||||
|
# usergperm
|
||||||
|
'''
|
||||||
|
|
||||||
|
Gibt TRUE zurück, wenn der User über eine Gruppe das gewünschte Recht hat.
|
||||||
|
Gibt FALSE zurück, wenn der User über eine Gruppe das gewünschte Recht NICHT hat.
|
||||||
|
|
||||||
|
@param:
|
||||||
|
user - einglogger Nutzer
|
||||||
|
perm - recht
|
||||||
|
|
||||||
|
'''
|
||||||
|
@register.filter(name="usergperm")
|
||||||
|
def usergperm(user, perm):
|
||||||
|
stat = False
|
||||||
|
if user.has_perm('users.'+perm):
|
||||||
|
stat = True
|
||||||
|
return stat
|
||||||
'''
|
'''
|
||||||
class Counter:
|
class Counter:
|
||||||
count = 0
|
count = 0
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -184,12 +184,13 @@ class AgencyGroup(models.Model):
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
||||||
permissions = [
|
permissions = [
|
||||||
('agency', 'Agenturinformationen verändern'),
|
('agencyinfo', 'Agenturinformationen verändern'),
|
||||||
('users', 'Benutzer bearbeiten'),
|
('usermanager', 'Benutzer bearbeiten'),
|
||||||
('group', 'Gruppen bearbeiten'),
|
('groupmanager', 'Gruppen bearbeiten'),
|
||||||
('areas', 'Bereiche bearbeiten'),
|
('areaconfig', 'Bereiche bearbeiten'),
|
||||||
('tasks', 'Tätigkeiten bearbeiten'),
|
('activityconfig', 'Tätigkeiten bearbeiten'),
|
||||||
('standard', 'Standards bearbeiten und freischalten'),
|
('standardmanager', 'Standards bearbeiten und freischalten'),
|
||||||
('news', 'News bearbeiten und veröffentlichen'),
|
('modulenews', 'News bearbeiten und veröffentlichen'),
|
||||||
('quciklinks', 'Quicklinks bearbeiten und erstellen')
|
('modulesconfig', 'Module verwalten'),
|
||||||
|
('modulequicklinks', 'Quicklinks bearbeiten und erstellen')
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -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.contrib.auth.models import User, Group
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from .models import Profile, Agency, AgencyGroup
|
from .models import Profile, Agency, AgencyGroup
|
||||||
from django.contrib.auth.models import Permission
|
from django.contrib.auth.models import Permission
|
||||||
|
|
||||||
# SIGNALS FOR USER
|
# SIGNALS FOR USER
|
||||||
@receiver(post_save, sender=User)
|
@receiver(post_save, sender=User)
|
||||||
def create_profile(sender, instance, created, **kwargs):
|
def create_profile(sender, instance, created, **kwargs):
|
||||||
|
|
@ -29,15 +28,17 @@ def save_profile(sender, instance, **kwargs):
|
||||||
|
|
||||||
|
|
||||||
# SIGNALS FOR GROUPS
|
# 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)
|
@receiver(signal=m2m_changed, sender=User.groups.through)
|
||||||
def save_group(sender, instance, **kwargs):
|
def adjust_group_notifications(instance, action, reverse, model, pk_set, using, *args, **kwargs):
|
||||||
print("GROUP SAVED SIGNAL")
|
# USERGROUP IS CHANGED
|
||||||
#instance.group.save()
|
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)
|
||||||
|
|
||||||
|
|
@ -46,6 +46,9 @@
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
{% if perms.users.agencyinfo %}
|
||||||
|
<script type="text/javascript">alert(0);</script>
|
||||||
|
{% endif %}
|
||||||
<!-- Page Wrapper -->
|
<!-- Page Wrapper -->
|
||||||
<div id="wrapper">
|
<div id="wrapper">
|
||||||
<!-- Sidebar -->
|
<!-- Sidebar -->
|
||||||
|
|
@ -214,12 +217,12 @@
|
||||||
</style>
|
</style>
|
||||||
<div id="bottom_info">
|
<div id="bottom_info">
|
||||||
<hr class="sidebar-divider d-none d-md-block">
|
<hr class="sidebar-divider d-none d-md-block">
|
||||||
{% if active_link == 'settings' %}
|
{% if active_link == 'dasettings' %}
|
||||||
<li class="nav-item active">
|
<li class="nav-item active">
|
||||||
{% else%}
|
{% else%}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
{%endif%}
|
{%endif%}
|
||||||
<a class="nav-link " href="{% url 'settings' %}" aria-expanded="true" style="margin-top: -15px">
|
<a class="nav-link " href="{% url 'dasettings' %}" aria-expanded="true" style="margin-top: -15px">
|
||||||
<i class="fas fa-cog"></i>
|
<i class="fas fa-cog"></i>
|
||||||
<span>Einstellungen</span>
|
<span>Einstellungen</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue