1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from django.http import JsonResponse
- from django.views.decorators.csrf import csrf_exempt
- from django.forms import model_to_dict
- from .model_handler import SettingHandler, CaseAttachmentHandler
- from .models import CaseAttachment
- from Info.model_handler import CompanyHandler, UserHandler
- from Info.func import file_upload, get_file
- def attachment_maxsize(request): # 获取BOM附件大小限制
- company = CompanyHandler.get_by_id(request.session.get('company_id'))
- result = {'code': 1, 'content': None, 'msg': None}
- company_setting = SettingHandler.get_by_company(company)
- if company_setting:
- result['code'] = 0
- result['content'] = {
- 'company_id': company_setting.company.id,
- 'attachment_maxsize': company_setting.max_attachment_size
- }
- return JsonResponse(result)
- def user_info(request): # 从user数据中读取默认的姓名和手机号码
- user = UserHandler.get_by_id(request.session.get('user_id'))
- result = {'code': 1, 'content': None, 'msg': None}
- result['code'] = 0
- result['content'] = {
- 'contact_name': user.name,
- 'contact_mobile': user.mobile
- }
- return JsonResponse(result)
- @csrf_exempt
- def file(request):
- result = {'code': 1, 'content': None}
- company = CompanyHandler.get_by_id(request.session.get('company_id'))
- user = UserHandler.get_by_id(request.session.get('user_id'))
- if request.method == 'GET':
- return get_file(request)
- if request.method == 'POST':
- upload_result = file_upload(request, ['IT_service', 'case'])
- if upload_result['code'] == 0:
- case_attachment = CaseAttachment()
- case_attachment.company = company
- case_attachment.creator = user
- case_attachment.display_name = upload_result['target_file_name']
- case_attachment.url = upload_result['target_file_path'] + \
- upload_result['target_file_name']
- case_attachment.save()
- content = {'id': case_attachment.id, 'url': case_attachment.url,
- 'display_name': case_attachment.display_name}
- result['code'] = 0
- result['content'] = content
- else:
- result['content'] = '上传失败'
- return JsonResponse(result)
- if request.method == 'DELETE':
- post_data = eval(request.body)
- if CaseAttachmentHandler.del_by_id(post_data['delete_attachment_id']):
- result = {'code': 0, 'content': None}
- else:
- result = {'code': 1, 'content': '删除失败'}
- return JsonResponse(result)
|