2022-10-16 17:06:28 +05:30
import email
2022-03-14 10:50:11 +05:30
from django . contrib import admin
2022-10-16 17:06:28 +05:30
from django . shortcuts import render
2022-03-14 10:50:11 +05:30
from leaflet . admin import LeafletGeoAdmin
from leaflet . admin import LeafletGeoAdminMixin
from leaflet_admin_list . admin import LeafletAdminListMixin
2022-11-05 18:11:00 +05:30
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 , UserUpload , UserUploadUser , EventUser , GoalImages , CheckinImages
2022-05-12 02:15:36 +05:30
from django . contrib . auth . admin import UserAdmin
2022-10-16 17:06:28 +05:30
from django . urls import path
from django . shortcuts import render
from django import forms ;
import requests
2022-03-14 10:50:11 +05:30
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 ' , ]
2022-10-16 17:06:28 +05:30
class loadUserForm ( forms . Form ) :
server_url = forms . CharField ( label = " Load Data from * " , initial = ' https://natnats.mobilous.com/get_team_list ' , widget = forms . Textarea ( attrs = { " rows " : 2 , " cols " : 95 } ) )
2022-05-12 02:15:36 +05:30
class UserAdminConfig ( UserAdmin ) :
2022-10-16 17:06:28 +05:30
search_fields = ( ' email ' , ' group ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ' is_rogaining ' )
2022-10-13 16:13:04 +05:30
list_filter = ( ' email ' , ' group ' , ' is_rogaining ' )
2022-05-12 02:15:36 +05:30
ordering = ( ' email ' , )
2022-10-16 17:06:28 +05:30
list_display = ( ' email ' , ' group ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ' is_active ' , ' is_staff ' , ' is_rogaining ' )
def get_urls ( self ) :
urls = super ( ) . get_urls ( )
new_url = [ path ( ' load-users/ ' , self . loadUsers ) , ]
return new_url + urls
def loadUsers ( self , request ) :
if request . method == " POST " :
frm = loadUserForm ( request . POST )
if frm . is_valid ( ) :
print ( frm . cleaned_data [ ' server_url ' ] )
#load json from server
url = frm . cleaned_data [ ' server_url ' ]
response = requests . get ( url )
data = response . json ( )
print ( " -------Event code-------- " )
print ( data )
print ( " -------Event code-------- " )
for i in data :
_exist = CustomUser . objects . filter ( email = i [ " zekken_number " ] ) . delete ( )
usr = CustomUser . objects . create_user (
email = i [ " zekken_number " ] ,
zekken_number = i [ ' zekken_number ' ] ,
is_rogaining = True ,
event_code = i [ ' event_code ' ] ,
team_name = i [ ' team_name ' ] ,
group = ' 大垣-初心者 ' ,
password = i [ ' password ' ] ,
is_staff = True
)
form = loadUserForm ( )
data = { ' form ' : form }
return render ( request , ' admin/load_users.html ' , data )
2022-05-12 02:15:36 +05:30
fieldsets = (
2022-10-16 17:06:28 +05:30
( None , { ' fields ' : ( ' email ' , ' group ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ) } ) ,
2022-10-13 16:13:04 +05:30
( ' Permissions ' , { ' fields ' : ( ' is_staff ' , ' is_active ' , ' is_rogaining ' ) } ) ,
2022-05-12 02:15:36 +05:30
)
add_fieldsets = (
2022-10-16 17:06:28 +05:30
( None , { ' classes ' : ( ' wide ' , ) , ' fields ' : ( ' email ' , ' group ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ' password1 ' , ' password2 ' ) } ) ,
2022-05-12 02:15:36 +05:30
)
2022-09-27 17:52:14 +05:30
class JpnSubPerfAdmin ( LeafletGeoAdmin ) :
search_fields = ( ' adm0_ja ' , ' adm1_ja ' , ' adm2_ja ' , ' name_modified ' , ' area_name ' , )
list_filter = ( ' adm0_ja ' , ' adm0_ja ' , ' name_modified ' , )
ordering = ( ' adm0_ja ' , )
list_display = ( ' adm0_ja ' , ' adm1_ja ' , ' adm2_ja ' , ' name_modified ' , ' area_name ' , )
2022-08-17 16:00:17 +05:30
class LocationAdmin ( LeafletGeoAdmin ) :
2022-08-27 12:16:29 +05:30
search_fields = ( ' location_id ' , ' cp ' , ' location_name ' , ' category ' , ' event_name ' , ' group ' , )
2022-09-06 12:45:04 +05:30
list_filter = ( ' event_name ' , ' group ' , )
2022-08-17 16:00:17 +05:30
ordering = ( ' location_id ' , ' cp ' , )
2022-09-27 17:52:14 +05:30
list_display = ( ' location_id ' , ' sub_loc_id ' , ' cp ' , ' location_name ' , ' category ' , ' group ' , ' event_name ' , ' event_active ' , ' auto_checkin ' , ' checkin_radius ' , ' checkin_point ' , ' buy_point ' , )
2022-08-17 16:00:17 +05:30
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 ( )
2022-08-20 15:05:52 +05:30
l . delete ( )
2022-08-17 16:00:17 +05:30
tranfer_to_location . short_description = " Transfer all locations in temp table to location table "
2022-05-12 02:15:36 +05:30
2022-08-17 16:00:17 +05:30
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 )
2022-03-14 10:50:11 +05:30
admin . site . register ( RogUser , admin . ModelAdmin )
2022-08-17 16:00:17 +05:30
admin . site . register ( Location , LocationAdmin )
2022-03-14 10:50:11 +05:30
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 )
2022-03-16 17:46:22 +05:30
admin . site . register ( JpnAdminMainPerf , LeafletGeoAdmin )
2022-06-13 01:55:45 +05:30
admin . site . register ( UserTracks , LeafletGeoAdmin ) ;
2022-04-05 16:36:21 +05:30
#admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
2022-06-06 21:15:07 +05:30
admin . site . register ( GifuAreas , LeafletGeoAdmin )
2022-09-27 17:52:14 +05:30
admin . site . register ( JpnSubPerf , JpnSubPerfAdmin )
2022-05-12 02:15:36 +05:30
admin . site . register ( ShapeLayers , admin . ModelAdmin )
2022-08-30 18:20:15 +05:30
admin . site . register ( UserUpload , admin . ModelAdmin )
2022-09-05 19:10:39 +05:30
admin . site . register ( EventUser , admin . ModelAdmin )
2022-08-30 18:20:15 +05:30
#admin.site.register(UserUploadUser, admin.ModelAdmin)
2022-06-21 16:32:11 +05:30
#admin.site.register(ShapeFileLocations, admin.ModelAdmin)
2022-05-12 02:15:36 +05:30
2022-06-21 16:32:11 +05:30
admin . site . register ( CustomUser , UserAdminConfig )
2022-08-17 16:00:17 +05:30
admin . site . register ( templocation , TempLocationAdmin )
2022-10-18 14:58:20 +05:30
admin . site . register ( GoalImages , admin . ModelAdmin )
2022-11-05 18:11:00 +05:30
admin . site . register ( CheckinImages , admin . ModelAdmin )