added use load from external
This commit is contained in:
@ -52,7 +52,7 @@ INSTALLED_APPS = [
|
||||
'leaflet',
|
||||
'leaflet_admin_list',
|
||||
'rog.apps.RogConfig',
|
||||
'django_filters',
|
||||
'django_filters'
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
||||
53
rog/admin.py
53
rog/admin.py
@ -1,9 +1,15 @@
|
||||
import email
|
||||
from django.contrib import admin
|
||||
from django.shortcuts import render
|
||||
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, UserUpload, UserUploadUser, EventUser
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
from django.urls import path
|
||||
from django.shortcuts import render
|
||||
from django import forms;
|
||||
import requests
|
||||
|
||||
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||
list_display=['title', 'venue', 'at_date',]
|
||||
@ -17,19 +23,58 @@ class EventRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAd
|
||||
class ShopRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||
list_display=['name',]
|
||||
|
||||
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}))
|
||||
|
||||
|
||||
class UserAdminConfig(UserAdmin):
|
||||
search_fields = ('email', 'group', 'is_rogaining')
|
||||
search_fields = ('email', 'group', 'zekken_number', 'event_code', 'team_name', 'is_rogaining')
|
||||
list_filter = ('email', 'group', 'is_rogaining')
|
||||
ordering = ('email',)
|
||||
list_display = ('email', 'group', 'is_active', 'is_staff', 'is_rogaining')
|
||||
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)
|
||||
|
||||
fieldsets = (
|
||||
(None, {'fields':('email', 'group')}),
|
||||
(None, {'fields':('email', 'group', 'zekken_number', 'event_code', 'team_name',)}),
|
||||
('Permissions', {'fields':('is_staff', 'is_active', 'is_rogaining')}),
|
||||
)
|
||||
|
||||
add_fieldsets = (
|
||||
(None, {'classes':('wide',), 'fields':('email', 'group', 'password1', 'password2')}),
|
||||
(None, {'classes':('wide',), 'fields':('email', 'group','zekken_number', 'event_code', 'team_name', 'password1', 'password2')}),
|
||||
)
|
||||
|
||||
class JpnSubPerfAdmin(LeafletGeoAdmin):
|
||||
|
||||
28
rog/migrations/0038_auto_20221016_1950.py
Normal file
28
rog/migrations/0038_auto_20221016_1950.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Generated by Django 3.2.9 on 2022-10-16 10:50
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rog', '0037_customuser_is_rogaining'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='customuser',
|
||||
name='event_code',
|
||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Event Code'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='customuser',
|
||||
name='team_name',
|
||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Team Name'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='customuser',
|
||||
name='zekken_number',
|
||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Zekken Number'),
|
||||
),
|
||||
]
|
||||
@ -187,6 +187,9 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
|
||||
is_staff = models.BooleanField(default=False)
|
||||
is_active = models.BooleanField(default=True)
|
||||
is_rogaining = models.BooleanField(default=False)
|
||||
zekken_number = models.CharField(_("Zekken Number"), max_length=255, blank=True, null=True)
|
||||
event_code = models.CharField(_("Event Code"), max_length=255, blank=True, null=True)
|
||||
team_name = models.CharField(_("Team Name"), max_length=255, blank=True, null=True)
|
||||
group = models.CharField(max_length=255,
|
||||
choices=Groups.choices,
|
||||
default=Groups.GB1)
|
||||
|
||||
@ -74,7 +74,7 @@ class CreateUserSerializer(serializers.ModelSerializer):
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
fields = ('id','email', 'is_rogaining' ,'group')
|
||||
fields = ('id','email', 'is_rogaining' ,'group', 'zekken_number', 'event_code', 'team_name')
|
||||
|
||||
|
||||
class RogUserSerializer(serializers.ModelSerializer):
|
||||
|
||||
13
rog/templates/admin/load_users.html
Normal file
13
rog/templates/admin/load_users.html
Normal file
@ -0,0 +1,13 @@
|
||||
{% extends 'admin/base.html' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div style="margin:auto; width:50%; padding:10px; border:0px solid green;">
|
||||
<form action="." method="POST" enctype="multipart/form-data">
|
||||
{{ form.as_p }}
|
||||
{% csrf_token %}
|
||||
<button style="float:right; padding-left:40px; padding-right:40px;" type="submit">Load Users</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
7
rog/templates/admin/rog/customuser/change_list.html
Normal file
7
rog/templates/admin/rog/customuser/change_list.html
Normal file
@ -0,0 +1,7 @@
|
||||
{% extends 'admin/change_list.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
<a href="load-users/">Go to Load users</a>
|
||||
{{ block.super }}
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user