def debug_dev_login(request): if not (settings.DEBUG or settings.TESTS_RUN): raise AccessDenied(title="Эта фича доступна только при DEBUG=true") user, is_created = User.objects.get_or_create( slug="dev", defaults=dict( patreon_id="123456", membership_platform_type=User.MEMBERSHIP_PLATFORM_PATREON, email="*****@*****.**", full_name="Senior 23 y.o. Developer", company="FAANG", position="Team Lead конечно", balance=10000, membership_started_at=datetime.utcnow(), membership_expires_at=datetime.utcnow() + timedelta(days=365 * 100), created_at=datetime.utcnow(), updated_at=datetime.utcnow(), is_email_verified=True, moderation_status=User.MODERATION_STATUS_APPROVED, roles=["god"], ), ) if is_created: Post.upsert_user_intro(user, "Очень плохое интро", is_visible=True) session = Session.create_for_user(user) return set_session_cookie(redirect("profile", user.slug), user, session)
def intro(request): if request.me.moderation_status == User.MODERATION_STATUS_APPROVED: return redirect("profile", request.me.slug) if request.method == "POST": form = UserIntroForm(request.POST, request.FILES, instance=request.me) if form.is_valid(): user = form.save(commit=False) # send to moderation user.moderation_status = User.MODERATION_STATUS_ON_REVIEW user.save() # create intro post intro_post = Post.upsert_user_intro(user, form.cleaned_data["intro"], is_visible=False) Geo.update_for_user(user) # notify moderators to review profile async_task(notify_profile_needs_review, user, intro_post) return redirect("on_review") else: existing_intro = Post.get_user_intro(request.me) form = UserIntroForm( instance=request.me, initial={"intro": existing_intro.text if existing_intro else ""}, ) return render(request, "users/intro.html", {"form": form})
def debug_random_login(request): if not (settings.DEBUG or settings.TESTS_RUN): raise AccessDenied(title="Эта фича доступна только при DEBUG=true") slug = "random_" + random_string() user, is_created = User.objects.get_or_create( slug=slug, defaults=dict( patreon_id=random_string(), membership_platform_type=User.MEMBERSHIP_PLATFORM_PATREON, email=slug + "@random.dev", full_name="%s %d y.o. Developer" % (random.choice(["Максим", "Олег"]), random.randint(18, 101)), company="Acme Corp.", position=random.choice([ "Подниматель пингвинов", "Опускатель серверов", "Коллектор пивных бутылок" ]), balance=10000, membership_started_at=datetime.utcnow(), membership_expires_at=datetime.utcnow() + timedelta(days=365 * 100), created_at=datetime.utcnow(), updated_at=datetime.utcnow(), is_email_verified=True, moderation_status=User.MODERATION_STATUS_APPROVED, ), ) if is_created: Post.upsert_user_intro(user, "Интро как интро, аппрув прошло :Р", is_visible=True) session = Session.create_for_user(user) return set_session_cookie(redirect("profile", user.slug), user, session)