def get_queryset(self): try: self.queryset = self.request.user.get_all_profiles() return super(ProfilesActiveListView, self).get_queryset() except django_exception.MainProfileDoesNotExist as err: raise django_api_exception.MainProfileAPIDoesNotExist( status.HTTP_403_FORBIDDEN, self.request, _(err.msg) ) except Exception as err: raise django_api_exception.WhistleAPIException( status.HTTP_500_INTERNAL_SERVER_ERROR, self.request, _("{}".format(err)) )
def perform_destroy(self, instance): try: main_profile = self.request.user.get_main_profile() main_profile.remove_profile(instance) except django_exception.MainProfileDoesNotExist as err: raise django_api_exception.MainProfileAPIDoesNotExist( status.HTTP_403_FORBIDDEN, self.request, _(err.msg) ) except Exception as err: raise django_api_exception.WhistleAPIException( status.HTTP_500_INTERNAL_SERVER_ERROR, self.request, _("{}".format(err)) )
def create(self, validated_data): try: main_profile = self.request.user.get_main_profile() company, profile = main_profile.create_company(validated_data) return company except django_exception.MainProfileDoesNotExist as err: raise django_api_exception.MainProfileAPIDoesNotExist( status.HTTP_403_FORBIDDEN, self.request, _("{}".format(err.msg if hasattr(err, 'msg') else err))) except Exception as err: raise django_api_exception.WhistleAPIException( status.HTTP_500_INTERNAL_SERVER_ERROR, self.request, _("{}".format(err.msg if hasattr(err, 'msg') else err)))