newmediamonitoring/management/views.py

2000 lines
99 KiB
Python

import json
from polls.utils import send_tnps
from polls.models import Notice
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.contrib.auth.hashers import make_password
from django.contrib.auth.models import User
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.db.models import Q
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from dashboard.models import Userprofile, Group, Organization, Level, Organizationtype, Area_code_2020, Weixin, Weibo, \
Toutiao, Qita, Group_type, Group_admin, Group_user, News, Douyin
@login_required
def user_management(request):
user_count = User.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
userpaginator = None
if level == 1:
userpaginator = Userprofile.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
userpaginator = Userprofile.objects.filter(organization__province=province,
organization__cities=cities).order_by('-created')
elif level == 3:
userpaginator = Userprofile.objects.filter(organization__province=province,
organization__cities=cities,
organization__district=district).order_by('-created')
elif level == 9:
userpaginator = Userprofile.objects.all().order_by('-created')
userallinfo = []
if userpaginator is not None:
paginator = Paginator(userpaginator, 6)
page = int(request.GET.get('page', 1))
try:
userpaginator = paginator.page(page)
except PageNotAnInteger:
userpaginator = paginator.page(1)
except EmptyPage:
userpaginator = paginator.page(paginator.num_pages)
for u in userpaginator:
o = dict()
o['id'] = str(u.id)
o['user_id'] = str(u.user_id)
if u.image:
o['image'] = u.image
else:
o['image'] = '/profile/user_default.jpg'
o['name'] = u.name
o['phone'] = u.user.username
o['organization'] = u.organization.name
organization_id = u.organization.id
if Organization.objects.get(id=organization_id).province and Organization.objects.get(
id=organization_id).cities and Organization.objects.get(
id=organization_id).district and Organization.objects.get(
id=organization_id).town and Organization.objects.get(id=organization_id).village:
o['administrativedivision'] = str(str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).province)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).cities)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).district)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).town)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).village))).replace(
'None', '')
elif Organization.objects.get(id=organization_id).province and Organization.objects.get(
id=organization_id).cities and Organization.objects.get(
id=organization_id).district and Organization.objects.get(id=organization_id).town:
o['administrativedivision'] = str(str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).province)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).cities)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).district)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).town))).replace('None',
'')
elif Organization.objects.get(id=organization_id).province and Organization.objects.get(
id=organization_id).cities and Organization.objects.get(id=organization_id).district:
o['administrativedivision'] = str(str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).province)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).cities)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).district))).replace(
'None', '')
elif Organization.objects.get(id=organization_id).province and Organization.objects.get(
id=organization_id).cities:
o['administrativedivision'] = str(str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).province)) + '-' + str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).cities))).replace(
'None', '')
elif Organization.objects.get(id=organization_id).province:
o['administrativedivision'] = str(str(
Area_code_2020.objects.get(code=Organization.objects.get(id=organization_id).province))).replace(
'None', '')
userallinfo.append(o)
return render(request, 'management/user-management.html',
{'userallinfo': userallinfo, 'userpaginator': userpaginator, 'user_count': user_count})
@login_required
def user_delete(request, pk):
user = User.objects.get(id=pk)
user.delete()
return HttpResponseRedirect('/management/user/management/')
@login_required
def user_update(request, pk):
user = User.objects.get(id=pk)
userprofile = Userprofile.objects.get(user_id=user.id)
organization = Organization.objects.filter(status='1')
if request.method == 'POST':
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
name = request.POST.get('name')
email = request.POST.get('email')
username = request.POST.get('username')
image = request.FILES.get('image')
user.email = email
user.username = username
userprofile.organization_id = o_id
userprofile.name = name
if image is not None:
userprofile.image = image
user.save()
userprofile.save()
messages.success(request, "修改成功")
return HttpResponseRedirect("/management/user/management/")
return render(request, 'management/user-management-update.html',
{'usee': user, 'userprofile': userprofile, 'organization': organization})
@login_required
def group_management_init(request):
user = request.user
level = Userprofile.objects.get(user_id=user.id).organization.level.level
init_count = Group.objects.filter(user_id=user.id).count()
# 创建的矩阵
group_initer = Group.objects.filter(user_id=user.id).order_by('-created')
paginator = Paginator(group_initer, 6)
page = int(request.GET.get('page', 1))
try:
group = paginator.page(page)
except PageNotAnInteger:
group = paginator.page(1)
except EmptyPage:
group = paginator.page(paginator.num_pages)
res_g_i = []
for r_g_i in group:
o1 = dict()
o1['id'] = str(r_g_i.id)
if r_g_i.image:
o1['image'] = r_g_i.image.url
else:
o1['image'] = 'groupimage/danweimoren.jpg'
o1['name'] = r_g_i.name
o1['type'] = r_g_i.type
o1['admin_count'] = Group_admin.objects.filter(group_id=r_g_i.id).count()
o1['user_count'] = Group_user.objects.filter(group_id=r_g_i.id).count()
o1['status'] = r_g_i.status
res_g_i.append(o1)
return render(request, 'management/group-management-init.html',
{'group': group, 'res_g_i': res_g_i, 'init_count': init_count, 'level': level})
@login_required
def group_management_admin(request):
# 管理的矩阵
user = request.user
level = Userprofile.objects.get(user_id=user.id).organization.level.level
admin_count = Group_admin.objects.filter(user_id=user.id).count()
group_admin_list = []
for g_a in Group_admin.objects.filter(user_id=user.id).order_by('-created'):
group_admin = Group.objects.get(id=g_a.group_id)
group_admin_list.append(group_admin)
paginator = Paginator(group_admin_list, 6)
page = int(request.GET.get('page', 1))
try:
group = paginator.page(page)
except PageNotAnInteger:
group = paginator.page(1)
except EmptyPage:
group = paginator.page(paginator.num_pages)
res_g_a = []
for r_g_a in group:
o2 = dict()
o2['id'] = str(r_g_a.id)
if r_g_a.image:
o2['image'] = r_g_a.image.url
else:
o2['image'] = 'groupimage/danweimoren.jpg'
o2['name'] = r_g_a.name
o2['type'] = r_g_a.type
o2['admin_count'] = Group_admin.objects.filter(group_id=r_g_a.id).count()
o2['user_count'] = Group_user.objects.filter(group_id=r_g_a.id).count()
o2['status'] = r_g_a.status
res_g_a.append(o2)
return render(request, 'management/group-management-admin.html',
{'group': group, 'res_g_a': res_g_a, 'admin_count': admin_count, 'level': level})
@login_required
def group_management_user(request):
# 加入的矩阵
user = request.user
level = Userprofile.objects.get(user_id=user.id).organization.level.level
user_count = Group_user.objects.filter(user_id=user.id).count()
group_user_list = []
for g_u in Group_user.objects.filter(user_id=user.id).order_by('-created'):
group_user = Group.objects.get(id=g_u.group_id)
group_user_list.append(group_user)
paginator = Paginator(group_user_list, 6)
page = int(request.GET.get('page', 1))
try:
group = paginator.page(page)
except PageNotAnInteger:
group = paginator.page(1)
except EmptyPage:
group = paginator.page(paginator.num_pages)
res_g_u = []
for r_g_u in group:
o3 = dict()
o3['id'] = str(r_g_u.id)
if r_g_u.image:
o3['image'] = r_g_u.image.url
else:
o3['image'] = 'groupimage/danweimoren.jpg'
o3['name'] = r_g_u.name
o3['type'] = r_g_u.type
o3['admin_count'] = Group_admin.objects.filter(group_id=r_g_u.id).count()
o3['user_count'] = Group_user.objects.filter(group_id=r_g_u.id).count()
o3['status'] = r_g_u.status
res_g_u.append(o3)
return render(request, 'management/group-management-user.html',
{'group': group, 'res_g_u': res_g_u, 'user_count': user_count, 'level': level})
@login_required
def group_management_superuser(request):
user = request.user
level = Userprofile.objects.get(user_id=user.id).organization.level.level
count = Group.objects.all().count()
group = Group.objects.all().order_by('-created')
paginator = Paginator(group, 6)
page = int(request.GET.get('page', 1))
try:
group = paginator.page(page)
except PageNotAnInteger:
group = paginator.page(1)
except EmptyPage:
group = paginator.page(paginator.num_pages)
res_g_i = []
for r_g_i in group:
o1 = dict()
o1['id'] = str(r_g_i.id)
if r_g_i.image:
o1['image'] = r_g_i.image.url
else:
o1['image'] = 'groupimage/danweimoren.jpg'
o1['name'] = r_g_i.name
o1['type'] = r_g_i.type
o1['admin_count'] = Group_admin.objects.filter(group_id=r_g_i.id).count()
o1['user_count'] = Group_user.objects.filter(group_id=r_g_i.id).count()
o1['status'] = r_g_i.status
res_g_i.append(o1)
return render(request, 'management/group-management-superuser.html',
{'group': group, 'res_g_i': res_g_i, 'count': count, 'level': level})
@login_required
def group_update(request, pk):
group = Group.objects.get(id=pk)
p = ''
c = ''
d = ''
t = ''
v = ''
if group.province != '' and group.province != 'None':
p = Area_code_2020.objects.get(code=group.province).name
if group.cities and group.cities != 'None':
c = Area_code_2020.objects.get(code=group.cities).name
if group.district and group.district != 'None':
d = Area_code_2020.objects.get(code=group.district).name
if group.town and group.town != 'None':
t = Area_code_2020.objects.get(code=group.town).name
if group.village and group.village != 'None':
v = Area_code_2020.objects.get(code=group.village).name
group_status_choices_list = []
for g in range(2):
group_status_choices_list.append(g)
GROUP_CLASSIFY_CHOICES = Group.GROUP_CLASSIFY_CHOICES
g_c_c_res = []
for g_c_c in GROUP_CLASSIFY_CHOICES:
g_c_c_res.append([list(g_c_c)[0], list(g_c_c)[1]])
group_type = Group_type.objects.all()
group_admin = Group_admin.objects.filter(group_id=pk)
g_a_list = []
for g_a in group_admin:
o = dict()
o['id'] = str(g_a.id)
if Userprofile.objects.get(user_id=g_a.user.id):
if Userprofile.objects.get(user_id=g_a.user.id).image:
o['image'] = Userprofile.objects.get(user_id=g_a.user.id).image.url
else:
o['image'] = '/profile/user_default.jpg'
o['username'] = g_a.user.username
o['name'] = Userprofile.objects.get(user_id=g_a.user.id).name
o['organization'] = Userprofile.objects.get(user_id=g_a.user.id).organization.name
admin_p = Userprofile.objects.get(user_id=g_a.user_id).organization.province
admin_c = Userprofile.objects.get(user_id=g_a.user_id).organization.cities
admin_d = Userprofile.objects.get(user_id=g_a.user_id).organization.district
admin_t = Userprofile.objects.get(user_id=g_a.user_id).organization.town
admin_v = Userprofile.objects.get(user_id=g_a.user_id).organization.village
if admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None' and admin_t and admin_t != 'None' and admin_v and admin_v != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name) + '-' + str(
Area_code_2020.objects.get(code=admin_t).name) + '-' + str(
Area_code_2020.objects.get(code=admin_v).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None' and admin_t and admin_t != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name) + '-' + str(
Area_code_2020.objects.get(code=admin_t).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name)
elif admin_p and admin_p != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=str(admin_p)).name)
g_a_list.append(o)
group_user = Group_user.objects.filter(group_id=pk)
paginator = Paginator(group_user, 6)
page = int(request.GET.get('page', 1))
try:
group_user = paginator.page(page)
except PageNotAnInteger:
group_user = paginator.page(1)
except EmptyPage:
group_user = paginator.page(paginator.num_pages)
g_u_list = []
for g_u in group_user:
i = dict()
i['id'] = str(g_u.id)
if Userprofile.objects.get(user_id=g_u.user.id).image:
i['image'] = Userprofile.objects.get(user_id=g_u.user.id).image.url
else:
i['image'] = '/profile/user_default.jpg'
i['username'] = g_u.user.username
i['name'] = Userprofile.objects.get(user_id=g_u.user.id).name
i['organization'] = Userprofile.objects.get(user_id=g_u.user.id).organization.name
user_p = Userprofile.objects.get(user_id=g_u.user_id).organization.province
user_c = Userprofile.objects.get(user_id=g_u.user_id).organization.cities
user_d = Userprofile.objects.get(user_id=g_u.user_id).organization.district
user_t = Userprofile.objects.get(user_id=g_u.user_id).organization.town
user_v = Userprofile.objects.get(user_id=g_u.user_id).organization.village
if user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None' and user_t and user_t != 'None' and user_v and user_v != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name) + '-' + str(
Area_code_2020.objects.get(code=user_t).name) + '-' + str(
Area_code_2020.objects.get(code=user_v).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None' and user_t and user_t != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name) + '-' + str(
Area_code_2020.objects.get(code=user_t).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name)
elif user_p and user_p != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=str(user_p)).name)
g_u_list.append(i)
if request.method == 'POST':
name = request.POST.get('name')
presentation = request.POST.get('presentation')
image = request.FILES.get('image')
type = request.POST.get('type')
status = request.POST.get('status')
province = request.POST.get('province')
classify = request.POST.get('classify')
if province != '' and province.isdigit():
province_r = province
else:
province_r = province
city = request.POST.get('city')
if city != '' and city.isdigit():
city_r = city
else:
city_r = city
district = request.POST.get('district')
if district != '' and district.isdigit():
district_r = district
else:
district_r = district
town = request.POST.get('town')
if town != '' and town.isdigit():
town_r = town
else:
town_r = town
village = request.POST.get('village')
if village != '' and village.isdigit():
village_r = village
else:
village_r = village
if image is not None:
Group.objects.filter(id=pk).update(name=name, presentation=presentation, type_id=type, status=status,
province=province_r, cities=city_r, district=district_r, town=town_r,
village=village_r, classify=classify)
g = Group.objects.get(id=pk)
g.image = image
g.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/group/management/init/')
else:
Group.objects.filter(id=pk).update(name=name, presentation=presentation, type_id=type, status=status,
province=province_r, cities=city_r, district=district_r, town=town_r,
village=village_r, classify=classify)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/group/management/init/')
return render(request, 'management/group-management-update.html',
{'group': group, 'group_status_choices_list': group_status_choices_list, 'group_type': group_type,
'g_a_list': g_a_list, 'g_u_list': g_u_list, 'g_c_c_res': g_c_c_res, 'p': p, 'c': c, 'd': d, 't': t,
'v': v,'page':group_user})
@login_required
def group_create(request):
user = request.user
group_status_choices_list = []
for g in range(2):
group_status_choices_list.append(g)
group_type = Group_type.objects.all()
GROUP_CLASSIFY_CHOICES = Group.GROUP_CLASSIFY_CHOICES
g_c_c_res = []
for g_c_c in GROUP_CLASSIFY_CHOICES:
g_c_c_res.append([list(g_c_c)[0], list(g_c_c)[1]])
if request.method == 'POST':
name = request.POST.get('name')
presentation = request.POST.get('presentation')
image = None
if not request.FILES.get('image'):
image = 'group.jpg'
else:
image = request.FILES.get('image')
type = request.POST.get('type')
status = request.POST.get('status')
province = request.POST.get('province')
classify = request.POST.get('classify')
if province != '':
province_r = province
else:
messages.error(request, '请选择行政区划')
return HttpResponseRedirect('/management/organization/create/')
city = request.POST.get('city')
if city != '':
city_r = city
else:
city_r = city
district = request.POST.get('district')
if district != '':
district_r = district
else:
district_r = district
town = request.POST.get('town')
if town != '':
town_r = town
else:
town_r = town
village = request.POST.get('village')
if village != '':
village_r = village
else:
village_r = village
if name is not None:
group = Group(name=name, presentation=presentation, image=image, type_id=type, status=status,
province=province_r, cities=city_r, district=district_r, town=town_r, village=village_r,
user_id=user.id, classify=classify)
group.save()
p = ''
c = ''
d = ''
t = ''
v = ''
if group.province:
p = Area_code_2020.objects.get(code=group.province).name
if group.cities:
c = Area_code_2020.objects.get(code=group.cities).name
if group.district:
d = Area_code_2020.objects.get(code=group.district).name
if group.town:
t = Area_code_2020.objects.get(code=group.town).name
if group.village:
v = Area_code_2020.objects.get(code=group.village).name
messages.success(request, '添加成功')
return render(request, 'management/add-group-admin-and-user.html',
{'group': group, 'p': p, 'c': c, 'd': d, 't': t, 'v': v})
else:
messages.error(request, '矩阵名不能为空')
# return HttpResponseRedirect('/management/group/management/')
return render(request, 'management/group-management-create.html',
{'group_status_choices_list': group_status_choices_list, 'group_type': group_type,
'g_c_c_res': g_c_c_res})
@login_required
def get_user(request):
keywords = request.GET.get('keyword')
if len(keywords) != 0:
userprofile = Userprofile.objects.filter(Q(name__contains=keywords))[:10]
topten_list = []
for u in userprofile:
d = dict()
d['user_id'] = str(u.user_id)
d['name'] = u.name
d['phone'] = u.user.username
d['o'] = u.organization.name
topten_list.append(d)
return render(request, 'management/user_results_by_keywords.html', {'topten_list': topten_list})
@login_required
def group_admin_create(request, pk):
if request.method == 'POST':
user_id = None
if not request.POST.get('user_name'):
messages.error(request, '请选择用户')
else:
user_name = request.POST.get('user_name')
res = User.objects.filter(username=user_name).count()
if res > 0:
user_id = User.objects.get(username=user_name).id
else:
messages.error(request, '您填写的用户不存在')
results = Group_admin.objects.filter(user_id=user_id, group_id=pk).count()
if results != 0:
messages.success(request, "该管理员已经存在")
return HttpResponseRedirect('/management/group/update/%s/' % (pk))
group_admin = Group_admin(user_id=user_id, group_id=pk)
group_admin.save()
messages.success(request, "添加成功")
return HttpResponseRedirect('/management/group/update/%s/' % (pk))
group = Group.objects.get(id=pk).name
return render(request, 'management/group-admin-create.html', {'group': group, 'pk': pk})
@login_required
def group_admin_delete(request, pk, group_pk):
group_admin = Group_admin.objects.get(id=pk)
group_admin.delete()
messages.success(request, '删除成功')
return HttpResponseRedirect('/management/group/update/%s/' % (group_pk))
@login_required
def group_user_create(request, pk):
if request.method == 'POST':
user_id = None
if not request.POST.get('user_name'):
messages.error(request, '请选择用户')
else:
user_name = request.POST.get('user_name')
res = User.objects.filter(username=user_name).count()
if res > 0:
user_id = User.objects.get(username=user_name).id
else:
messages.error(request, '您填写的用户不存在')
results = Group_user.objects.filter(user_id=user_id, group_id=pk).count()
if results != 0:
messages.success(request, "该成员已经存在")
return HttpResponseRedirect('/management/group/update/%s/' % (pk))
group_user = Group_user(user_id=user_id, group_id=pk)
group_user.save()
messages.success(request, '添加成功')
return HttpResponseRedirect('/management/group/update/%s' % (pk))
group = Group.objects.get(id=pk).name
return render(request, 'management/group-user-create.html', {'group': group, 'pk': pk})
@login_required
def group_user_delete(request, pk, group_pk):
group_user = Group_user.objects.get(id=pk)
group_user.delete()
messages.success(request, '删除成功')
return HttpResponseRedirect('/management/group/update/%s/' % (group_pk))
@login_required
def group_delete(request, pk):
group = Group.objects.get(id=pk)
group.delete()
messages.success(request, '删除成功')
return HttpResponseRedirect('/management/group/management/init/')
@login_required
def organization_management(request):
organization_count = Organization.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
organization = None
res = []
if level == 1:
organization = Organization.objects.filter(province=province).order_by('-created')
elif level == 2:
organization = Organization.objects.filter(province=province, cities=cities).order_by('-created')
elif level == 3:
organization = Organization.objects.filter(province=province, cities=cities, district=district).order_by(
'-created')
elif level == 9:
organization = Organization.objects.all().order_by('-created')
if organization is not None:
paginator = Paginator(organization, 6)
page = int(request.GET.get('page', 1))
try:
organization = paginator.page(page)
except PageNotAnInteger:
organization = paginator.page(1)
except EmptyPage:
organization = paginator.page(paginator.num_pages)
for i in organization:
o = dict()
o['id'] = str(i.id)
o['name'] = i.name
if i.image:
o['image'] = i.image.url
else:
o['image'] = 'danweimoren.jpg'
if i.province and i.cities and i.district and i.town and i.village:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str(
Area_code_2020.objects.get(code=i.cities).name) + '-' + str(
Area_code_2020.objects.get(code=i.district).name) + '-' + str(
Area_code_2020.objects.get(code=i.town).name) + '-' + str(
Area_code_2020.objects.get(code=i.village).name)
elif i.province and i.cities and i.district and i.town:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str(
Area_code_2020.objects.get(code=i.cities).name) + '-' + str(
Area_code_2020.objects.get(code=i.district).name) + '-' + str(
Area_code_2020.objects.get(code=i.town).name)
elif i.province and i.cities and i.district:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str(
Area_code_2020.objects.get(code=i.cities).name) + '-' + str(
Area_code_2020.objects.get(code=i.district).name)
elif i.province and i.cities:
print(i.cities)
o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name) + '-' + str(
Area_code_2020.objects.get(code=i.cities).name)
elif i.province:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=i.province).name)
o['usercount'] = Userprofile.objects.filter(organization_id=i.id).count()
o['mediacount'] = Weixin.objects.filter(organization_id=i.id).count() + Weibo.objects.filter(
organization_id=i.id).count() + Toutiao.objects.filter(
organization_id=i.id).count() + Qita.objects.filter(
organization_id=i.id).count()
res.append(o)
return render(request, 'management/organization-management.html',
{"organization": organization, 'res': res, 'organization_count': organization_count})
@login_required
def organization_delete(request, pk):
organization = Organization.objects.get(id=pk)
organization.delete()
messages.success(request, '删除成功')
return HttpResponseRedirect('/management/organization/management/')
@login_required
def organization_update(request, pk):
organization = Organization.objects.get(id=pk)
p = ''
c = ''
d = ''
t = ''
v = ''
if organization.province:
p = Area_code_2020.objects.get(code=organization.province).name
if organization.cities:
c = Area_code_2020.objects.get(code=organization.cities).name
if organization.district:
d = Area_code_2020.objects.get(code=organization.district).name
if organization.town:
t = Area_code_2020.objects.get(code=organization.town).name
if organization.village:
v = Area_code_2020.objects.get(code=organization.village).name
level = Level.objects.all()
weixin = Weixin.objects.filter(organization_id=pk)
print(weixin)
weixin_count = Weixin.objects.filter(organization_id=pk).count()
print(weixin_count)
weibo = Weibo.objects.filter(organization_id=pk)
weibo_count = weibo.count()
toutiao = Toutiao.objects.filter(organization_id=pk)
toutiao_count = toutiao.count()
douyin = Douyin.objects.filter(organization_id=pk)
douyin_count = douyin.count()
qita = Qita.objects.filter(organization_id=pk)
qita_count = qita.count()
o_user = Userprofile.objects.filter(organization_id=pk)
o_user_count = o_user.count()
if request.method == 'POST':
name = request.POST.get('name')
image = request.FILES.get('image')
# organizationtype = request.POST.get('organizationtype')
province = request.POST.get('province')
level_id = request.POST.get('level')
if province:
province = Area_code_2020.objects.get(name=province).code
city = request.POST.get('city')
if city:
city = Area_code_2020.objects.get(name=city).code
district = request.POST.get('district')
if district:
district = Area_code_2020.objects.get(name=district).code
town = request.POST.get('town')
if town:
town = Area_code_2020.objects.get(name=town).code
village = request.POST.get('village')
if village:
village = Area_code_2020.objects.get(name=village).code
if name is not None:
if image is not None:
Organization.objects.filter(id=pk).update(name=name,
province=province, cities=city, district=district,
town=town, village=village, level_id=level_id)
o = Organization.objects.get(id=pk)
o.image = image
o.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/organization/management/')
else:
Organization.objects.filter(id=pk).update(name=name,
province=province, cities=city, district=district,
town=town, village=village, level_id=level_id)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/organization/management/')
return render(request, 'management/organization-management-update.html',
{'organization': organization, 'level': level, 'p': p, 'c': c, 'd': d, 't': t, 'v': v,'weixin':weixin,'weibo':weibo,'douyin':douyin,'qita':qita,'toutiao':toutiao,'weixin_count':weixin_count,'weibo_count':weibo_count,'douyin_count':douyin_count,'toutiao_count':toutiao_count,'qita_count':qita_count,'o_user':o_user,'o_user_count':o_user_count})
def organization_create(request):
user = request.user
# l = Userprofile.objects.get(user_id=user.id).organization.level.level
# if user.is_superuser:
# level = Level.objects.filter(level__in=[1, 2, 3, 5, 0])
# elif l == '1':
# level = Level.objects.filter(level__in=[2, 3, 5, 0])
# elif l == '2':
# level = Level.objects.filter(level__in=[3, 5, 0])
# elif l == '3':
# level = Level.objects.filter(level__in=[5, 0])
# else:
# level = Level.objects.filter(level__in=[0])
if request.method == 'POST':
name = request.POST.get('name')
image = None
if request.FILES.get('image'):
image = request.FILES.get('image')
else:
image = 'danweimoren.jpg'
# organizationtype = request.POST.get('organizationtype')
# level_id = request.POST.get('level_id')
province = request.POST.get('province')
if province != '':
province = province
else:
messages.error(request, '请选择行政区划')
return HttpResponseRedirect('/management/organization/create/')
city = request.POST.get('city')
district = request.POST.get('district')
town = request.POST.get('town')
village = request.POST.get('village')
results = Organization.objects.filter(name=name).count()
if results > 0:
messages.error(request, '您注册的主体已经存在')
return HttpResponseRedirect('/management/organization/create/')
if name is not None:
organization = Organization(name=name, image=image,
province=province, cities=city, district=district, town=town,
village=village, level_id='f517fd75-8127-4599-ad6e-72687da63bdd', status='0')
organization.save()
messages.success(request, '添加成功')
return HttpResponseRedirect('/management/organization/create/')
else:
messages.error(request, '单位名不能为空')
return HttpResponseRedirect('/management/organization/create/')
return render(request, 'management/organization-management-create.html')
@login_required
def newmedia_management_create_menu(request):
return render(request, 'management/newmedia-management-create-menu.html')
@login_required
def newmedia_management_create_weixin(request):
weixin_status_choices_list = []
for w in range(2):
weixin_status_choices_list.append(w)
organization = Organization.objects.filter(status='1').order_by('-name')
if request.method == 'POST':
code = request.POST.get('code')
weixinid = request.POST.get('weixinid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
weixin = Weixin(code=code, weixinid=weixinid, alias=alias, image=image,
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
weixin.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/weixin/')
else:
weixin = Weixin(code=code, weixinid=weixinid, alias=alias, image='weixin.png',
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
weixin.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/weixin/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-create-weixin.html',
{'weixin_status_choices_list': weixin_status_choices_list, "organization": organization})
else:
messages.success(request, "微信公众号不能为空")
return render(request, 'management/newmedia-management-create-weixin.html',
{'weixin_status_choices_list': weixin_status_choices_list, "organization": organization})
return render(request, 'management/newmedia-management-create-weixin.html',
{'weixin_status_choices_list': weixin_status_choices_list, "organization": organization})
@login_required
def newmedia_management_create_weibo(request):
weibo_status_choices_list = []
for w in range(2):
weibo_status_choices_list.append(w)
organization = Organization.objects.filter(status='1').order_by('-name')
if request.method == 'POST':
code = request.POST.get('code')
weiboid = request.POST.get('weiboid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
weibo = Weibo(code=code, weiboid=weiboid, alias=alias, image=image,
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
weibo.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/weibo/')
else:
weibo = Weibo(code=code, weiboid=weiboid, alias=alias, image='weibo.png',
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
weibo.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/weibo/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-create-weibo.html',
{'weibo_status_choices_list': weibo_status_choices_list, "organization": organization})
else:
messages.success(request, "微博号不能为空")
return render(request, 'management/newmedia-management-create-weibo.html',
{'weixin_status_choices_list': weibo_status_choices_list, "organization": organization})
return render(request, 'management/newmedia-management-create-weibo.html',
{'weibo_status_choices_list': weibo_status_choices_list, "organization": organization})
@login_required
def newmedia_management_create_toutiao(request):
toutiao_status_choices_list = []
for w in range(2):
toutiao_status_choices_list.append(w)
organization = Organization.objects.filter(status='1').order_by('-name')
if request.method == 'POST':
code = request.POST.get('code')
toutiaoid = request.POST.get('toutiaoid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
toutiao = Toutiao(code=code, toutiaoid=toutiaoid, alias=alias, image=image,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function, articleurl=articleurl)
toutiao.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/toutiao/')
else:
toutiao = Toutiao(code=code, toutiaoid=toutiaoid, alias=alias, image='toutiao.png',
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function, articleurl=articleurl)
toutiao.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/toutiao/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-create-toutiao.html',
{'toutiao_status_choices_list': toutiao_status_choices_list,
"organization": organization})
else:
messages.success(request, "头条号不能为空")
return render(request, 'management/newmedia-management-create-toutiao.html',
{'toutiao_status_choices_list': toutiao_status_choices_list, "organization": organization})
return render(request, 'management/newmedia-management-create-toutiao.html',
{'toutiao_status_choices_list': toutiao_status_choices_list, "organization": organization})
@login_required
def newmedia_management_create_douyin(request):
douyin_status_choices_list = []
for w in range(2):
douyin_status_choices_list.append(w)
organization = Organization.objects.filter(status='1').order_by('-name')
if request.method == 'POST':
code = request.POST.get('code')
douyinid = request.POST.get('douyinid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
douyin = Douyin(code=code, douyinid=douyinid, alias=alias, image=image,
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
douyin.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/douyin/')
else:
douyin = Douyin(code=code, douyinid=douyinid, alias=alias, image='douyin.png',
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
douyin.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/douyin/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-create-douyin.html',
{'douyin_status_choices_list': douyin_status_choices_list,
"organization": organization})
else:
messages.success(request, "抖音号不能为空")
return render(request, 'management/newmedia-management-create-douyin.html',
{'douyin_status_choices_list': douyin_status_choices_list, "organization": organization})
return render(request, 'management/newmedia-management-create-douyin.html',
{'douyin_status_choices_list': douyin_status_choices_list, "organization": organization})
@login_required
def newmedia_management_create_qita(request):
qita_status_choices_list = []
for w in range(2):
qita_status_choices_list.append(w)
organization = Organization.objects.filter(status='1').order_by('-name')
if request.method == 'POST':
type = request.POST.get('type')
name = request.POST.get('name')
qitaid = request.POST.get('qitaid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if name is not None:
if organization is not None:
if image is not None:
qita = Qita(type=type, name=name, qitaid=qitaid, alias=alias, image=image,
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
qita.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/qita/')
else:
qita = Qita(type=type, name=name, qitaid=qitaid, alias=alias, image='qita.png',
organization_id=o_id, status=status, identificationcode=identificationcode,
function=function, articleurl=articleurl)
qita.save()
messages.success(request, '创建成功')
return HttpResponseRedirect('/management/newmedia/management/create/qita/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-create-qita.html',
{'qita_status_choices_list': qita_status_choices_list, "organization": organization})
else:
messages.success(request, "新媒体名称不能为空")
return render(request, 'management/newmedia-management-create-qita.html',
{'qita_status_choices_list': qita_status_choices_list, "organization": organization})
return render(request, 'management/newmedia-management-create-qita.html',
{'qita_status_choices_list': qita_status_choices_list, "organization": organization})
@login_required
def newmedia_management_edit_menu(request):
return render(request, 'management/newmedia-management-edit-menu.html')
@login_required
def newmedia_management_edit_weixin(request):
weixin_count = Weixin.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
weixin = None
res = []
if level == 1:
weixin = Weixin.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
weixin = Weixin.objects.filter(organization__province=province, organization__cities=cities).order_by(
'-created')
elif level == 3:
weixin = Weixin.objects.filter(organization__province=province, organization__cities=cities,
organization__district=district).order_by(
'-created')
elif level == 9:
weixin = Weixin.objects.all().order_by('-created')
if weixin is not None:
paginator = Paginator(weixin, 6)
page = int(request.GET.get('page', 1))
try:
weixin = paginator.page(page)
except PageNotAnInteger:
weixin = paginator.page(1)
except EmptyPage:
weixin = paginator.page(paginator.num_pages)
for w in weixin:
o = dict()
o['id'] = str(w.id)
if w.image:
o['image'] = w.image
else:
o['image'] = 'weixin.png'
o['code'] = w.code
o['weixinid'] = w.weixinid
o['organization'] = w.organization.name
# o['organization_type'] = w.organization.organizationtype.organizationtype
if len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0 and len(w.organization.village) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.village).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name)
elif len(w.organization.province) > 0:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=w.organization.province).name)
o['status'] = w.status
res.append(o)
return render(request, 'management/newmedia-management-edit-weixin.html',
{'weixin': weixin, 'res': res, 'weixin_count': weixin_count})
@login_required
def newmedia_management_edit_weibo(request):
weibo_count = Weibo.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
weibo = None
res = []
if level == 1:
weibo = Weibo.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
weibo = Weibo.objects.filter(organization__province=province, organization__cities=cities).order_by('-created')
elif level == 3:
weibo = Weibo.objects.filter(organization__province=province, organization__cities=cities,
organization__district=district).order_by('-created')
elif level == 9:
weibo = Weibo.objects.all().order_by('-created')
if weibo is not None:
paginator = Paginator(weibo, 6)
page = int(request.GET.get('page', 1))
try:
weibo = paginator.page(page)
except PageNotAnInteger:
weibo = paginator.page(1)
except EmptyPage:
weibo = paginator.page(paginator.num_pages)
for w in weibo:
o = dict()
o['id'] = str(w.id)
if w.image:
o['image'] = w.image
else:
o['image'] = 'weibo.png'
o['code'] = w.code
o['weiboid'] = w.weiboid
o['organization'] = w.organization.name
# o['organization_type'] = w.organization.organizationtype.organizationtype
if len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0 and len(w.organization.village) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.village).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name)
elif len(w.organization.province) > 0:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=w.organization.province).name)
o['status'] = w.status
res.append(o)
return render(request, 'management/newmedia-management-edit-weibo.html',
{'weibo': weibo, 'res': res, 'weibo_count': weibo_count})
@login_required
def newmedia_management_edit_toutiao(request):
toutiao_count = Toutiao.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
toutiao = None
res = []
if level == 1:
toutiao = Toutiao.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
toutiao = Toutiao.objects.filter(organization__province=province, organization__cities=cities).order_by(
'-created')
elif level == 3:
toutiao = Toutiao.objects.filter(organization__province=province, organization__cities=cities,
organization__district=district).order_by(
'-created')
elif level == 9:
toutiao = Toutiao.objects.all().order_by('-created')
if toutiao is not None:
paginator = Paginator(toutiao, 6)
page = int(request.GET.get('page', 1))
try:
toutiao = paginator.page(page)
except PageNotAnInteger:
toutiao = paginator.page(1)
except EmptyPage:
toutiao = paginator.page(paginator.num_pages)
for w in toutiao:
o = dict()
o['id'] = str(w.id)
if w.image:
o['image'] = w.image
else:
o['image'] = 'toutiao.png'
o['code'] = w.code
o['toutiaoid'] = w.toutiaoid
o['organization'] = w.organization.name
# o['organization_type'] = w.organization.organizationtype.organizationtype
if len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0 and len(w.organization.village) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.village).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name)
elif len(w.organization.province) > 0:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=w.organization.province).name)
o['status'] = w.status
res.append(o)
return render(request, 'management/newmedia-management-edit-toutiao.html',
{'toutiao': toutiao, 'res': res, 'toutiao_count': toutiao_count})
@login_required
def newmedia_management_edit_douyin(request):
douyin_count = Douyin.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
douyin = None
res = []
if level == 1:
douyin = Douyin.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
douyin = Douyin.objects.filter(organization__province=province, organization__cities=cities).order_by(
'-created')
elif level == 3:
douyin = Douyin.objects.filter(organization__province=province, organization__cities=cities,
organization__district=district).order_by(
'-created')
elif level == 9:
douyin = Douyin.objects.all().order_by('-created')
if douyin is not None:
paginator = Paginator(douyin, 6)
page = int(request.GET.get('page', 1))
try:
douyin = paginator.page(page)
except PageNotAnInteger:
douyin = paginator.page(1)
except EmptyPage:
douyin = paginator.page(paginator.num_pages)
for w in douyin:
o = dict()
o['id'] = str(w.id)
if w.image:
o['image'] = w.image
else:
o['image'] = 'douyin.jpg'
o['code'] = w.code
o['douyinid'] = w.douyinid
o['organization'] = w.organization.name
# o['organization_type'] = w.organization.organizationtype.organizationtype
if len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0 and len(w.organization.village) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.village).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name)
elif len(w.organization.province) > 0:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=w.organization.province).name)
o['status'] = w.status
res.append(o)
return render(request, 'management/newmedia-management-edit-douyin.html',
{'douyin': douyin, 'res': res, 'douyin_count': douyin_count})
@login_required
def newmedia_management_edit_qita(request):
qita_count = Qita.objects.all().count()
user = request.user
o = Organization.objects.get(userprofile__user_id=user.id)
level = o.level.level
province = o.province
cities = o.cities
district = o.district
qita = None
res = []
if level == 1:
qita = Qita.objects.filter(organization__province=province).order_by('-created')
elif level == 2:
qita = Qita.objects.filter(organization__province=province, organization__cities=cities).order_by('-created')
elif level == 3:
qita = Qita.objects.filter(organization__province=province, organization__cities=cities,
organization__district=district).order_by('-created')
elif level == 9:
qita = Qita.objects.all().order_by('-created')
if qita is not None:
paginator = Paginator(qita, 6)
page = int(request.GET.get('page', 1))
try:
qita = paginator.page(page)
except PageNotAnInteger:
qita = paginator.page(1)
except EmptyPage:
qita = paginator.page(paginator.num_pages)
for w in qita:
o = dict()
o['id'] = str(w.id)
if w.image:
o['image'] = w.image
else:
o['image'] = 'qita.png'
o['type'] = w.type
o['name'] = w.code
o['qitaid'] = w.qitaid
o['organization'] = w.organization.name
# o['organization_type'] = w.organization.organizationtype.organizationtype
if len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0 and len(w.organization.village) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.village).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0 and len(w.organization.town) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.town).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0 and len(
w.organization.district) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.district).name)
elif len(w.organization.province) > 0 and len(w.organization.cities) > 0:
o['administrativedivision'] = str(
Area_code_2020.objects.get(code=w.organization.province).name) + '-' + str(
Area_code_2020.objects.get(code=w.organization.cities).name)
elif len(w.organization.province) > 0:
o['administrativedivision'] = str(Area_code_2020.objects.get(code=w.organization.province).name)
o['status'] = w.status
res.append(o)
return render(request, 'management/newmedia-management-edit-qita.html',
{'qita': qita, 'res': res, 'qita_count': qita_count})
@login_required
def newmedia_management_update_weixin(request, pk):
weixin_status_choices_list = []
for w in range(2):
weixin_status_choices_list.append(w)
weixin = Weixin.objects.get(id=pk)
organization = Organization.objects.filter(status='1')
if request.method == 'POST':
code = request.POST.get('code')
weixinid = request.POST.get('weixinid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
Weixin.objects.filter(id=pk).update(code=code, weixinid=weixinid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
weixin.image = image
weixin.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/weixin/')
else:
Weixin.objects.filter(id=pk).update(code=code, weixinid=weixinid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/weixin/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-update-weixin.html',
{'weixin': weixin, 'organization': organization,
'weixin_status_choices_list': weixin_status_choices_list})
else:
messages.success(request, "微信公众号不能为空")
return render(request, 'management/newmedia-management-update-weixin.html',
{'weixin': weixin, 'organization': organization,
'weixin_status_choices_list': weixin_status_choices_list})
return render(request, 'management/newmedia-management-update-weixin.html',
{'weixin': weixin, 'organization': organization,
'weixin_status_choices_list': weixin_status_choices_list})
@login_required
def newmedia_management_update_weibo(request, pk):
weibo_status_choices_list = []
for w in range(2):
weibo_status_choices_list.append(w)
weibo = Weibo.objects.get(id=pk)
organization = Organization.objects.filter(status='1')
if request.method == 'POST':
code = request.POST.get('code')
weiboid = request.POST.get('weiboid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
Weibo.objects.filter(id=pk).update(code=code, weiboid=weiboid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
weibo.image = image
weibo.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/weibo/')
else:
Weibo.objects.filter(id=pk).update(code=code, weiboid=weiboid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/weibo/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-update-weibo.html',
{'weibo': weibo, 'organization': organization,
'weibo_status_choices_list': weibo_status_choices_list})
else:
messages.success(request, "微博号不能为空")
return render(request, 'management/newmedia-management-update-weibo.html',
{'weibo': weibo, 'organization': organization,
'weibo_status_choices_list': weibo_status_choices_list})
return render(request, 'management/newmedia-management-update-weibo.html',
{'weibo': weibo, 'organization': organization,
'weibo_status_choices_list': weibo_status_choices_list})
@login_required
def newmedia_management_update_toutiao(request, pk):
toutiao_status_choices_list = []
for w in range(2):
toutiao_status_choices_list.append(w)
toutiao = Toutiao.objects.get(id=pk)
organization = Organization.objects.filter(status='1')
if request.method == 'POST':
code = request.POST.get('code')
toutiaoid = request.POST.get('toutiaoid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
Toutiao.objects.filter(id=pk).update(code=code, toutiaoid=toutiaoid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
toutiao.image = image
toutiao.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/')
else:
Toutiao.objects.filter(id=pk).update(code=code, toutiaoid=toutiaoid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-update-toutiao.html',
{'toutiao': toutiao, 'organization': organization,
'toutiao_status_choices_list': toutiao_status_choices_list})
else:
messages.success(request, "头条号不能为空")
return render(request, 'management/newmedia-management-update-toutiao.html',
{'toutiao': toutiao, 'organization': organization,
'toutiao_status_choices_list': toutiao_status_choices_list})
return render(request, 'management/newmedia-management-update-toutiao.html',
{'toutiao': toutiao, 'organization': organization,
'toutiao_status_choices_list': toutiao_status_choices_list})
@login_required
def newmedia_management_update_douyin(request, pk):
douyin_status_choices_list = []
for w in range(2):
douyin_status_choices_list.append(w)
douyin = Douyin.objects.get(id=pk)
organization = Organization.objects.filter(status='1')
if request.method == 'POST':
code = request.POST.get('code')
douyinid = request.POST.get('douyinid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if code is not None:
if organization is not None:
if image is not None:
Douyin.objects.filter(id=pk).update(code=code, douyinid=douyinid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
douyin.image = image
douyin.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/douyin/')
else:
Douyin.objects.filter(id=pk).update(code=code, douyinid=douyinid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/douyin/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-update-douyin.html',
{'douyin': douyin, 'organization': organization,
'douyin_status_choices_list': douyin_status_choices_list})
else:
messages.success(request, "抖音号不能为空")
return render(request, 'management/newmedia-management-update-douyin.html',
{'douyin': douyin, 'organization': organization,
'douyin_status_choices_list': douyin_status_choices_list})
return render(request, 'management/newmedia-management-update-douyin.html',
{'douyin': douyin, 'organization': organization,
'douyin_status_choices_list': douyin_status_choices_list})
@login_required
def newmedia_management_update_qita(request, pk):
qita_status_choices_list = []
for w in range(2):
qita_status_choices_list.append(w)
organization = Organization.objects.filter(status='1')
qita = Qita.objects.get(id=pk)
if request.method == 'POST':
type = request.POST.get('type')
name = request.POST.get('name')
qitaid = request.POST.get('qitaid')
alias = request.POST.get('alias')
image = request.FILES.get('image')
o = request.POST.get('organization')
o_id = Organization.objects.get(name=o).id
status = request.POST.get('status')
identificationcode = request.POST.get('identificationcode')
function = request.POST.get('function')
articleurl = request.POST.get('articleurl')
if name is not None:
if organization is not None:
if image is not None:
Qita.objects.filter(id=pk).update(type=type, code=name, qitaid=qitaid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
qita.image = image
qita.save()
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/qita/')
else:
Qita.objects.filter(id=pk).update(type=type, code=name, qitaid=qitaid, alias=alias,
organization_id=o_id, status=status,
identificationcode=identificationcode, function=function,
articleurl=articleurl)
messages.success(request, '修改成功')
return HttpResponseRedirect('/management/newmedia/management/edit/qita/')
else:
messages.success(request, "请选择单位")
return render(request, 'management/newmedia-management-update-qita.html',
{'qita': qita, 'organization': organization,
'qita_status_choices_list': qita_status_choices_list})
else:
messages.success(request, "新媒体名称不能为空")
return render(request, 'management/newmedia-management-update-qita.html',
{'qita': qita, 'organization': organization,
'qita_status_choices_list': qita_status_choices_list})
return render(request, 'management/newmedia-management-update-qita.html',
{'qita': qita, 'organization': organization,
'qita_status_choices_list': qita_status_choices_list})
@login_required
def newmedia_management_delete_weixin(request, pk):
weixin = Weixin.objects.get(id=pk)
weixin.delete()
messages.success(request, "删除成功")
return HttpResponseRedirect('/management/newmedia/management/edit/weixin/')
@login_required
def newmedia_management_delete_weibo(request, pk):
weibo = Weibo.objects.get(id=pk)
weibo.delete()
messages.success(request, "删除成功")
return HttpResponseRedirect('/management/newmedia/management/edit/weibo/')
@login_required
def newmedia_management_delete_toutiao(request, pk):
toutiao = Toutiao.objects.get(id=pk)
toutiao.delete()
messages.success(request, "删除成功")
return HttpResponseRedirect('/management/newmedia/management/edit/toutiao/')
@login_required
def newmedia_management_delete_douyin(request, pk):
douyin = Douyin.objects.get(id=pk)
douyin.delete()
messages.success(request, "删除成功")
return HttpResponseRedirect('/management/newmedia/management/edit/douyin/')
@login_required
def newmedia_management_delete_qita(request, pk):
qita = Qita.objects.get(id=pk)
qita.delete()
messages.success(request, "删除成功")
return HttpResponseRedirect('/management/newmedia/management/edit/qita/')
@login_required
def new_management(request):
news_count = News.objects.all().count()
news = News.objects.all()
paginator = Paginator(news, 6)
page = int(request.GET.get('page', 1))
try:
news = paginator.page(page)
except PageNotAnInteger:
news = paginator.page(1)
except EmptyPage:
news = paginator.page(paginator.num_pages)
news_list = []
for n in news:
o = dict()
o['id'] = str(n.id)
o['title'] = n.title
o['date'] = n.date
o['author'] = n.author
if n.type == '0':
o['type'] = '政策依据'
elif n.type == '1':
o['type'] = '基层动态'
elif n.type == '2':
o['type'] = '外省动态'
elif n.type == '3':
o['type'] = '监测通报'
elif n.type == '4':
o['type'] = '舆情热点'
elif n.type == '5':
o['type'] = '通知'
elif n.type == '6':
o['type'] = '重点新闻'
news_list.append(o)
return render(request, 'management/news-management.html',
{'news': news_list, 'new': news, 'news_count': news_count})
@login_required
def news_management_create(request):
if request.method == 'POST':
type = request.POST.get('type')
title = request.POST.get('title')
author = request.POST.get('author')
date = request.POST.get('date')
content = request.POST.get('content')
source = request.POST.get('source')
image = request.FILES.get('image')
t = None
if type == '政策依据':
t = '0'
elif type == "基层动态":
t = '1'
elif type == '外省动态':
t = '2'
elif type == '监测通报':
t = '3'
elif type == '舆情热点':
t = '4'
elif type == '通知':
t = '5'
elif type == '重点新闻':
t = '6'
news = News(type=t, title=title, author=author, date=date, content=content, source=source, image=image)
news.save()
if t == '5':
profiles = Userprofile.objects.filter(status=1)
content = '管理员发布了通知,请查收消息'
phones = []
for p in profiles:
phones.append(p.user.username)
Notice.create_news_notice(p.user_id, content, news.id)
send_tnps(phones, '通知', content)
messages.success(request, '添加成功!')
return HttpResponseRedirect('/management/news/management/create/')
type = News.NEWMEDIA_NEWS_CHOICES
results = []
for i in type:
o = dict()
o['choices'] = list(i)[1]
results.append(o)
return render(request, 'management/news-management-create.html', {'type': results})
@login_required
def news_management_update(request, pk):
news = News.objects.get(id=pk)
type = News.NEWMEDIA_NEWS_CHOICES
results = []
for i in type:
o = dict()
o['choices'] = list(i)[1]
results.append(o)
if request.method == 'POST':
type = request.POST.get('type')
title = request.POST.get('title')
author = request.POST.get('author')
content = request.POST.get('content')
source = request.POST.get('source')
t = None
if type == '政策依据':
t = '0'
elif type == "基层动态":
t = '1'
elif type == '外省动态':
t = '2'
elif type == '监测通报':
t = '3'
elif type == '舆情热点':
t = '4'
elif type == '通知':
t = '5'
elif type == '重点新闻':
t = '6'
if request.FILES.get('image'):
image = request.FILES.get('image')
n = News.objects.get(id=pk)
if request.POST.get('date'):
date = request.POST.get('date')
News.objects.filter(id=pk).update(type=t, title=title, author=author, date=date, content=content,
source=source)
n.image = image
n.save()
else:
News.objects.filter(id=pk).update(type=t, title=title, author=author, content=content,
source=source)
n.image = image
n.save()
else:
News.objects.filter(id=pk).update(type=t, title=title, author=author, content=content,
source=source)
messages.success(request, '编辑成功')
return HttpResponseRedirect('/management/news/management/')
return render(request, 'management/news-management-update.html', {'news': news, 'type': results})
@login_required
def news_management_detail(request, pk):
news = News.objects.get(id=pk)
return render(request, 'management/news-management-detail.html', {'news': news})
@login_required
def news_management_delete(request, pk):
news = News.objects.get(id=pk)
news.delete()
messages.success(request, '删除成功')
return HttpResponseRedirect('/management/news/management/')
@login_required
def newmedia_detail_weixin(request, pk):
weixin = Weixin.objects.all().order_by('-created')
return render(request, 'management/newmedia-detail-weixin.html', {'weixin': weixin})
@login_required
def group_user_search(request,pk):
keyword = request.POST.get('keyword')
keytype = request.POST.get('keytype')
group = Group.objects.get(id=pk)
p = ''
c = ''
d = ''
t = ''
v = ''
if group.province != '' and group.province != 'None':
p = Area_code_2020.objects.get(code=group.province).name
if group.cities and group.cities != 'None':
c = Area_code_2020.objects.get(code=group.cities).name
if group.district and group.district != 'None':
d = Area_code_2020.objects.get(code=group.district).name
if group.town and group.town != 'None':
t = Area_code_2020.objects.get(code=group.town).name
if group.village and group.village != 'None':
v = Area_code_2020.objects.get(code=group.village).name
group_status_choices_list = []
for g in range(2):
group_status_choices_list.append(g)
GROUP_CLASSIFY_CHOICES = Group.GROUP_CLASSIFY_CHOICES
g_c_c_res = []
for g_c_c in GROUP_CLASSIFY_CHOICES:
g_c_c_res.append([list(g_c_c)[0], list(g_c_c)[1]])
group_type = Group_type.objects.all()
group_admin = Group_admin.objects.filter(group_id=pk)
g_a_list = []
for g_a in group_admin:
o = dict()
o['id'] = str(g_a.id)
if Userprofile.objects.get(user_id=g_a.user.id):
if Userprofile.objects.get(user_id=g_a.user.id).image:
o['image'] = Userprofile.objects.get(user_id=g_a.user.id).image.url
else:
o['image'] = '/profile/user_default.jpg'
o['username'] = g_a.user.username
o['name'] = Userprofile.objects.get(user_id=g_a.user.id).name
o['organization'] = Userprofile.objects.get(user_id=g_a.user.id).organization.name
admin_p = Userprofile.objects.get(user_id=g_a.user_id).organization.province
admin_c = Userprofile.objects.get(user_id=g_a.user_id).organization.cities
admin_d = Userprofile.objects.get(user_id=g_a.user_id).organization.district
admin_t = Userprofile.objects.get(user_id=g_a.user_id).organization.town
admin_v = Userprofile.objects.get(user_id=g_a.user_id).organization.village
if admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None' and admin_t and admin_t != 'None' and admin_v and admin_v != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name) + '-' + str(
Area_code_2020.objects.get(code=admin_t).name) + '-' + str(
Area_code_2020.objects.get(code=admin_v).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None' and admin_t and admin_t != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name) + '-' + str(
Area_code_2020.objects.get(code=admin_t).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None' and admin_d and admin_d != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name) + '-' + str(
Area_code_2020.objects.get(code=admin_d).name)
elif admin_p and admin_p != 'None' and admin_c and admin_c != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=admin_p).name) + '-' + str(
Area_code_2020.objects.get(code=admin_c).name)
elif admin_p and admin_p != 'None':
o['administrativedivision'] = str(Area_code_2020.objects.get(code=str(admin_p)).name)
g_a_list.append(o)
if keytype == '1':
group_user = Group_user.objects.filter(group_id=pk,user__userprofile__name__contains=keyword)
elif keytype == '2':
group_user = Group_user.objects.filter(group_id=pk, user__username__contains=keyword)
paginator = Paginator(group_user, 6)
page = int(request.GET.get('page', 1))
try:
group_user = paginator.page(page)
except PageNotAnInteger:
group_user = paginator.page(1)
except EmptyPage:
group_user = paginator.page(paginator.num_pages)
g_u_list = []
for g_u in group_user:
i = dict()
i['id'] = str(g_u.id)
if Userprofile.objects.get(user_id=g_u.user.id).image:
i['image'] = Userprofile.objects.get(user_id=g_u.user.id).image.url
else:
i['image'] = '/profile/user_default.jpg'
i['username'] = g_u.user.username
i['name'] = Userprofile.objects.get(user_id=g_u.user.id).name
i['organization'] = Userprofile.objects.get(user_id=g_u.user.id).organization.name
user_p = Userprofile.objects.get(user_id=g_u.user_id).organization.province
user_c = Userprofile.objects.get(user_id=g_u.user_id).organization.cities
user_d = Userprofile.objects.get(user_id=g_u.user_id).organization.district
user_t = Userprofile.objects.get(user_id=g_u.user_id).organization.town
user_v = Userprofile.objects.get(user_id=g_u.user_id).organization.village
if user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None' and user_t and user_t != 'None' and user_v and user_v != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name) + '-' + str(
Area_code_2020.objects.get(code=user_t).name) + '-' + str(
Area_code_2020.objects.get(code=user_v).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None' and user_t and user_t != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name) + '-' + str(
Area_code_2020.objects.get(code=user_t).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None' and user_d and user_d != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name) + '-' + str(
Area_code_2020.objects.get(code=user_d).name)
elif user_p and user_p != 'None' and user_c and user_c != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=user_p).name) + '-' + str(
Area_code_2020.objects.get(code=user_c).name)
elif user_p and user_p != 'None':
i['administrativedivision'] = str(Area_code_2020.objects.get(code=str(user_p)).name)
g_u_list.append(i)
return render(request, 'management/group-management-update.html',
{'group': group, 'group_status_choices_list': group_status_choices_list, 'group_type': group_type,
'g_a_list': g_a_list, 'g_u_list': g_u_list, 'g_c_c_res': g_c_c_res, 'p': p, 'c': c, 'd': d, 't': t,
'v': v, 'page': group_user,'keytype':keytype,'keyword':keyword})