X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fadmin.py;h=6e7bbb65d2ef5cfdd4e5b3b8520a2f79803d1a3a;hb=307e06f319d3208f84867f6efe77eb6d4556af1f;hp=0329cd6bd85807e4c4fef13270c591c29b38384c;hpb=8737e5fc28ec06bc0be1bab89aec5cd25fe6edfd;p=plstackapi.git diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py index 0329cd6..6e7bbb6 100644 --- a/planetstack/core/admin.py +++ b/planetstack/core/admin.py @@ -9,7 +9,8 @@ from django.utils.safestring import mark_safe from django.contrib.auth.admin import UserAdmin from django.contrib.admin.widgets import FilteredSelectMultiple from django.contrib.auth.forms import ReadOnlyPasswordHashField -from django.contrib.auth.signals import user_logged_in +from django.contrib.auth.signals import user_logged_in +from django.utils import timezone class ReadonlyTabularInline(admin.TabularInline): @@ -64,6 +65,10 @@ class SliceMembershipInline(admin.TabularInline): model = SliceMembership extra = 0 +class SliceTagInline(admin.TabularInline): + model = SliceTag + extra = 0 + class PlainTextWidget(forms.HiddenInput): input_type = 'hidden' @@ -227,7 +232,7 @@ class KeyAdmin(OSModelAdmin): class SliceAdmin(OSModelAdmin): fields = ['name', 'site', 'serviceClass', 'description', 'slice_url'] list_display = ('name', 'site','serviceClass', 'slice_url') - inlines = [SliverInline, SliceMembershipInline] + inlines = [SliverInline, SliceMembershipInline, SliceTagInline] def queryset(self, request): # admins can see all keys. Users can only see slices they belong to. @@ -424,7 +429,7 @@ class UserAdmin(UserAdmin, OSModelAdmin): list_filter = ('site',) inlines = [SitePrivilegeInline, SliceMembershipInline] fieldsets = ( - (None, {'fields': ('email', 'password', 'site', 'is_admin')}), + (None, {'fields': ('email', 'password', 'site', 'is_admin', 'timezone')}), ('Personal info', {'fields': ('firstname','lastname','phone', 'key')}), #('Important dates', {'fields': ('last_login',)}), ) @@ -520,6 +525,7 @@ class ReservationAdmin(admin.ModelAdmin): form = ReservationAddForm def add_view(self, request, form_url='', extra_context=None): + timezone.activate(request.user.timezone) request._refresh = False request._slice = None if request.method == 'POST': @@ -538,6 +544,10 @@ class ReservationAdmin(admin.ModelAdmin): result = super(ReservationAdmin, self).add_view(request, form_url, extra_context) return result + def changelist_view(self, request, extra_context = None): + timezone.activate(request.user.timezone) + return super(ReservationAdmin, self).changelist_view(request, extra_context) + def get_form(self, request, obj=None, **kwargs): request._obj_ = obj if obj is not None: