def register(request): """ Example valid JSON: {"username": "******", "email": "*****@*****.**", "password": "******", "restaurant": "My Pub"} """ serialized = UserSerializer(data=request.data) if serialized.is_valid(): #default code: create new_user user_data = utils.get_user_data(request.data) new_user = utils.create_inactive_user(**user_data) #Crear el restaurante del nuevo usuario: new_owner = Owner(user=new_user, name=new_user.username) new_owner.save() print("Owner " + new_owner.name + " created. [OK]") restaurant_name = request.data.pop('restaurant') new_restaurant = Restaurant(owner=new_owner, name=restaurant_name) new_restaurant.save() print("Restaurant " + new_restaurant.name + " created. [OK]") #Crear el staff staff_name = new_user.username new_staff = Staff(user=new_user, first_name=staff_name, restaurant=new_restaurant) #Manager por defecto new_staff.save() print("Staff " + new_staff.first_name + " created. [OK]") return Response(utils.USER_CREATED_RESPONSE_DATA, status=status.HTTP_201_CREATED) else: return Response(serialized._errors, status=status.HTTP_409_CONFLICT)
def test_get_user_data(self): valid_data = {'id': 1} mock_data = valid_data.copy() mock_data.update({'invalid_field': 0}) data = utils.get_user_data(mock_data) self.assertEqual(valid_data, data)
def register(request): if "application/json" in request.META.get("CONTENT_TYPE"): data = json.loads(request.body) else: data = request.POST serialized = UserSerializer(data=data) if serialized.is_valid(): user_data = utils.get_user_data(data) utils.create_inactive_user(request, **user_data) return Response(utils.USER_CREATED_RESPONSE_DATA, status=status.HTTP_201_CREATED) else: return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)