views.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # coding=utf-8
  2. import traceback
  3. import json
  4. from django.views.decorators.csrf import csrf_exempt
  5. from django.db import transaction
  6. from apps.exceptions import CustomError
  7. from apps.foundation.models import BizLog
  8. from libs.http import JSONResponse, JSONError, DataGridJSONResponse
  9. from apps.account.decorators import permission_required, token_required
  10. from models import Config
  11. from serializers import ConfigSerializer
  12. @token_required
  13. def get_value(request):
  14. property = request.GET.get('property')
  15. value = Config.getValue(property)
  16. return JSONResponse(value)
  17. @csrf_exempt
  18. @permission_required('config.edit_config')
  19. def config_save(request):
  20. data = json.loads(request.POST.get('data'))
  21. try:
  22. with transaction.atomic():
  23. for item in data:
  24. if not item['value']:
  25. continue
  26. config = Config.objects.filter(property=item['key']).first()
  27. if config:
  28. config.value = item['value']
  29. config.save()
  30. else:
  31. Config.objects.create(property=item['key'], value=item['value'])
  32. BizLog.objects.addnew(request.user, BizLog.UPDATE, u"修改系统配置", data)
  33. except CustomError, e:
  34. return JSONError(e.get_error_msg())
  35. except Exception, e:
  36. return JSONError(u'保存失败!')
  37. return JSONResponse()
  38. @csrf_exempt
  39. @token_required
  40. def config_list(request):
  41. rows = Config.objects.filter()
  42. serializer = ConfigSerializer(rows, many=True)
  43. return JSONResponse(serializer.data)