add users app

This commit is contained in:
Andreas Zweili 2020-01-09 22:00:05 +01:00
parent b1e160ff3b
commit 7226d84b34
8 changed files with 71 additions and 0 deletions

0
users/__init__.py Normal file
View File

3
users/admin.py Normal file
View File

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

5
users/apps.py Normal file
View File

@ -0,0 +1,5 @@
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'users'

View File

0
users/models/__init__.py Normal file
View File

26
users/models/groups.py Normal file
View File

@ -0,0 +1,26 @@
from django.db import models
from customer.models import Customer
class Group(models.Model):
name = models.CharField(max_length=50)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
class Meta:
abstract = True
def __str__(self):
return self.name
class AdGroup(Group):
class Meta:
verbose_name_plural = "AD Groups"
class MailGroup(Group):
mail_address = models.EmailField()
class Meta:
verbose_name_plural = "Mail Groups"

34
users/models/user.py Normal file
View File

@ -0,0 +1,34 @@
from django.db import models
from customer.models import Customer
from .groups import AdGroup, MailGroup
class User(models.Model):
name = models.CharField(max_length=50)
first_name = models.CharField(max_length=50)
ad_login = models.CharField(max_length=50, blank=True)
ad_pw = models.CharField(max_length=50, blank=True)
primary_mail = models.CharField(max_length=50, blank=True)
mail_pw = models.CharField(max_length=50, blank=True)
enabled = models.BooleanField()
description = models.TextField(blank=True)
customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
ad_groups = models.ManyToManyField(AdGroup, through='UserInAdGroup')
mail_groups = models.ManyToManyField(MailGroup, through='UserInMailGroup')
def __str__(self):
return self.name + " " + self.first_name
def get_absolute_url(self):
from django.urls import reverse
return reverse('user', args=[str(self.id)])
class UserInAdGroup(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
group = models.ForeignKey(AdGroup, on_delete=models.CASCADE)
class UserInMailGroup(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
group = models.ForeignKey(MailGroup, on_delete=models.CASCADE)

3
users/views.py Normal file
View File

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.