VPN Invite feature implemented

This commit is contained in:
Eduardo Silva
2025-03-01 17:02:19 -03:00
parent 2c15294d7d
commit 31b9988b98
7 changed files with 49 additions and 9 deletions

View File

@@ -0,0 +1,33 @@
# Generated by Django 5.1.5 on 2025-03-01 20:01
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('vpn_invite', '0006_alter_invitesettings_invite_email_body_and_more'),
]
operations = [
migrations.AlterField(
model_name='invitesettings',
name='download_5_label',
field=models.CharField(blank=True, default='Linux', max_length=32, null=True),
),
migrations.AlterField(
model_name='invitesettings',
name='invite_email_body',
field=models.TextField(default="\nHello,\n\nYou're invited to join our secure WireGuard VPN network. Please click the link below to access your personalized VPN configuration:\n\n{invite_url}\n\nNote: This invitation link will expire in {expire_minutes} minutes. If you need a new link after expiration, please request another invite.\n"),
),
migrations.AlterField(
model_name='invitesettings',
name='invite_text_body',
field=models.TextField(default="\nHello,\n\nYou're invited to join our secure WireGuard VPN network. Please click the link below to access your personalized VPN configuration:\n\n{invite_url}\n\nNote: This invitation link will expire in {expire_minutes} minutes. If you need a new link after expiration, please request another invite.\n"),
),
migrations.AlterField(
model_name='invitesettings',
name='invite_whatsapp_body',
field=models.TextField(default="\nHello,\n\nYou're invited to join our secure WireGuard VPN network. Please click the link below to access your personalized VPN configuration:\n\n{invite_url}\n\nNote: This invitation link will expire in {expire_minutes} minutes. If you need a new link after expiration, please request another invite.\n"),
),
]

View File

@@ -39,7 +39,7 @@ class InviteSettings(models.Model):
download_2_label = models.CharField(max_length=32, default='Android', blank=True, null=True)
download_3_label = models.CharField(max_length=32, default='Windows', blank=True, null=True)
download_4_label = models.CharField(max_length=32, default='macOS', blank=True, null=True)
download_5_label = models.CharField(max_length=32, default='Desktop', blank=True, null=True)
download_5_label = models.CharField(max_length=32, default='Linux', blank=True, null=True)
download_1_icon = models.CharField(max_length=32, default='fab fa-app-store-ios', blank=True, null=True)
download_2_icon = models.CharField(max_length=32, default='fab fa-google-play', blank=True, null=True)
download_3_icon = models.CharField(max_length=32, default='fab fa-windows', blank=True, null=True)