repos
/ timestrap-django master

timestrap-django

mirror archived upstream

Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.

djangodockerhandcodedpythonself-hostedtime-trackingtimetracker

996 B · 27 lines · Python Raw History
 1from django.contrib.auth.models import User
 2from django.core.management.commands import migrate
 3
 4from conf.models import Conf, Site, SitePermission
 5
 6
 7class Command(migrate.Command):
 8    help = "Creates an initial Site and User (admin/admin) for Timestrap."
 9
10    def handle(self, *args, **kwargs):
11        super().handle(*args, **kwargs)
12
13        default_site = Site.objects.get(id=1)
14        Conf.objects.get_or_create(site=default_site)
15        if default_site.domain == "example.com":
16            default_site.name = "Timestrap"
17            default_site.save()
18
19        superusers = User.objects.filter(is_superuser=True)
20        if len(superusers) == 0:
21            default_superuser = User.objects.create_superuser(
22                username="admin", password="admin", email="[email protected]"
23            )
24            site_permission = SitePermission.objects.create(user=default_superuser)
25            site_permission.sites.set(Site.objects.filter(id=1))
26            site_permission.save()