def post(self, request, format=None): name = get_data_param(request, 'name', None) city_id = get_data_param(request, 'city_id', None) request.data["city"] = city_id branch = Branch.get_if_exists(name) serializer = BranchSerializer(branch, data=request.data) if serializer.is_valid(): serializer.save() return Response(response_json(True, serializer.data, None)) return Response(response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL))
def post(self, request, format=None): name = get_data_param(request, 'name', None) region_id = get_data_param(request, 'region_id', None) request.data["region"] = region_id # city = City.get_if_exists(name) As MC need multiple entries with same name serializer = CitySerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(response_json(True, serializer.data, None)) return Response( response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL))
def post(self, request, format=None): name = get_data_param(request, 'name', None) area_id = get_data_param(request, 'area_id', None) request.data["area"] = area_id region = Region.get_if_exists(name) serializer = RegionSerializer(region, data=request.data) if serializer.is_valid(): serializer.save() return Response(response_json(True, serializer.data, None)) return Response( response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL))
def post(self, request, format=None): title = get_data_param(request, 'title', None) questionnaire = Questionnaire.get_if_exists_by_title(title) serializer = QuestionnaireSerializer(questionnaire, data=request.data) if serializer.is_valid(): serializer.save() return Response(response_json(True, serializer.data, None)) return Response( response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL))
def put(self, request, user, format=None): try: id = get_data_param(request, 'id', None) new_password = get_data_param(request, 'new_password', None) email = get_data_param(request, 'email', None) phone_no = get_data_param(request, 'phone_no', None) first_name = get_data_param(request, 'first_name', None) last_name = get_data_param(request, 'last_name', None) branch_id = get_data_param(request, 'branch_id', None) region_id = get_data_param(request, 'region_id', None) branch = Branch.objects.get(pk=branch_id) if branch_id else None region = Region.objects.get(pk=region_id) if region_id else None if branch and branch.is_associated(): return Response(response_json(False, None, "Branch is already Associated")) elif region and region.is_associated(): return Response(response_json(False, None, "Region is already Associated")) user = User.objects.get(pk=id) if user: user.email = email if email else user.email if new_password: user.set_password(new_password) user.first_name = first_name if first_name else user.first_name user.last_name = last_name if last_name else user.last_name user.save() user_info = user.info.first() if user_info: user_info.branch_id = branch.id if branch else user_info.branch_id user_info.region_id = region.id if region else user_info.region_id user_info.phone_no = phone_no if phone_no else user_info.phone_no user_info.save() return Response(response_json(True, user_info.to_dict(), None)) except User.DoesNotExist as e: return Response(response_json(False, None, constants.TEXT_DOES_NOT_EXISTS)) except Branch.DoesNotExist as e: return Response(response_json(False, None, constants.TEXT_DOES_NOT_EXISTS)) except Region.DoesNotExist as e: return Response(response_json(False, None, constants.TEXT_DOES_NOT_EXISTS))
def put(self, request, format=None): id = get_data_param(request, 'id', None) try: question = Question.objects.get(pk=id) serializer = QuestionSerializer(question, data=request.data) if serializer.is_valid(): serializer.save() return Response(response_json(True, serializer.data, None)) return Response( response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL)) except Question.DoesNotExist as e: return Response( response_json(False, None, constants.TEXT_DOES_NOT_EXISTS)) except Exception as e: return Response( response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL))
def post(self, request, format=None): try: role = get_data_param(request, 'role', None) username = get_data_param(request, 'username', None) first_name = get_data_param(request, 'first_name', None) last_name = get_data_param(request, 'last_name', None) password = get_data_param(request, 'password', None) email = get_data_param(request, 'email', None) phone_no = get_data_param(request, 'phone_no', None) branch_id = get_data_param(request, 'branch_id', None) region_id = get_data_param(request, 'region_id', None) parent_id = get_data_param(request, 'parent_id', None) if role: branch = Branch.objects.get(pk=branch_id) if branch_id else None parent_user = User.objects.get(pk=parent_id) if parent_id else None parent = parent_user.info.first() if parent_user else None region = Region.objects.get(pk=region_id) if region_id else None if branch and parent: if role == UserRolesEnum.GRO: user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.GRO, branch=branch, parent=parent) return Response(response_json(True, user_info.to_dict(), None)) elif role == UserRolesEnum.BRANCH_MANAGER: if not branch.is_associated(): user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.BRANCH_MANAGER, branch=branch, parent=parent) return Response(response_json(True, user_info.to_dict(), None)) else: return Response(response_json(False, None, "Branch already Associated")) elif region and parent: if role == UserRolesEnum.OPERATIONAL_CONSULTANT: if not region.is_associated(): user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.OPERATIONAL_CONSULTANT, region=region, parent=parent) return Response(response_json(True, user_info.to_dict(), None)) else: return Response(response_json(False, None, "Region already Associated")) elif parent: if role == UserRolesEnum.OPERATIONAL_MANAGER: user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.OPERATIONAL_MANAGER, parent=parent) return Response(response_json(True, user_info.to_dict(), None)) elif role == UserRolesEnum.ASSISTANT_DIRECTOR: user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.ASSISTANT_DIRECTOR, parent=parent) return Response(response_json(True, user_info.to_dict(), None)) else: if role == UserRolesEnum.DIRECTOR: user = create_user(username, first_name, last_name, email, password) user_info = UserInfo.objects.create(user=user, phone_no=phone_no, role=UserRolesEnum.DIRECTOR) return Response(response_json(True, user_info.to_dict(), None)) return Response(response_json(False, None, constants.TEXT_OPERATION_UNSUCCESSFUL)) except IntegrityError as e: return Response(response_json(False, None, "Username " + constants.TEXT_ALREADY_EXISTS))