from django.http import JsonResponse, Http404 from django.shortcuts import render from django.template.loader import render_to_string from django.urls import reverse from django.views.decorators.http import require_http_methods from application.opa_mgnt.forms import * from application.opa_mgnt.models import * from common.auth import custom_permission_required from common.utils.page_helper import paginate_query_and_assign_numbers @custom_permission_required('opa_mgnt.view_socialmediaaccountregistration') def sma_reg_list_view(request): """ 基础数据-运营管理-新媒体账号登记-列表视图 """ query_set = SocialMediaAccountRegistration.objects.filter().order_by('-record_id') platform = request.GET.get('platform', '') if platform: query_set = query_set.filter(platform__icontains=platform) items = paginate_query_and_assign_numbers(request=request, queryset=query_set, per_page=10) query_params = '&platform={}'.format(platform) template_name = "运营管理-新媒体账号登记-Excel上传模板.xlsx" context = { "model_config": 'opa_mgnt.SocialMediaAccountRegistration', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "运营管理", "name": "index"}, {"title": "新媒体账号登记", "name": "sma_reg_list"} ], "filters": [ {"type": "text", "id": "platform", "name": "platform", "label": "所属平台", "placeholder": "请输入所属平台"} ], "excel_upload_config": { "template_name": template_name, "template_url": reverse("dl_excel_tpl", kwargs={'template_name': template_name}), "parse_url": reverse("ep_common_parse"), "save_url": reverse("save_excel_table_data") }, "query_params": query_params, "table_exclude_field_name": ['record_id', 'password'], "form_action_url": reverse('sma_reg_list'), "modify_url": reverse("sma_reg_list_modify"), "add_url": reverse("sma_reg_list_add"), "delete_url": reverse("sma_reg_list_delete"), "add_button": True, "import_excel_button": True } return render(request, 'items_list.html', context) @custom_permission_required('opa_mgnt.add_socialmediaaccountregistration') def sma_reg_list_add(request): """ 基础数据-运营管理-新媒体账号登记-添加视图 """ if request.method == 'POST': form = SocialMediaAccountRegistrationForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "添加成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': form = SocialMediaAccountRegistrationForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @custom_permission_required('opa_mgnt.change_socialmediaaccountregistration') def sma_reg_list_modify(request): """ 基础数据-运营管理-新媒体账号登记-修改视图 """ if request.method == 'POST': if 'id' in request.POST: instance = SocialMediaAccountRegistration.objects.get(record_id=request.POST['id']) form = SocialMediaAccountRegistrationForm(request.POST, instance=instance) else: form = SocialMediaAccountRegistrationForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "保存成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': if 'id' in request.GET: try: instance = SocialMediaAccountRegistration.objects.get(record_id=request.GET['id']) form = SocialMediaAccountRegistrationForm(instance=instance) except SocialMediaAccountRegistration.DoesNotExist: raise Http404("对象不存在") else: form = SocialMediaAccountRegistrationForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @require_http_methods(["POST"]) @custom_permission_required('opa_mgnt.delete_socialmediaaccountregistration') def sma_reg_list_delete(request): """ 基础数据-运营管理-新媒体账号登记-删除视图 """ target_id = request.POST.get('id') if target_id: SocialMediaAccountRegistration.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) else: return JsonResponse({"message": "请求参数错误"}, status=400) @custom_permission_required('opa_mgnt.view_accountoperationmanagement') def acc_op_mgmt_list_view(request): """ 基础数据-运营管理-账号运营管理记录-查看视图 """ query_set = AccountOperationManagement.objects.filter().order_by('-record_id') platform = request.GET.get('platform', '') if platform: query_set = query_set.filter(platform__icontains=platform) items = paginate_query_and_assign_numbers(request=request, queryset=query_set, per_page=10) query_params = '&platform={}'.format(platform) template_name = "运营管理-账号运营管理记录-Excel上传模板.xlsx" context = { "model_config": 'opa_mgnt.AccountOperationManagement', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "运营管理", "name": "index"}, {"title": "账号运营管理记录", "name": "acc_op_mgmt_list"} ], "filters": [ {"type": "text", "id": "platform", "name": "platform", "label": "所属平台", "placeholder": "请输入所属平台"} ], "excel_upload_config": { "template_name": template_name, "template_url": reverse("dl_excel_tpl", kwargs={'template_name': template_name}), "parse_url": reverse("ep_common_parse"), "save_url": reverse("save_excel_table_data") }, "query_params": query_params, "form_action_url": reverse('acc_op_mgmt_list'), "modify_url": reverse("acc_op_mgmt_list_modify"), "add_url": reverse("acc_op_mgmt_list_add"), "delete_url": reverse("acc_op_mgmt_list_delete"), "table_exclude_field_name": ["record_id"], # Add any fields you want to exclude "add_button": True, "import_excel_button": True } return render(request, 'items_list.html', context) @custom_permission_required('opa_mgnt.add_accountoperationmanagement') def acc_op_mgmt_list_add(request): """ 基础数据-运营管理-账号运营管理记录-添加视图 """ if request.method == 'POST': form = AccountOperationManagementForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "添加成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': form = AccountOperationManagementForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @custom_permission_required('opa_mgnt.change_accountoperationmanagement') def acc_op_mgmt_list_modify(request): """ 基础数据-运营管理-账号运营管理记录-修改视图 """ if request.method == 'POST': if 'record_id' in request.POST: instance = AccountOperationManagement.objects.get(record_id=request.POST['record_id']) form = AccountOperationManagementForm(request.POST, instance=instance) else: form = AccountOperationManagementForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "保存成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': if 'id' in request.GET: try: instance = AccountOperationManagement.objects.get(record_id=request.GET['id']) form = AccountOperationManagementForm(instance=instance) except AccountOperationManagement.DoesNotExist: raise Http404("对象不存在") else: form = AccountOperationManagementForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @require_http_methods(["POST"]) @custom_permission_required('opa_mgnt.delete_accountoperationmanagement') def acc_op_mgmt_list_delete(request): """ 基础数据-运营管理-账号运营管理记录-删除视图 """ target_id = request.POST.get('id') if target_id: AccountOperationManagement.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) else: return JsonResponse({"message": "请求参数错误"}, status=400) @custom_permission_required('opa_mgnt.view_websiteregistration') def web_reg_list_view(request): """ 基础数据-运营管理-网站登记-查看视图 """ query_set = WebsiteRegistration.objects.filter().order_by('-record_id') website_name = request.GET.get('website_name', '') if website_name: query_set = query_set.filter(website_name__icontains=website_name) items = paginate_query_and_assign_numbers(request=request, queryset=query_set, per_page=10) query_params = '&website_name={}'.format(website_name) template_name = "运营管理-网站登记-Excel上传模板.xlsx" context = { "model_config": 'opa_mgnt.WebsiteRegistration', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "运营管理", "name": "index"}, {"title": "网站登记", "name": "web_reg_list"} ], "filters": [ {"type": "text", "id": "website_name", "name": "website_name", "label": "官网名称", "placeholder": "请输入官网名称"} ], "excel_upload_config": { "template_name": template_name, "template_url": reverse("dl_excel_tpl", kwargs={'template_name': template_name}), "parse_url": reverse("ep_common_parse"), "save_url": reverse("save_excel_table_data") }, "query_params": query_params, "form_action_url": reverse('web_reg_list'), "modify_url": reverse("web_reg_list_modify"), "add_url": reverse("web_reg_list_add"), "delete_url": reverse("web_reg_list_delete"), "table_exclude_field_name": ["record_id"], # Add any fields you want to exclude "add_button": True, "import_excel_button": True } return render(request, 'items_list.html', context) @custom_permission_required('opa_mgnt.add_websiteregistration') def web_reg_list_add(request): """ 基础数据-运营管理-网站登记-添加视图 """ if request.method == 'POST': form = WebsiteRegistrationForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "添加成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': form = WebsiteRegistrationForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @custom_permission_required('opa_mgnt.change_websiteregistration') def web_reg_list_modify(request): """ 基础数据-运营管理-网站登记-修改视图 """ if request.method == 'POST': if 'record_id' in request.POST: instance = WebsiteRegistration.objects.get(record_id=request.POST['record_id']) form = WebsiteRegistrationForm(request.POST, instance=instance) else: form = WebsiteRegistrationForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "保存成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': if 'id' in request.GET: try: instance = WebsiteRegistration.objects.get(record_id=request.GET['id']) form = WebsiteRegistrationForm(instance=instance) except WebsiteRegistration.DoesNotExist: raise Http404("对象不存在") else: form = WebsiteRegistrationForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @custom_permission_required('opa_mgnt.delete_websiteregistration') def web_reg_list_delete(request): """ 基础数据-运营管理-网站登记-删除视图 """ target_id = request.POST.get('id') if target_id: WebsiteRegistration.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) else: return JsonResponse({"message": "请求参数错误"}, status=400) @custom_permission_required('opa_mgnt.view_websitemaintenancerecord') def web_maint_rec_list_view(request): """ 基础数据-运营管理-网站运维记录-查看视图 """ query_set = WebsiteMaintenanceRecord.objects.filter().order_by('-record_id') website_name = request.GET.get('website_name', '') if website_name: query_set = query_set.filter(website_name__icontains=website_name) items = paginate_query_and_assign_numbers(request=request, queryset=query_set, per_page=10) query_params = '&website_name={}'.format(website_name) template_name = "运营管理-网站运维记录-Excel上传模板.xlsx" context = { "model_config": 'opa_mgnt.WebsiteMaintenanceRecord', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "运营管理", "name": "index"}, {"title": "网站运维记录", "name": "web_maint_rec_list"} ], "filters": [ {"type": "text", "id": "website_name", "name": "website_name", "label": "官网名称", "placeholder": "请输入官网名称"} ], "excel_upload_config": { "template_name": template_name, "template_url": reverse("dl_excel_tpl", kwargs={'template_name': template_name}), "parse_url": reverse("ep_common_parse"), "save_url": reverse("save_excel_table_data") }, "query_params": query_params, "form_action_url": reverse('web_maint_rec_list'), "modify_url": reverse("web_maint_rec_list_modify"), "add_url": reverse("web_maint_rec_list_add"), "delete_url": reverse("web_maint_rec_list_delete"), "table_exclude_field_name": ["record_id"], # Add any fields you want to exclude "add_button": True, "import_excel_button": True } return render(request, 'items_list.html', context) @custom_permission_required('opa_mgnt.add_websitemaintenancerecord') def web_maint_rec_list_add(request): """ 基础数据-运营管理-网站运维记录-添加视图 """ if request.method == 'POST': form = WebsiteMaintenanceRecordForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "添加成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': form = WebsiteMaintenanceRecordForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @custom_permission_required('opa_mgnt.change_websitemaintenancerecord') def web_maint_rec_list_modify(request): """ 基础数据-运营管理-网站运维记录-修改视图 """ if request.method == 'POST': if 'record_id' in request.POST: instance = WebsiteMaintenanceRecord.objects.get(record_id=request.POST['record_id']) form = WebsiteMaintenanceRecordForm(request.POST, instance=instance) else: form = WebsiteMaintenanceRecordForm(request.POST) if form.is_valid(): form.save() return JsonResponse({"message": "保存成功"}) else: form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html, "errors": form.errors}, status=400) elif request.method == 'GET': if 'id' in request.GET: try: instance = WebsiteMaintenanceRecord.objects.get(record_id=request.GET['id']) form = WebsiteMaintenanceRecordForm(instance=instance) except WebsiteMaintenanceRecord.DoesNotExist: raise Http404("对象不存在") else: form = WebsiteMaintenanceRecordForm() form_html = render_to_string('form_partial.html', {'form': form}, request) return JsonResponse({"form_html": form_html}) else: return JsonResponse({"message": "无效的请求方法"}, status=405) @require_http_methods(["POST"]) @custom_permission_required('opa_mgnt.delete_websitemaintenancerecord') def web_maint_rec_list_delete(request): """ 基础数据-运营管理-网站运维记录-删除视图 """ target_id = request.POST.get('id') if target_id: WebsiteMaintenanceRecord.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) else: return JsonResponse({"message": "请求参数错误"}, status=400)