Merge branch 'master' of http://git.eanbo.cn/xieshen/newmediamonitoring
This commit is contained in:
commit
933cec0b8c
|
@ -9,6 +9,7 @@ urlpatterns = [
|
|||
path('backstage/comment/',views.backstage_comment,name='backstage-comment'),
|
||||
path('backstage/user/',views.backstage_user,name='backstage-user'),
|
||||
path('backstage/organization/update/',views.backstage_organization_update,name='backstage-organization_update'),
|
||||
path('backstage/data/download/',views.backstage_data_download,name='backstage-data-download'),
|
||||
path('backstage/weixin/update/',views.backstage_weixin_update,name='backstage-weixin_update'),
|
||||
path('backstage/douyin/update/',views.backstage_douyin_update,name='backstage-douyin_update'),
|
||||
path('backstage/weibo/update/',views.backstage_weibo_update,name='backstage-weibo_update'),
|
||||
|
|
|
@ -6,7 +6,7 @@ from datetime import datetime
|
|||
|
||||
import xlrd
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.http import HttpResponse, HttpResponseRedirect, FileResponse
|
||||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
||||
|
@ -444,3 +444,95 @@ def add_unqualified_media(request):
|
|||
print(media_id)
|
||||
messages.success(request,"上传成功")
|
||||
return render(request,'backstage/backstage_add_unqualified_media.html')
|
||||
|
||||
def backstage_data_download(request):
|
||||
user = request.user
|
||||
weixin = Weixin.objects.all()
|
||||
weibo = Weibo.objects.all()
|
||||
toutiao = Toutiao.objects.all()
|
||||
douyin = Douyin.objects.all()
|
||||
qita = Qita.objects.all()
|
||||
results = []
|
||||
for wx in weixin:
|
||||
o_weixin = dict()
|
||||
o_weixin['type'] = "微信"
|
||||
o_weixin['code'] = wx.code
|
||||
o_weixin['organization'] = wx.organization.name
|
||||
o_weixin['alias'] = wx.alias
|
||||
o_weixin['status'] = wx.status
|
||||
o_weixin['id'] = wx.weixinid
|
||||
o_weixin['attention'] = wx.attention
|
||||
o_weixin['identificationcode'] = wx.identificationcode
|
||||
o_weixin['function'] = wx.function
|
||||
o_weixin['articleurl'] = wx.articleurl
|
||||
results.append(o_weixin)
|
||||
for wb in weibo:
|
||||
o_weibo = dict()
|
||||
o_weibo['type'] = "微博"
|
||||
o_weibo['code'] = wb.code
|
||||
o_weibo['organization'] = wb.organization.name
|
||||
o_weibo['alias'] = wb.alias
|
||||
o_weibo['status'] = wb.status
|
||||
o_weibo['id'] = wb.weiboid
|
||||
o_weibo['attention'] = wb.attention
|
||||
o_weibo['identificationcode'] = wb.identificationcode
|
||||
o_weibo['function'] = wb.function
|
||||
o_weibo['articleurl'] = wb.articleurl
|
||||
results.append(o_weibo)
|
||||
for tt in toutiao:
|
||||
o_toutiao = dict()
|
||||
o_toutiao['type'] = "今日头条"
|
||||
o_toutiao['code'] = tt.code
|
||||
o_toutiao['organization'] = tt.organization.name
|
||||
o_toutiao['alias'] = tt.alias
|
||||
o_toutiao['status'] = tt.status
|
||||
o_toutiao['id'] = tt.toutiaoid
|
||||
o_toutiao['attention'] = tt.attention
|
||||
o_toutiao['identificationcode'] = tt.identificationcode
|
||||
o_toutiao['function'] = tt.function
|
||||
o_toutiao['articleurl'] = tt.articleurl
|
||||
results.append(o_toutiao)
|
||||
for dy in douyin:
|
||||
o_douyin = dict()
|
||||
o_douyin['type'] = "抖音"
|
||||
o_douyin['code'] = dy.code
|
||||
o_douyin['organization'] = dy.organization.name
|
||||
o_douyin['alias'] = dy.alias
|
||||
o_douyin['status'] = dy.status
|
||||
o_douyin['id'] = dy.douyinid
|
||||
o_douyin['attention'] = dy.attention
|
||||
o_douyin['identificationcode'] = dy.identificationcode
|
||||
o_douyin['function'] = dy.function
|
||||
o_douyin['articleurl'] = dy.articleurl
|
||||
results.append(o_douyin)
|
||||
for qt in qita:
|
||||
o_qita = dict()
|
||||
o_qita['type'] = qt.type
|
||||
o_qita['code'] = qt.code
|
||||
o_qita['organization'] = qt.organization.name
|
||||
o_qita['alias'] = qt.alias
|
||||
o_qita['status'] = qt.status
|
||||
o_qita['id'] = qt.qitaid
|
||||
o_qita['attention'] = qt.attention
|
||||
o_qita['identificationcode'] = qt.identificationcode
|
||||
o_qita['function'] = qt.function
|
||||
o_qita['articleurl'] = qt.articleurl
|
||||
results.append(o_qita)
|
||||
# print(results)
|
||||
t = int(time.time())
|
||||
os.popen('mkdir /var/www/p3/newmediamonitoring/static/upload')
|
||||
f = '/var/www/p3/newmediamonitoring/static/upload'
|
||||
with open(f+'/'+user.username+'.csv','w', newline='',encoding='utf-8') as csvfile:
|
||||
writer = csv.writer(csvfile)
|
||||
writer.writerow(["类型","名称", "单位", "别名", "状态", "ID", "关注量","新媒体标识码","功能","文章URL"])
|
||||
for r in results:
|
||||
# print(r['type'])
|
||||
writer.writerow([r['type'], r['code'], r['organization'],r['alias'], r['status'], r['id'], r['attention'],r['identificationcode'],r['function'], r['articleurl']])
|
||||
file = open(f+'/'+user.username+'.csv','rb')
|
||||
response = FileResponse(file)
|
||||
response['Content-Type'] = 'application/octet-stream'
|
||||
response['Content-Disposition'] = 'attachment;filename="data.csv"'
|
||||
return response
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -191,8 +191,8 @@
|
|||
href="{% url 'backstage-comment' %}">评论</a>
|
||||
</li>
|
||||
<li>
|
||||
<a {% if url_name == 'backstage-organization_update' %} class="active" {% endif %}
|
||||
href="{% url 'backstage-organization_update' %}">单位更新</a>
|
||||
<a {% if url_name == 'backstage-data-download' %} class="active" {% endif %}
|
||||
href="{% url 'backstage-data-download' %}">数据下载</a>
|
||||
</li>
|
||||
<li>
|
||||
<a {% if url_name == 'backstage-weixin_update' %} class="active" {% endif %}
|
||||
|
|
|
@ -448,14 +448,21 @@ def import_user(request):
|
|||
|
||||
@login_required
|
||||
def user_search_by_keyword(request):
|
||||
keytype = None
|
||||
keyword = None
|
||||
if request.method == 'POST':
|
||||
keytype = request.POST.get('keytype')
|
||||
keyword = request.POST.get('keyword')
|
||||
else:
|
||||
keytype = request.GET.get('keytype')
|
||||
keyword = request.GET.get('keyword')
|
||||
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
|
||||
keytype = request.POST.get('keytype')
|
||||
keyword = request.POST.get('ketword')
|
||||
|
||||
userpaginator = None
|
||||
if level == 1:
|
||||
if keytype == '1':
|
||||
|
@ -464,6 +471,22 @@ def user_search_by_keyword(request):
|
|||
elif keytype == '2':
|
||||
userpaginator = Userprofile.objects.filter(organization__name__contains=keyword,
|
||||
userprofile__organization__province=province)
|
||||
elif keytype == '3':
|
||||
userpaginator = Userprofile.objects.filter(user__username__contains=keyword,
|
||||
userprofile__organization__province=province)
|
||||
elif keytype == '4':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__cities=k.code,
|
||||
userprofile__organization__province=province)
|
||||
elif keytype == '5':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__district=k.code,
|
||||
userprofile__organization__province=province)
|
||||
elif keytype == '6':
|
||||
userpaginator = Userprofile.objects.filter(message_status=True,name__contains=keyword,
|
||||
userprofile__organization__province=province)
|
||||
elif level == 2:
|
||||
if keytype == '1':
|
||||
userpaginator = Userprofile.objects.filter(name__contains=keyword,
|
||||
|
@ -473,6 +496,26 @@ def user_search_by_keyword(request):
|
|||
userpaginator = Userprofile.objects.filter(organization__name__contains=keyword,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities)
|
||||
elif keytype == '3':
|
||||
userpaginator = Userprofile.objects.filter(user__username__contains=keyword,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities)
|
||||
elif keytype == '4':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__cities=k.code,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities)
|
||||
elif keytype == '5':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__district=k.code,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities)
|
||||
elif keytype == '6':
|
||||
userpaginator = Userprofile.objects.filter(message_status=True,name__contains=keyword,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities)
|
||||
elif level == 3:
|
||||
if keytype == '1':
|
||||
userpaginator = Userprofile.objects.filter(name__contains=keyword,
|
||||
|
@ -484,25 +527,60 @@ def user_search_by_keyword(request):
|
|||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities,
|
||||
userprofile__organization__district=district)
|
||||
elif keytype == '3':
|
||||
userpaginator = Userprofile.objects.filter(user__username__contains=keyword,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities,
|
||||
userprofile__organization__district=district)
|
||||
elif keytype == '4':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__cities=k.code,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities,
|
||||
userprofile__organization__district=district)
|
||||
elif keytype == '5':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__district=k.code,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities,
|
||||
userprofile__organization__district=district)
|
||||
elif keytype == '6':
|
||||
userpaginator = Userprofile.objects.filter(message_status=True,name__contains=keyword,
|
||||
userprofile__organization__province=province,
|
||||
userprofile__organization__cities=cities,
|
||||
userprofile__organization__district=district)
|
||||
elif level == 9:
|
||||
if keytype == '1':
|
||||
print(keyword)
|
||||
userpaginator = Userprofile.objects.filter(name__contains=keyword)
|
||||
elif keytype == '2':
|
||||
userpaginator = Userprofile.objects.filter(organization__name__contains=keyword)
|
||||
elif keytype == '3':
|
||||
userpaginator = Userprofile.objects.filter(user__username__contains=keyword)
|
||||
elif keytype == '4':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__cities=k.code)
|
||||
elif keytype == '5':
|
||||
key = Area_code_2020.objects.filter(name__contains=keyword)
|
||||
for k in key:
|
||||
userpaginator = Userprofile.objects.filter(organization__district=k.code)
|
||||
elif keytype == '6':
|
||||
userpaginator = Userprofile.objects.filter(message_status=True,name__contains=keyword)
|
||||
|
||||
# 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)
|
||||
user_count = None
|
||||
if userpaginator:
|
||||
user_count = userpaginator.count()
|
||||
user_count = userpaginator.count()
|
||||
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)
|
||||
userallinfo = []
|
||||
for u in userpaginator[:30]:
|
||||
for u in userpaginator:
|
||||
o = dict()
|
||||
o['id'] = str(u.id)
|
||||
o['user_id'] = str(u.user_id)
|
||||
|
@ -553,7 +631,7 @@ def user_search_by_keyword(request):
|
|||
'None', '')
|
||||
userallinfo.append(o)
|
||||
return render(request, 'management/user-management.html',
|
||||
{'userallinfo': userallinfo, 'userpaginator': userpaginator, 'user_count': user_count})
|
||||
{'userallinfo': userallinfo, 'userpaginator': userpaginator, 'user_count': user_count,'keytype':keytype,'keyword':keyword})
|
||||
|
||||
|
||||
@login_required
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
action="{% url 'user-management-update' usee.id %}"
|
||||
enctype="multipart/form-data">{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="organization">单位</label>
|
||||
<label class="form-label" for="organization">单位(请选择主体单位。新建或编辑单位名称在“主体单位管理”栏)</label>
|
||||
{# <div class="controls">#}
|
||||
{# <select class="form-control" name="organization">#}
|
||||
{# <option value="{{ userprofile.organization.id }}">{{ userprofile.organization.name }}</option>#}
|
||||
|
@ -88,6 +88,16 @@
|
|||
value="{{ usee.username }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="username">通知</label>
|
||||
<div class="controls">
|
||||
{% if userprofile.message_status %}
|
||||
<span>短信通知</span>
|
||||
{% else %}
|
||||
<span>不做通知</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="form-label" for="image">图标
|
||||
|
@ -99,22 +109,7 @@
|
|||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="passwordold">旧密码<br/>
|
||||
<input type="password" name="passwordold" id="user_pass" class="input"
|
||||
value="" size="20"/></label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="passwordnew">新密码<br/>
|
||||
<input type="password" name="passwordnew" id="user_pass" class="input"
|
||||
value="" size="20"/></label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="confirm_password">确认密码<br/>
|
||||
<input type="password" name="confirm_password" id="user_pass1"
|
||||
class="input" value=""
|
||||
size="20"/></label>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="btn btn-primary" style="margin-top: 50px">提交修改
|
||||
</button>
|
||||
</form>
|
||||
|
|
|
@ -29,13 +29,14 @@
|
|||
<option value="1">姓名</option>
|
||||
<option value="2">单位</option>
|
||||
<option value="3">电话</option>
|
||||
<option value="4">行政区划</option>
|
||||
<option value="4">行政区划</option>
|
||||
<option value="4">行政区划(市)</option>
|
||||
<option value="5">行政区划(县)</option>
|
||||
<option value="6">短信通知</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-lg-6 title">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" placeholder="输入搜索关键字" name="ketword">
|
||||
<input type="text" class="form-control" placeholder="输入搜索关键字" name="keyword" value="{{ keyword }}">
|
||||
<span class="input-group-btn">
|
||||
<button class="btn btn-default" type="submit">搜索</button>
|
||||
</span>
|
||||
|
@ -73,8 +74,11 @@
|
|||
{# <td style="vertical-align: middle;text-align: center">{{ u.type }}</td>#}
|
||||
<td style="vertical-align: middle;text-align: center">{{ u.administrativedivision }}</td>
|
||||
<td style="vertical-align: middle;text-align: center">
|
||||
<a href="{% url 'user-management-update' u.user_id %}"
|
||||
class="btn btn-success btn-mini">修改</a>
|
||||
<a href="{% url 'user-management-delete' u.user_id %}"
|
||||
class="btn btn-danger btn-mini">删除</a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
@ -120,36 +120,18 @@ def user_update(request, pk):
|
|||
email = request.POST.get('email')
|
||||
username = request.POST.get('username')
|
||||
image = request.FILES.get('image')
|
||||
passwordold = request.POST.get('passwordold')
|
||||
passwordnew = request.POST.get('passwordnew')
|
||||
confirm_password = request.POST.get('confirm_password')
|
||||
if len(passwordold) != 0 and len(passwordnew) != 0 and len(confirm_password) != 0:
|
||||
if passwordnew == confirm_password:
|
||||
user.email = email
|
||||
user.username = username
|
||||
user.password = make_password(passwordnew)
|
||||
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("/")
|
||||
else:
|
||||
messages.error(request, '两次输入密码不一致')
|
||||
return HttpResponseRedirect('/management/user/update/%s/' % (pk))
|
||||
else:
|
||||
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("/index")
|
||||
|
||||
|
||||
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})
|
||||
|
|
Loading…
Reference in New Issue