from django.http import JsonResponse from utils.fbmsg import FBMsg from django.contrib import auth from django.contrib.auth.models import User import json from userprofile.models import Users from staff.models import ListModel as staff def login(request, *args, **kwargs): post_data = json.loads(request.body.decode()) data = { "name": post_data.get('name'), "password": post_data.get('password'), } ip = request.META.get('HTTP_X_FORWARDED_FOR') if request.META.get( 'HTTP_X_FORWARDED_FOR') else request.META.get('REMOTE_ADDR') if User.objects.filter(username=str(data['name'])).exists(): user = auth.authenticate(username=str(data['name']), password=str(data['password'])) if user is None: err_ret = FBMsg.err_ret() err_ret['data'] = data return JsonResponse(err_ret) else: staff_detail = staff.objects.filter(staff_name=str(data['name'])).first() if staff_detail.is_lock == 1: err_ret = FBMsg.err_lock_staff() err_ret['data'] = data return JsonResponse(err_ret) else: data = { "name": data['name'], 'openid': staff_detail.openid, "user_id": staff_detail.id, "appid": staff_detail.appid, "staff_type" : staff_detail.staff_type, } ret = FBMsg.ret() ret['ip'] = ip ret['data'] = data auth.login(request, user) return JsonResponse(ret) else: err_ret = FBMsg.err_ret() err_ret['ip'] = ip err_ret['data'] = data return JsonResponse(err_ret)