126 lines
5.0 KiB
Python
126 lines
5.0 KiB
Python
from django.http import HttpResponse, JsonResponse
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.core.paginator import Paginator
|
|
|
|
from dashboard.models import NewMedia, Weixin, Weibo, Toutiao, Douyin, Qita
|
|
from polls.decorators import polls_login_required
|
|
|
|
|
|
@csrf_exempt
|
|
@polls_login_required
|
|
def medias(request):
|
|
if request.method == 'POST':
|
|
return HttpResponse(status=405)
|
|
organization_id = request.GET.get('organization_id')
|
|
new_medias = NewMedia.media_list(organization_id)
|
|
return JsonResponse({'status': 'success', 'message': new_medias}, safe=False)
|
|
|
|
|
|
@csrf_exempt
|
|
@polls_login_required
|
|
def create_media(request):
|
|
profile = request.user.userprofile_set.first()
|
|
o = profile.organization
|
|
print(profile)
|
|
if request.method == 'GET':
|
|
return HttpResponse(status=405)
|
|
category = request.POST.get('category')
|
|
if not category:
|
|
return JsonResponse({'status': 'error', 'message': '类型错误'})
|
|
code = request.POST.get('code')
|
|
if not code:
|
|
return JsonResponse({'status': 'error', 'message': '公众号名称不能为空'})
|
|
media_id = request.POST.get('media_id')
|
|
if not media_id:
|
|
return JsonResponse({'status': 'error', 'message': '公众号ID不能为空'})
|
|
alias = request.POST.get('alias')
|
|
if not alias:
|
|
return JsonResponse({'status': 'error', 'message': '别名不能为空'})
|
|
|
|
if category == 'weixin':
|
|
instance = Weixin(code=code, weixinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status=1, organization=o)
|
|
elif category == 'weibo':
|
|
instance = Weibo(code=code, weixinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status=1, organization=o)
|
|
elif category == 'toutiao':
|
|
instance = Toutiao(code=code, weixinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status=1, organization=o)
|
|
else:
|
|
instance = Qita(code=code, weixinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status=1, organization=o)
|
|
instance.save()
|
|
return JsonResponse({'status': 'success'})
|
|
|
|
|
|
@csrf_exempt
|
|
@polls_login_required
|
|
def create_media(request):
|
|
profile = request.user.userprofile_set.first()
|
|
o = profile.organization
|
|
if request.method == 'GET':
|
|
return HttpResponse(status=405)
|
|
category = request.POST.get('category')
|
|
if not category:
|
|
return JsonResponse({'status': 'error', 'message': '类型错误'})
|
|
code = request.POST.get('code')
|
|
if not code:
|
|
return JsonResponse({'status': 'error', 'message': '公众号名称不能为空'})
|
|
media_id = request.POST.get('media_id')
|
|
if not media_id:
|
|
return JsonResponse({'status': 'error', 'message': '公众号ID不能为空'})
|
|
alias = request.POST.get('alias')
|
|
if not alias:
|
|
return JsonResponse({'status': 'error', 'message': '别名不能为空'})
|
|
|
|
if category == 'weixin':
|
|
instance = Weixin(code=code, weixinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status='0', organization=o)
|
|
elif category == 'weibo':
|
|
instance = Weibo(code=code, weiboid=media_id, alias=alias,
|
|
image=request.FILES['file'], status='0', organization=o)
|
|
elif category == 'toutiao':
|
|
instance = Toutiao(code=code, toutiaoid=media_id, alias=alias,
|
|
image=request.FILES['file'], status='0', organization=o)
|
|
elif category == 'douyin':
|
|
instance = Douyin(code=code, douyinid=media_id, alias=alias,
|
|
image=request.FILES['file'], status='0', organization=o)
|
|
else:
|
|
type = request.POST.get('type')
|
|
instance = Qita(code=code, qitaid=media_id, alias=alias,
|
|
image=request.FILES['file'], status='0', organization=o)
|
|
instance.save()
|
|
return JsonResponse({'status': 'success'})
|
|
|
|
|
|
@csrf_exempt
|
|
@polls_login_required
|
|
def update_media(request):
|
|
if request.method == 'GET':
|
|
return HttpResponse(status=405)
|
|
category = request.POST.get('category')
|
|
if not category:
|
|
return JsonResponse({'status': 'error', 'message': '参数错误'})
|
|
media_id = request.POST.get('media_id')
|
|
if not media_id:
|
|
return JsonResponse({'status': 'error', 'message': '参数错误'})
|
|
name = request.POST.get('name')
|
|
if not name:
|
|
return JsonResponse({'status': 'error', 'message': '名称不能为空'})
|
|
value = request.POST.get('value')
|
|
if not name:
|
|
return JsonResponse({'status': 'error', 'message': '值不能为空'})
|
|
|
|
if category == 'weixin':
|
|
instance = Weixin.objects.get(pk=media_id)
|
|
elif category == 'weibo':
|
|
instance = Weibo.objects.get(pk=media_id)
|
|
elif category == 'toutiao':
|
|
instance = Toutiao.objects.get(pk=media_id)
|
|
elif category == 'douyin':
|
|
instance = Douyin.objects.get(pk=media_id)
|
|
else:
|
|
instance = Qita.objects.get(pk=media_id)
|
|
setattr(instance, name, value)
|
|
instance.save(update_fields=[name])
|
|
return JsonResponse({'status': 'success'}) |