if not flag_is_active(request, "subscription"): return HttpResponseForbidden("subscription flag not active for this user") has_stripe_error = False try: email = request.POST.get("stripe_email", "") stripe_token = request.POST.get("stripe_token", "") create_stripe_customer_and_subscription_for_user(user, email, stripe_token) except stripe.error.StripeError: raven_client.captureException() has_stripe_error = True return redirect( urlparams( reverse("users.user_edit", args=[user.username]), has_stripe_error=has_stripe_error, ) + "#subscription" ) recovery_email_sent = TemplateView.as_view( template_name="users/recovery_email_sent.html" ) recover_done = login_required( never_cache(ConnectionsView.as_view(template_name="users/recover_done.html")) )
Login via an account recovery link. Modeled on django.contrib.auth.views.password_reset_confirm, but resets the password to an unusable password instead of prompting for a new password. """ UserModel = get_user_model() try: uid = force_text(urlsafe_base64_decode(uidb64)) user = UserModel._default_manager.get(pk=uid) except (TypeError, ValueError, OverflowError, UserModel.DoesNotExist): user = None if user and default_token_generator.check_token(user, token): temp_pwd = uuid.uuid4().hex user.set_password(temp_pwd) user.save() user = authenticate(username=user.username, password=temp_pwd) user.set_unusable_password() user.save() login(request, user) return redirect('users.recover_done') return render(request, 'users/recover_failed.html') recovery_email_sent = TemplateView.as_view( template_name='users/recovery_email_sent.html') recover_done = login_required(never_cache(ConnectionsView.as_view( template_name='users/recover_done.html')))
return HttpResponseBadRequest('Invalid request.') @redirect_in_maintenance_mode def recover(request, uidb64=None, token=None): """ Login via an account recovery link. Modeled on django.contrib.auth.views.password_reset_confirm, but resets the password to an unusable password instead of prompting for a new password. """ UserModel = get_user_model() try: uid = force_text(urlsafe_base64_decode(uidb64)) user = UserModel._default_manager.get(pk=uid) except (TypeError, ValueError, OverflowError, UserModel.DoesNotExist): user = None if user and default_token_generator.check_token(user, token): login(request, user, 'kuma.users.auth_backends.KumaAuthBackend') return redirect('users.recover_done') return render(request, 'users/recover_failed.html') recovery_email_sent = TemplateView.as_view( template_name='users/recovery_email_sent.html') recover_done = login_required( never_cache( ConnectionsView.as_view(template_name='users/recover_done.html')))
# charts path('my_charts', views.my_charts, name='my_charts'), path('chart/create', views.add_charts, name='add_charts'), path('chart/<uuid:chart_id>', views.chart, name='chart'), path('chart/get/<uuid:chart_id>', views.get_chart_data, name='get_chart_data'), path( 'chart/get/<str:simulation_type>/<str:fight_style>/<str:wow_class>/<str:wow_spec>', views.get_chart_data, name='get_standard_chart_data' ), path('chart/delete', views.delete_chart, name='delete_chart'), # portals o_O but blizzard killed most...needs heavy data updates path('portals', views.portals, name='portals'), # settings path('settings/general', views.settings, name='settings'), path('settings/profile', views.profile, name='profile'), path('settings/change_password', views.change_password, name='change_password'), # allauth account actions path('accounts/', include('allauth.urls')), path('settings/connections', ConnectionsView.as_view(), name='account_connections'), # account actions path('login', views.login, name='login'), path('logout', views.logout, name='logout'), path('signup', views.signup, name='signup'), ]
from django.urls import path, include from loja import views from allauth.socialaccount.views import ConnectionsView urlpatterns = [ path('', views.IndexView.as_view(), name="index"), path('filtro/genero/<slug:slug>/', views.filmes_por_genero, name="filme_genero"), path('busca/filme/', views.BuscaFilme.as_view(), name="buscar-filmes"), path('busca/avancada/filme/', views.buscar_avancada_filmes, name="buscar-avancada"), path('filme/<int:pk>/detalhe/', views.FilmeDetalhe.as_view(), name="filme-detalhe"), path('meu-perfil/', views.perfil_usuario_detalhe, name="meu-perfil"), path('meu-perfil/alterar/senha/', views.alterar_senha, name="alterar-senha"), path('meu-perfil/social/connections/', ConnectionsView.as_view( template_name="loja/perfil/connections_social.html"), name="meu-perfil-connections"), ]
def user_redirect(self, user): if self.request.user.has_usable_password(): return redirect('marketplace:user_pwd_change') set_password = PasswordSetView.as_view(extra_context={ 'breadcrumb': build_breadcrumb([ home_link(), ('My profile', reverse_lazy('marketplace:my_user_profile')), ('Set password', None), ]), }, ) social_connections = login_required( ConnectionsView.as_view( success_url=reverse_lazy('marketplace:user_social_connections'), template_name='marketplace/connections.html', extra_context={ 'breadcrumb': build_breadcrumb([ home_link(), ('My profile', reverse_lazy('marketplace:my_user_profile')), ('Social accounts', None), ]), 'SITE_NAME': settings.SITE_NAME, }, ))
from allauth.socialaccount.views import ConnectionsView from django.conf import settings from django.conf.urls.static import static from django.contrib import admin from django.contrib.messages import ERROR from django.urls import include, path from pydis_site.utils.views import MessageRedirectView from .views import HomeView app_name = 'home' urlpatterns = [ path('', HomeView.as_view(), name='home'), path('pages/', include('wiki.urls')), path('accounts/', include('allauth.socialaccount.providers.discord.urls')), path('accounts/login/cancelled', MessageRedirectView.as_view(pattern_name="home", message="Login cancelled."), name='socialaccount_login_cancelled'), path('accounts/login/error', MessageRedirectView.as_view( pattern_name="home", message="Login encountered an unknown error, please try again.", message_level=ERROR), name='socialaccount_login_error'), path('connections', ConnectionsView.as_view()), path('logout', LogoutView.as_view(), name="logout"), path('admin/', admin.site.urls), path('notifications/', include('django_nyt.urls')), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
path('chart/state/<uuid:chart_id>', views.get_chart_state, name='get_chart_state'), # portals o_O but blizzard killed most...needs heavy data updates path('portals', views.portals, name='portals'), # settings path('settings/general', views.settings, name='settings'), path('settings/profile', views.profile, name='profile'), path('settings/change_password', views.change_password, name='change_password'), # allauth account actions path('accounts/', include('allauth.urls')), path( 'settings/connections', ConnectionsView.as_view(), name='account_connections', ), # account actions path('login', views.login, name='login'), path('logout', views.logout, name='logout'), path('signup', views.signup, name='signup'), # languages path('i18n/', include('django.conf.urls.i18n')), ]