def handle(self, request, organization, provider_id): if not self.has_feature(request, organization): return self.redirect('/') if request.GET.get('init') != '1': helper = PipelineHelper.get_for_request( request=request, organization=organization, provider_id=provider_id, ) else: helper = None if helper: try: return helper.current_step() except Exception: logging.exception('integration.setup-error') return helper.error('an internal error occurred') helper = PipelineHelper.initialize( request=request, organization=organization, provider_id=provider_id, dialog=True, ) # we redirect the user to scrub parameters from the URL to avoid passing # them into third parties return self.redirect(request.path)
def handle(self, request, organization, provider_id): if not self.has_feature(request, organization): return self.redirect('/') helper = PipelineHelper.initialize( request=request, organization=organization, provider_id=provider_id, dialog=True, ) return self.redirect(helper.get_redirect_url())
def handle(self, request, provider_id): helper = PipelineHelper.get_for_request( request=request, provider_id=provider_id, ) if not helper: logging.error('integration.setup-error') return self.redirect('/') try: return helper.current_step() except Exception: logging.exception('integration.setup-error') return helper.error('an internal error occurred')
def setUp(self): from sentry.integrations.helper import PipelineHelper super(IntegrationTestCase, self).setUp() self.organization = self.create_organization(name='foo', owner=self.user) self.login_as(self.user) self.path = '/extensions/{}/setup/'.format(self.provider.id) self.request = self.make_request(self.user) # XXX(dcramer): this is a bit of a hack, but it helps contain this test self.helper = PipelineHelper.initialize( request=self.request, organization=self.organization, provider_id=self.provider.id, dialog=True, ) self.save_session() feature = Feature('organizations:integrations-v3') feature.__enter__() self.addCleanup(feature.__exit__, None, None, None)