def post(self, request, *args, **kwargs): action = request.query_params.get('action') if action == 'register': staff_name = request.data.get('staff_name') password = request.data.get('password') email = request.data.get('email') department = request.data.get('department') dp = Department.objects.get(pk=department) is_leader = request.data.get('is_leader') staff = Staff() staff.staff_name = staff_name staff.password = password staff.email = email staff.department = dp if is_leader: staff.is_leader = is_leader staff.save() data = { 'status': 200, 'msg': 'create staff success', 'staff': { 'id': staff.id, 'staff_name': staff.staff_name, 'email': staff.email, 'department': staff.department.dp_name, 'is_leader': staff.is_leader, 'is_delete': staff.is_delete } } return Response(data) elif action == 'login': return self.login(request, *args, **kwargs) else: raise ValidationError(detail='请提供正确的请求动作')
def add(request): if request.POST: area_id = int(request.POST.get('area_id')) realname = request.POST.get('realname') accountname = request.POST.get('accountname') is_available_list = request.POST.getlist('is_available') phone = request.POST.get('phone') weight = int(request.POST.get('weight')) email = request.POST.get('email') # 不允许重复添加 staff_list = Staff.objects.filter(accountname=accountname, is_deleted=0) if staff_list: return HttpResponse(simplejson.dumps({"statusCode":400, "message":u'此IT员工已存在,不允许重复添加!'}), mimetype='application/json') staff = Staff() # 一类特殊情况,IT工程师删除以后又被重新加入 staff_list = Staff.objects.filter(accountname=accountname, is_deleted=1) if staff_list: staff = staff_list[0] staff.area_id = area_id staff.realname = realname staff.accountname = accountname staff.phone = phone staff.weight = weight staff.is_deleted = 0 staff.email = email if is_available_list: staff.is_available = 1 else: staff.is_available = 0 staff.save() return HttpResponse(simplejson.dumps({"statusCode":200,"url": "/staff/index", "message":u'添加成功'}), mimetype='application/json') else: # 区域 area_list = Area.objects.all() return render_to_response('staff/add.html',{'area_list':area_list,'weight_dict':weight_dict})