from django.contrib import admin from leaflet.admin import LeafletGeoAdmin from leaflet.admin import LeafletGeoAdminMixin from leaflet_admin_list.admin import LeafletAdminListMixin from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser, GifuAreas, UserTracks, ShapeFileLocations, templocation from django.contrib.auth.admin import UserAdmin class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin): list_display=['title', 'venue', 'at_date',] class ShopAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin): list_display=['name',] class EventRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin): list_display=['name',] class ShopRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin): list_display=['name',] class UserAdminConfig(UserAdmin): search_fields = ('email',) list_filter = ('email',) ordering = ('email',) list_display = ('email', 'is_active', 'is_staff',) fieldsets = ( (None, {'fields':('email',)}), ('Permissions', {'fields':('is_staff', 'is_active',)}), ) add_fieldsets = ( (None, {'classes':('wide',), 'fields':('email','password1', 'password2')}), ) class LocationAdmin(LeafletGeoAdmin): search_fields = ('location_id', 'cp', 'location_name', 'category', 'event_name','group',) list_filter = ('category', 'event_name', 'group',) ordering = ('location_id', 'cp',) list_display = ('location_id','cp', 'location_name', 'category', 'group', 'event_name', 'event_active', 'auto_checkin', 'checkin_radius', 'checkin_point', 'buy_point',) def tranfer_to_location(modeladmin, request, queryset): tmp_locs = templocation.objects.all(); for l in tmp_locs : found = Location.objects.filter(location_id = l.location_id).exists() if found: Location.objects.filter(location_id = l.location_id).update( sub_loc_id = l.sub_loc_id, cp = l.cp, location_name = l.location_name, category = l.category, subcategory = l.subcategory, zip = l.zip, address = l.address, prefecture = l.prefecture, area = l.area, city = l.city, latitude = l.latitude, longitude = l.longitude, photos = l.photos, videos = l.videos, webcontents = l.webcontents, status = l.status, portal = l.portal, group = l.group, phone = l.phone, fax = l.fax, email = l.email, facility = l.facility, remark = l.remark, tags = l.tags, hidden_location = l.hidden_location, auto_checkin = l.auto_checkin, checkin_radius = l.checkin_radius, checkin_point = l.checkin_point, buy_point = l.buy_point, evaluation_value = l.evaluation_value, shop_closed = l.shop_closed, shop_shutdown = l.shop_shutdown, opening_hours_mon = l.opening_hours_mon, opening_hours_tue = l.opening_hours_tue, opening_hours_wed = l.opening_hours_wed, opening_hours_thu = l.opening_hours_thu, opening_hours_fri = l.opening_hours_fri, opening_hours_sat = l.opening_hours_sat, opening_hours_sun = l.opening_hours_sun, geom=l.geom ) else: loc = Location( location_id=l.location_id, sub_loc_id = l.sub_loc_id, cp = l.cp, location_name = l.location_name, category = l.category, subcategory = l.subcategory, zip = l.zip, address = l.address, prefecture = l.prefecture, area = l.area, city = l.city, latitude = l.latitude, longitude = l.longitude, photos = l.photos, videos = l.videos, webcontents = l.webcontents, status = l.status, portal = l.portal, group = l.group, phone = l.phone, fax = l.fax, email = l.email, facility = l.facility, remark = l.remark, tags = l.tags, hidden_location = l.hidden_location, auto_checkin = l.auto_checkin, checkin_radius = l.checkin_radius, checkin_point = l.checkin_point, buy_point = l.buy_point, evaluation_value = l.evaluation_value, shop_closed = l.shop_closed, shop_shutdown = l.shop_shutdown, opening_hours_mon = l.opening_hours_mon, opening_hours_tue = l.opening_hours_tue, opening_hours_wed = l.opening_hours_wed, opening_hours_thu = l.opening_hours_thu, opening_hours_fri = l.opening_hours_fri, opening_hours_sat = l.opening_hours_sat, opening_hours_sun = l.opening_hours_sun, geom=l.geom ) loc.save() l.delete() tranfer_to_location.short_description = "Transfer all locations in temp table to location table" class TempLocationAdmin(LeafletGeoAdmin): search_fields = ('location_id', 'cp', 'location_name', 'category', 'event_name',) list_filter = ('category', 'event_name',) ordering = ('location_id', 'cp',) list_display = ('location_id','cp', 'location_name', 'category', 'event_name', 'event_active', 'auto_checkin', 'checkin_radius', 'checkin_point', 'buy_point',) actions = [tranfer_to_location,] admin.site.register(Useractions) admin.site.register(RogUser, admin.ModelAdmin) admin.site.register(Location, LocationAdmin) admin.site.register(SystemSettings, admin.ModelAdmin) admin.site.register(JoinedEvent, admin.ModelAdmin) admin.site.register(Favorite, admin.ModelAdmin) admin.site.register(TravelList, admin.ModelAdmin) admin.site.register(TravelPoint, admin.ModelAdmin) admin.site.register(Event, admin.ModelAdmin) admin.site.register(Location_line, LeafletGeoAdmin) admin.site.register(Location_polygon, LeafletGeoAdmin) admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin) admin.site.register(UserTracks, LeafletGeoAdmin); #admin.site.register(JpnAdminPerf, LeafletGeoAdmin) admin.site.register(GifuAreas, LeafletGeoAdmin) admin.site.register(JpnSubPerf, LeafletGeoAdmin) admin.site.register(ShapeLayers, admin.ModelAdmin) #admin.site.register(ShapeFileLocations, admin.ModelAdmin) admin.site.register(CustomUser, UserAdminConfig) admin.site.register(templocation, TempLocationAdmin)