123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- from django.http import JsonResponse
- from userprofile.models import Users
- from utils.fbmsg import FBMsg
- from utils.md5 import Md5
- from django.views.decorators.csrf import csrf_exempt
- from django.utils.decorators import method_decorator
- from django.contrib import auth
- from django.utils import timezone
- from django.contrib.auth.models import User
- import json, random, os
- from django.conf import settings
- @method_decorator(csrf_exempt, name='dispatch')
- def register(request, *args, **kwargs):
- post_data = json.loads(request.body.decode())
- data = {
- "name": post_data.get('name'),
- "password1": post_data.get('password1'),
- "password2": post_data.get('password2')
- }
- ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get(
- 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR')
- if Users.objects.filter(name=str(data['name']), developer=1, is_delete=0).exists():
- err_user_same = FBMsg.err_user_same()
- err_user_same['ip'] = ip
- err_user_same['data'] = data['name']
- return JsonResponse(err_user_same)
- else:
- if data.get('password1') is None:
- err_password1_empty = FBMsg.err_password1_empty()
- err_password1_empty['ip'] = ip
- err_password1_empty['data'] = data['name']
- return JsonResponse(err_password1_empty)
- else:
- if str(data['password1']) == '':
- err_password1_empty = FBMsg.err_password1_empty()
- err_password1_empty['ip'] = ip
- err_password1_empty['data'] = data['name']
- return JsonResponse(err_password1_empty)
- else:
- if data.get('password2') is None:
- err_password2_empty = FBMsg.err_password2_empty()
- err_password2_empty['ip'] = ip
- err_password2_empty['data'] = data['name']
- return JsonResponse(err_password2_empty)
- else:
- if str(data['password2']) == '':
- err_password2_empty = FBMsg.err_password2_empty()
- err_password2_empty['ip'] = ip
- err_password2_empty['data'] = data['name']
- return JsonResponse(err_password2_empty)
- else:
- if str(data['password1']) != str(data['password2']):
- err_password_not_same = FBMsg.err_password_not_same()
- err_password_not_same['ip'] = ip
- err_password_not_same['data'] = data['name']
- return JsonResponse(err_password_not_same)
- else:
- # 第一次注册时候,顺便注册开发者用户
- # 后续开发者用户需要手动修改用户信息
- if Users.objects.filter().count() == 0:
- userzl = User.objects.create_user(username='adminzl',password=str(123456))
- Users.objects.create(
- user_name = userzl,
- roles = Users.UserRole.ADMIN,
- user_id=userzl.id, name='adminzl',
- openid="adminzl", appid="adminzl",
- t_code=Md5.md5(str(timezone.now())),
- developer=1, ip=ip)
-
- transaction_code = Md5.md5(data['name'])
- user = User.objects.create_user(username=str(data['name']),
- password=str(data['password1']))
- Users.objects.create(
- user_name = user,
- user_id=user.id, name=str(data['name']),
- openid=transaction_code, appid=Md5.md5(data['name'] + '1'),
- t_code=Md5.md5(str(timezone.now())),
- developer=0, ip=ip)
- auth.login(request, user)
-
-
- folder = os.path.exists(os.path.join(settings.BASE_DIR, 'media/' + transaction_code))
- if not folder:
- os.makedirs(os.path.join(settings.BASE_DIR, 'media/' + transaction_code))
- os.makedirs(os.path.join(settings.BASE_DIR, 'media/' + transaction_code + "/win32"))
- os.makedirs(os.path.join(settings.BASE_DIR, 'media/' + transaction_code + "/linux"))
- os.makedirs(os.path.join(settings.BASE_DIR, 'media/' + transaction_code + "/darwin"))
- ret = FBMsg.ret()
- ret['ip'] = ip
- data['openid'] = transaction_code
- data['name'] = str(data['name'])
-
- data.pop('password1', '')
- data.pop('password2', '')
- ret['data'] = data
-
- return JsonResponse(ret)
|