core: populate: add much more data for development

This commit is contained in:
Skia 2023-01-11 01:29:52 +01:00
parent a77176e502
commit 3bb871a242
11 changed files with 170 additions and 21 deletions

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1,7 +1,7 @@
# -*- coding:utf-8 -* # -*- coding:utf-8 -*
# #
# Copyright 2016,2017 # Copyright 2016,2017,2023
# - Skia <skia@libskia.so> # - Skia <skia@hya.sk>
# #
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM, # Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
# http://ae.utbm.fr. # http://ae.utbm.fr.
@ -25,6 +25,7 @@
import os import os
from datetime import date, datetime, timedelta from datetime import date, datetime, timedelta
from io import StringIO, BytesIO from io import StringIO, BytesIO
from pathlib import Path
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.core.management.base import BaseCommand from django.core.management.base import BaseCommand
@ -54,6 +55,7 @@ from com.models import Sith, Weekmail, News, NewsDate
from election.models import Election, Role, Candidature, ElectionList from election.models import Election, Role, Candidature, ElectionList
from forum.models import Forum, ForumTopic from forum.models import Forum, ForumTopic
from pedagogy.models import UV from pedagogy.models import UV
from sas.models import Album, Picture, PeoplePictureRelation
class Command(BaseCommand): class Command(BaseCommand):
@ -71,9 +73,7 @@ class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
os.environ["DJANGO_COLORS"] = "nocolor" os.environ["DJANGO_COLORS"] = "nocolor"
Site(id=4000, domain=settings.SITH_URL, name=settings.SITH_NAME).save() Site(id=4000, domain=settings.SITH_URL, name=settings.SITH_NAME).save()
root_path = os.path.dirname( root_path = Path(__file__).parent.parent.parent.parent
os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
)
root_group, _ = Group.objects.get_or_create(name="Root") root_group, _ = Group.objects.get_or_create(name="Root")
Group(name="Public").save() Group(name="Public").save()
Group(name="Subscribers").save() Group(name="Subscribers").save()
@ -84,7 +84,7 @@ class Command(BaseCommand):
Group(name="Banned from buying alcohol").save() Group(name="Banned from buying alcohol").save()
Group(name="Banned from counters").save() Group(name="Banned from counters").save()
Group(name="Banned to subscribe").save() Group(name="Banned to subscribe").save()
Group(name="SAS admin").save() sas_admin, _ = Group.objects.get_or_create(name="SAS admin")
Group(name="Forum admin").save() Group(name="Forum admin").save()
Group(name="Pedagogy admin").save() Group(name="Pedagogy admin").save()
self.reset_index("core", "auth") self.reset_index("core", "auth")
@ -119,7 +119,8 @@ class Command(BaseCommand):
club_root = SithFile(parent=None, name="clubs", is_folder=True, owner=root) club_root = SithFile(parent=None, name="clubs", is_folder=True, owner=root)
club_root.save() club_root.save()
SithFile(parent=None, name="SAS", is_folder=True, owner=root).save() sas = SithFile(parent=None, name="SAS", is_folder=True, owner=root)
sas.save()
main_club = Club( main_club = Club(
id=1, id=1,
name=settings.SITH_MAIN_CLUB["name"], name=settings.SITH_MAIN_CLUB["name"],
@ -223,7 +224,15 @@ Welcome to the wiki page!
Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id
] ]
skia.save() skia.save()
skia_profile_path = os.path.join(root_path, "core/fixtures/images/3.jpg") skia_profile_path = (
root_path
/ "core"
/ "fixtures"
/ "images"
/ "sas"
/ "Family"
/ "skia.jpg"
)
with open(skia_profile_path, "rb") as f: with open(skia_profile_path, "rb") as f:
name = str(skia.id) + "_profile.jpg" name = str(skia.id) + "_profile.jpg"
skia_profile = SithFile( skia_profile = SithFile(
@ -233,7 +242,7 @@ Welcome to the wiki page!
owner=skia, owner=skia,
is_folder=False, is_folder=False,
mime_type="image/jpeg", mime_type="image/jpeg",
size=os.path.getsize(skia_profile_path), size=skia_profile_path.stat().st_size,
) )
skia_profile.file.name = name skia_profile.file.name = name
skia_profile.save() skia_profile.save()
@ -351,23 +360,48 @@ Welcome to the wiki page!
] ]
u.save() u.save()
# Adding user Richard Batsbak # Adding user Richard Batsbak
r = User( richard = User(
username="rbatsbak", username="rbatsbak",
last_name="Batsbak", last_name="Batsbak",
first_name="Richard", first_name="Richard",
email="richard@git.an", email="richard@git.an",
date_of_birth="1982-06-12", date_of_birth="1982-06-12",
) )
r.set_password("plop") richard.set_password("plop")
r.save() richard.save()
r.view_groups = [ richard.godfathers.add(comptable)
richard_profile_path = (
root_path
/ "core"
/ "fixtures"
/ "images"
/ "sas"
/ "Family"
/ "richard.jpg"
)
with open(richard_profile_path, "rb") as f:
name = f"{richard.id}_profile.jpg"
richard_profile = SithFile(
parent=profiles_root,
name=name,
file=resize_image(Image.open(BytesIO(f.read())), 400, "JPEG"),
owner=richard,
is_folder=False,
mime_type="image/jpeg",
size=richard_profile_path.stat().st_size,
)
richard_profile.file.name = name
richard_profile.save()
richard.profile_pict = richard_profile
richard.save()
richard.view_groups = [
Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id
] ]
r.save() richard.save()
# Adding syntax help page # Adding syntax help page
p = Page(name="Aide_sur_la_syntaxe") p = Page(name="Aide_sur_la_syntaxe")
p.save(force_lock=True) p.save(force_lock=True)
with open(os.path.join(root_path) + "/doc/SYNTAX.md", "r") as rm: with open(root_path / "doc" / "SYNTAX.md", "r") as rm:
PageRev( PageRev(
page=p, title="Aide sur la syntaxe", author=skia, content=rm.read() page=p, title="Aide sur la syntaxe", author=skia, content=rm.read()
).save() ).save()
@ -442,7 +476,7 @@ Welcome to the wiki page!
s.save() s.save()
# Richard # Richard
s = Subscription( s = Subscription(
member=User.objects.filter(pk=r.pk).first(), member=User.objects.filter(pk=richard.pk).first(),
subscription_type=default_subscription, subscription_type=default_subscription,
payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0][0], payment_method=settings.SITH_SUBSCRIPTION_PAYMENT_METHOD[0][0],
) )
@ -514,7 +548,7 @@ Welcome to the wiki page!
subscribers = Group.objects.get(name="Subscribers") subscribers = Group.objects.get(name="Subscribers")
old_subscribers = Group.objects.get(name="Old subscribers") old_subscribers = Group.objects.get(name="Old subscribers")
Customer(user=skia, account_id="6568j", amount=0).save() Customer(user=skia, account_id="6568j", amount=0).save()
Customer(user=r, account_id="4000k", amount=0).save() Customer(user=richard, account_id="4000k", amount=0).save()
p = ProductType(name="Bières bouteilles") p = ProductType(name="Bières bouteilles")
p.save() p.save()
c = ProductType(name="Cotisations") c = ProductType(name="Cotisations")
@ -825,7 +859,15 @@ Welcome to the wiki page!
Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id Group.objects.filter(name=settings.SITH_MAIN_MEMBERS_GROUP).first().id
] ]
sli.save() sli.save()
sli_profile_path = os.path.join(root_path, "core/fixtures/images/5.jpg") sli_profile_path = (
root_path
/ "core"
/ "fixtures"
/ "images"
/ "sas"
/ "Family"
/ "sli.jpg"
)
with open(sli_profile_path, "rb") as f: with open(sli_profile_path, "rb") as f:
name = str(sli.id) + "_profile.jpg" name = str(sli.id) + "_profile.jpg"
sli_profile = SithFile( sli_profile = SithFile(
@ -835,7 +877,7 @@ Welcome to the wiki page!
owner=sli, owner=sli,
is_folder=False, is_folder=False,
mime_type="image/jpeg", mime_type="image/jpeg",
size=os.path.getsize(sli_profile_path), size=sli_profile_path.stat().st_size,
) )
sli_profile.file.name = name sli_profile.file.name = name
sli_profile.save() sli_profile.save()
@ -851,7 +893,15 @@ Welcome to the wiki page!
) )
krophil.set_password("plop") krophil.set_password("plop")
krophil.save() krophil.save()
krophil_profile_path = os.path.join(root_path, "core/fixtures/images/6.jpg") krophil_profile_path = (
root_path
/ "core"
/ "fixtures"
/ "images"
/ "sas"
/ "Family"
/ "krophil.jpg"
)
with open(krophil_profile_path, "rb") as f: with open(krophil_profile_path, "rb") as f:
name = str(krophil.id) + "_profile.jpg" name = str(krophil.id) + "_profile.jpg"
krophil_profile = SithFile( krophil_profile = SithFile(
@ -861,7 +911,7 @@ Welcome to the wiki page!
owner=krophil, owner=krophil,
is_folder=False, is_folder=False,
mime_type="image/jpeg", mime_type="image/jpeg",
size=os.path.getsize(krophil_profile_path), size=krophil_profile_path.stat().st_size,
) )
krophil_profile.file.name = name krophil_profile.file.name = name
krophil_profile.save() krophil_profile.save()
@ -1164,3 +1214,102 @@ Welcome to the wiki page!
hours_THE=121, hours_THE=121,
hours_TE=4, hours_TE=4,
).save() ).save()
# SAS
skia.groups.add(sas_admin.id)
sas_fixtures_path = root_path / "core" / "fixtures" / "images" / "sas"
for f in sas_fixtures_path.glob("*"):
if f.is_dir():
album = Album(
parent=sas,
name=f.name,
owner=root,
is_folder=True,
is_in_sas=True,
is_moderated=True,
)
album.clean()
album.save()
for p in f.iterdir():
pict = Picture(
parent=album,
name=p.name,
file=resize_image(
Image.open(BytesIO(p.read_bytes())), 1000, "JPEG"
),
owner=root,
is_folder=False,
is_in_sas=True,
is_moderated=True,
mime_type="image/jpeg",
size=p.stat().st_size,
)
pict.file.name = p.name
pict.clean()
pict.generate_thumbnails()
pict.save()
p = Picture.objects.get(name="skia.jpg")
PeoplePictureRelation(user=skia, picture=p).save()
p = Picture.objects.get(name="sli.jpg")
PeoplePictureRelation(user=sli, picture=p).save()
p = Picture.objects.get(name="krophil.jpg")
PeoplePictureRelation(user=kropphil, picture=p).save()
p = Picture.objects.get(name="skia_sli.jpg")
PeoplePictureRelation(user=skia, picture=p).save()
PeoplePictureRelation(user=sli, picture=p).save()
p = Picture.objects.get(name="skia_sli_krophil.jpg")
PeoplePictureRelation(user=skia, picture=p).save()
PeoplePictureRelation(user=sli, picture=p).save()
PeoplePictureRelation(user=krophil, picture=p).save()
p = Picture.objects.get(name="richard.jpg")
PeoplePictureRelation(user=richard, picture=p).save()
with open(skia_profile_path, "rb") as f:
name = str(skia.id) + "_profile.jpg"
skia_profile = SithFile(
parent=profiles_root,
name=name,
file=resize_image(Image.open(BytesIO(f.read())), 400, "JPEG"),
owner=skia,
is_folder=False,
mime_type="image/jpeg",
size=skia_profile_path.stat().st_size,
)
skia_profile.file.name = name
skia_profile.save()
skia.profile_pict = skia_profile
skia.save()
# Create some additional data for galaxy to work with
sli.godfathers.add(skia)
Membership(
user=sli,
club=troll,
role=9,
description="Padawan Troll",
start_date=timezone.now() - timedelta(days=17),
).save()
Membership(
user=krophil,
club=troll,
role=10,
description="Maitre Troll",
start_date=timezone.now() - timedelta(days=200),
).save()
Membership(
user=skia,
club=troll,
role=2,
description="Grand Ancien Troll",
start_date=timezone.now() - timedelta(days=400),
end_date=timezone.now() - timedelta(days=86),
).save()
Membership(
user=richard,
club=troll,
role=2,
description="",
start_date=timezone.now() - timedelta(days=200),
end_date=timezone.now() - timedelta(days=100),
).save()