def _get_member(self, organization, member_id): try: return OrganizationMember.objects.get( Q(invite_status=InviteStatus.REQUESTED_TO_BE_INVITED.value) | Q(invite_status=InviteStatus.REQUESTED_TO_JOIN.value), organization=organization, user__isnull=True, id=member_id, ) except ValueError: raise OrganizationMember.DoesNotExist()
def handle(self, request, organization_slug): try: organization = Organization.objects.get(slug=organization_slug) except Organization.DoesNotExist: messages.add_message( request, messages.ERROR, ERR_LINK_INVALID, ) return self.redirect(reverse('sentry')) try: om = OrganizationMember.objects.get( organization=organization, user=request.user, ) except OrganizationMember.DoesNotExist(): messages.add_message( request, messages.ERROR, ERR_LINK_INVALID, ) return self.redirect(reverse('sentry')) try: auth_provider = AuthProvider.objects.get(organization=organization) except AuthProvider.DoesNotExist: messages.add_message( request, messages.ERROR, ERR_LINK_INVALID, ) return self.redirect( reverse('sentry-organization-home', args=[organization.slug])) if request.method == 'POST': helper = AuthHelper( request=request, organization=organization, auth_provider=auth_provider, flow=AuthHelper.FLOW_LINK_IDENTITY, ) helper.init_pipeline() return helper.next_step() provider = auth_provider.get_provider() context = { 'organization': organization, 'provider_key': provider.key, 'provider_name': provider.name, } return self.respond('sentry/auth-link-identity.html', context)
def _get_member( self, request: Request, organization: Organization, member_id: int | str, invite_status: InviteStatus | None = None, ) -> OrganizationMember: try: return OrganizationMember.objects.get_member_invite_query( member_id).get(organization=organization) except ValueError: raise OrganizationMember.DoesNotExist()
def _get_member( self, request: Request, organization: Organization, member_id: int | str, invite_status: InviteStatus | None = None, ) -> OrganizationMember: try: return super()._get_member(request, organization, member_id, invite_status=InviteStatus.APPROVED) except ValueError: raise OrganizationMember.DoesNotExist()
def _get_member(self, request, organization, member_id): if member_id == "me": queryset = OrganizationMember.objects.filter( organization=organization, user__id=request.user.id, user__is_active=True ) else: try: queryset = OrganizationMember.objects.filter( Q(user__is_active=True) | Q(user__isnull=True), organization=organization, id=member_id, ) except ValueError: raise OrganizationMember.DoesNotExist() return queryset.select_related("user").get()
def _get_member(self, organization, member_id): try: return OrganizationMember.objects.get_member_invite_query( member_id).get(organization=organization) except ValueError: raise OrganizationMember.DoesNotExist()