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

1.2 KB · 52 lines · Python Raw History
 1from django.contrib import admin
 2from django.contrib.sites.models import Site
 3from django.contrib.sites.admin import SiteAdmin as BaseSiteAdmin
 4from django.contrib.auth.admin import UserAdmin
 5from django.contrib.auth.models import User
 6
 7from .models import Conf, SitePermission
 8
 9
10class ConfInline(admin.StackedInline):
11    model = Conf
12    can_delete = False
13    fieldsets = (
14        ("Internationalization", {"fields": ("i18n_language_code", "i18n_timezone")}),
15        (
16            "Email Settings",
17            {
18                "fields": (
19                    "smtp_from_address",
20                    "smtp_host",
21                    "smtp_user",
22                    "smtp_password",
23                    "smtp_port",
24                    "smtp_tls",
25                )
26            },
27        ),
28    )
29
30
31class SiteAdmin(BaseSiteAdmin):
32    inlines = [ConfInline]
33
34
35admin.site.unregister(Site)
36admin.site.register(Site, SiteAdmin)
37
38
39class SitePermissionInline(admin.StackedInline):
40    model = SitePermission
41    max_num = 1
42    can_delete = False
43
44
45class SitePermissionUserAdmin(UserAdmin):
46    UserAdmin.list_filter += ("sitepermission__sites",)
47    inlines = [SitePermissionInline]
48
49
50admin.site.unregister(User)
51admin.site.register(User, SitePermissionUserAdmin)