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
2024-07-25 00:57:48 +00:00
from . models import RogUser , Location , SystemSettings , JoinedEvent , Favorite , TravelList , TravelPoint , ShapeLayers , Event , Location_line , Location_polygon , JpnAdminMainPerf , Useractions , CustomUser , GifuAreas , UserTracks , templocation , UserUpload , EventUser , GoalImages , CheckinImages , NewEvent , NewEvent2 , Team , NewCategory , Category , Entry , Member , TempUser
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 ( )
2024-07-24 00:38:32 +00:00
other_fields . setDefaut ( ' zekken_number ' , i [ ' zekken_number ' ] )
other_fields . setdefault ( ' is_staff ' , True )
other_fields . setdefault ( ' is_superuser ' , False )
other_fields . setdefault ( ' is_active ' , True )
other_fields . setdefault ( ' event_code ' , i [ ' event_code ' ] )
other_fields . setdefault ( ' team_name ' , i [ ' team_name ' ] )
other_fields . setdefault ( ' group ' , ' 大垣-初心者 ' )
2022-10-16 17:06:28 +05:30
usr = CustomUser . objects . create_user (
email = i [ " zekken_number " ] ,
password = i [ ' password ' ] ,
2024-07-24 00:38:32 +00:00
* * other_fields
2022-10-16 17:06:28 +05:30
)
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 ' , )
2023-01-27 12:13:57 +05:30
list_display = ( ' location_id ' , ' sub_loc_id ' , ' cp ' , ' location_name ' , ' photos ' , ' 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 , ]
2024-07-25 00:57:48 +00:00
@admin.register ( NewEvent2 )
class NewEvent2Admin ( admin . ModelAdmin ) :
2024-07-24 00:38:32 +00:00
list_display = [ ' event_name ' , ' start_datetime ' , ' end_datetime ' ]
search_fields = [ ' event_name ' ]
@admin.register ( Team )
class TeamAdmin ( admin . ModelAdmin ) :
2024-08-04 18:56:11 +00:00
list_display = [ ' team_name ' , ' owner ' ]
search_fields = [ ' team_name ' , ' owner__email ' ]
2024-07-24 00:38:32 +00:00
2024-07-25 00:57:48 +00:00
@admin.register ( NewCategory )
class NewCategoryAdmin ( admin . ModelAdmin ) :
2024-07-24 00:38:32 +00:00
list_display = [ ' category_name ' , ' category_number ' , ' duration ' , ' num_of_member ' , ' family ' , ' female ' ]
list_filter = [ ' family ' , ' female ' ]
search_fields = [ ' category_name ' ]
@admin.register ( Entry )
class EntryAdmin ( admin . ModelAdmin ) :
list_display = [ ' team ' , ' event ' , ' category ' , ' date ' ]
list_filter = [ ' event ' , ' category ' ]
search_fields = [ ' team__team_name ' , ' event__event_name ' ]
2022-08-17 16:00:17 +05:30
2024-07-24 00:38:32 +00:00
@admin.register ( Member )
class MemberAdmin ( admin . ModelAdmin ) :
list_display = [ ' team ' , ' user ' ]
search_fields = [ ' team__team_name ' , ' user__email ' ]
@admin.register ( TempUser )
class TempUserAdmin ( admin . ModelAdmin ) :
list_display = [ ' email ' , ' is_rogaining ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ' group ' , ' created_at ' , ' expires_at ' ]
list_filter = [ ' is_rogaining ' , ' group ' ]
search_fields = [ ' email ' , ' zekken_number ' , ' team_name ' ]
# CustomUserAdmin の修正(既存のものを更新)
class CustomUserAdmin ( UserAdmin ) :
list_display = ( ' email ' , ' is_staff ' , ' is_active ' , ' is_rogaining ' , ' zekken_number ' , ' event_code ' , ' team_name ' , ' group ' , ' firstname ' , ' lastname ' )
list_filter = ( ' is_staff ' , ' is_active ' , ' is_rogaining ' , ' group ' )
fieldsets = (
( None , { ' fields ' : ( ' email ' , ' password ' ) } ) ,
( ' Personal info ' , { ' fields ' : ( ' firstname ' , ' lastname ' , ' date_of_birth ' , ' female ' ) } ) ,
( ' Permissions ' , { ' fields ' : ( ' is_staff ' , ' is_active ' , ' is_rogaining ' , ' user_permissions ' ) } ) ,
( ' Rogaining info ' , { ' fields ' : ( ' zekken_number ' , ' event_code ' , ' team_name ' , ' group ' ) } ) ,
)
add_fieldsets = (
( None , {
' classes ' : ( ' wide ' , ) ,
#'fields': ('email', 'password1', 'password2', 'is_staff', 'is_active', 'is_rogaining')}
' fields ' : ( ' email ' , ' password1 ' , ' password2 ' , ' lastname ' , ' firstname ' , ' date_of_birth ' , ' female ' , ' is_staff ' , ' is_active ' , ' is_rogaining ' ) }
) ,
)
search_fields = ( ' email ' , ' firstname ' , ' lastname ' , ' zekken_number ' , ' team_name ' )
ordering = ( ' email ' , )
2022-08-17 16:00:17 +05:30
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-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 )
2024-07-24 00:38:32 +00:00