Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.
djangodockerhandcodedpythonself-hostedtime-trackingtimetracker
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)