forked from Hostea/dashboard
feat: show Gitea admin's login credentials and send creds via email to admin
parent
1bab17193c
commit
e4c418b45b
|
@ -0,0 +1,11 @@
|
||||||
|
{% extends 'dash/common/base.html' %} {% block dash %}
|
||||||
|
<h1>{{ title }}</h1>
|
||||||
|
|
||||||
|
<h2>Gitea Admin Credentials</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><b>Username:</b> root</li>
|
||||||
|
<li><b>Password:</b> {{ gitea_password }}</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -37,7 +37,7 @@ def create_vm_if_not_exists(instance: Instance) -> (str, Commit):
|
||||||
(gitea_password, commit) = infra.add_vm(instance=instance)
|
(gitea_password, commit) = infra.add_vm(instance=instance)
|
||||||
instance = InstanceCreated.objects.create(instance=instance, created=True)
|
instance = InstanceCreated.objects.create(instance=instance, created=True)
|
||||||
instance.save()
|
instance.save()
|
||||||
return gitea_password
|
return (gitea_password, commit)
|
||||||
else:
|
else:
|
||||||
if str.strip(infra.get_flavor(instance=instance)) != str.strip(
|
if str.strip(infra.get_flavor(instance=instance)) != str.strip(
|
||||||
infra.translate_size(instance=instance)
|
infra.translate_size(instance=instance)
|
||||||
|
|
|
@ -19,6 +19,7 @@ from django.contrib.auth import get_user_model
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.views.decorators.csrf import csrf_protect
|
from django.views.decorators.csrf import csrf_protect
|
||||||
|
from django.core.mail import send_mail
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from accounts.decorators import confirm_access
|
from accounts.decorators import confirm_access
|
||||||
|
@ -48,8 +49,30 @@ def create_instance(request, instance_name: str):
|
||||||
if not payment_fullfilled(instance=instance):
|
if not payment_fullfilled(instance=instance):
|
||||||
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
|
return redirect(reverse("billing.invoice.generate", args=(instance_name,)))
|
||||||
|
|
||||||
(gitea_password, commit) = create_vm_if_not_exists(instance=instance)
|
res = create_vm_if_not_exists(instance=instance)
|
||||||
|
if res is not None:
|
||||||
|
(gitea_password, commit) = res
|
||||||
|
send_mail(
|
||||||
|
subject="[Hostea] Gitea admin credentials",
|
||||||
|
message=f"""
|
||||||
|
Congratulations on your new Gitea instance!\n
|
||||||
|
|
||||||
|
You can use the following credentials to log into an admin account on
|
||||||
|
your new Gitea instance. Great powers come with great responsibilities,
|
||||||
|
so use the admin credentials wisely. When in doubt, consult the Gitea
|
||||||
|
docs or contact support!\n
|
||||||
|
|
||||||
|
-username : root
|
||||||
|
- password: {gitea_password}
|
||||||
|
""",
|
||||||
|
from_email="No reply Hostea<no-reply@exampl.org>", # TODO read from settings.py
|
||||||
|
recipient_list=[request.user.email],
|
||||||
|
)
|
||||||
|
|
||||||
|
ctx = {
|
||||||
|
"gitea_password": gitea_password,
|
||||||
|
}
|
||||||
|
return render(request, "infrastructure/html/create.html", ctx)
|
||||||
return HttpResponse()
|
return HttpResponse()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue