rebelstuff

Keep track of your stuff
git clone https://git.ce9e.org/rebelstuff.git

commit
4be7a5334020e2114f5f5b1a8b27a9dc219f334b
parent
c5e11a52007012cd1e56deaa1ad5539260d0899f
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2019-08-22 22:35
define sample groups and users

Diffstat

M Makefile 2 ++
A rebelstuff/fixtures/sample_groups.json 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A rebelstuff/management/commands/create_sample_users.py 20 ++++++++++++++++++++

3 files changed, 107 insertions, 0 deletions


diff --git a/Makefile b/Makefile

@@ -3,4 +3,6 @@ all:
    3     3 	if [ ! -d .venv ]; then python3 -m venv .venv; fi
    4     4 	.venv/bin/pip install django
    5     5 	.venv/bin/python manage.py migrate
   -1     6 	.venv/bin/python manage.py loaddata sample_groups
   -1     7 	.venv/bin/python manage.py create_sample_users
    6     8 	.venv/bin/python manage.py runserver

diff --git a/rebelstuff/fixtures/sample_groups.json b/rebelstuff/fixtures/sample_groups.json

@@ -0,0 +1,85 @@
   -1     1 [
   -1     2 {
   -1     3     "model": "auth.group",
   -1     4     "pk": 1,
   -1     5     "fields": {
   -1     6         "name": "stuffer",
   -1     7         "permissions": [
   -1     8             [
   -1     9                 "add_stuff",
   -1    10                 "rebelstuff",
   -1    11                 "stuff"
   -1    12             ],
   -1    13             [
   -1    14                 "change_stuff",
   -1    15                 "rebelstuff",
   -1    16                 "stuff"
   -1    17             ],
   -1    18             [
   -1    19                 "delete_stuff",
   -1    20                 "rebelstuff",
   -1    21                 "stuff"
   -1    22             ],
   -1    23             [
   -1    24                 "view_stuff",
   -1    25                 "rebelstuff",
   -1    26                 "stuff"
   -1    27             ]
   -1    28         ]
   -1    29     }
   -1    30 },
   -1    31 {
   -1    32     "model": "auth.group",
   -1    33     "pk": 2,
   -1    34     "fields": {
   -1    35         "name": "booker",
   -1    36         "permissions": [
   -1    37             [
   -1    38                 "add_booking",
   -1    39                 "rebelstuff",
   -1    40                 "booking"
   -1    41             ],
   -1    42             [
   -1    43                 "change_booking",
   -1    44                 "rebelstuff",
   -1    45                 "booking"
   -1    46             ],
   -1    47             [
   -1    48                 "delete_booking",
   -1    49                 "rebelstuff",
   -1    50                 "booking"
   -1    51             ],
   -1    52             [
   -1    53                 "view_booking",
   -1    54                 "rebelstuff",
   -1    55                 "booking"
   -1    56             ],
   -1    57             [
   -1    58                 "add_bookingitem",
   -1    59                 "rebelstuff",
   -1    60                 "bookingitem"
   -1    61             ],
   -1    62             [
   -1    63                 "change_bookingitem",
   -1    64                 "rebelstuff",
   -1    65                 "bookingitem"
   -1    66             ],
   -1    67             [
   -1    68                 "delete_bookingitem",
   -1    69                 "rebelstuff",
   -1    70                 "bookingitem"
   -1    71             ],
   -1    72             [
   -1    73                 "view_bookingitem",
   -1    74                 "rebelstuff",
   -1    75                 "bookingitem"
   -1    76             ],
   -1    77             [
   -1    78                 "view_stuff",
   -1    79                 "rebelstuff",
   -1    80                 "stuff"
   -1    81             ]
   -1    82         ]
   -1    83     }
   -1    84 }
   -1    85 ]

diff --git a/rebelstuff/management/commands/create_sample_users.py b/rebelstuff/management/commands/create_sample_users.py

@@ -0,0 +1,20 @@
   -1     1 from django.contrib.auth.models import Group
   -1     2 from django.contrib.auth.models import User
   -1     3 from django.core.management.base import BaseCommand
   -1     4 
   -1     5 
   -1     6 class Command(BaseCommand):
   -1     7     def handle(self, *args, **options):
   -1     8         if not User.objects.filter(username='admin').exists():
   -1     9             User.objects.create_superuser(
   -1    10                 'admin', 'admin@example.com', 'password'
   -1    11             )
   -1    12 
   -1    13         for name in ['stuffer', 'booker']:
   -1    14             if not User.objects.filter(username=name).exists():
   -1    15                 user = User.objects.create(
   -1    16                     username=name, email=name + '@example.com', is_staff=True
   -1    17                 )
   -1    18                 user.set_password('password')
   -1    19                 user.groups.set(Group.objects.filter(name=name))
   -1    20                 user.save()