diff --git a/home/__pycache__/__init__.cpython-313.pyc b/home/__pycache__/__init__.cpython-313.pyc index 8f71357..5108df0 100644 Binary files a/home/__pycache__/__init__.cpython-313.pyc and b/home/__pycache__/__init__.cpython-313.pyc differ diff --git a/home/__pycache__/ac_soap.cpython-313.pyc b/home/__pycache__/ac_soap.cpython-313.pyc index 5404333..a6c6a98 100644 Binary files a/home/__pycache__/ac_soap.cpython-313.pyc and b/home/__pycache__/ac_soap.cpython-313.pyc differ diff --git a/home/__pycache__/admin.cpython-313.pyc b/home/__pycache__/admin.cpython-313.pyc index 09bac10..610a7d8 100644 Binary files a/home/__pycache__/admin.cpython-313.pyc and b/home/__pycache__/admin.cpython-313.pyc differ diff --git a/home/__pycache__/apps.cpython-313.pyc b/home/__pycache__/apps.cpython-313.pyc index a72a0aa..a1dba06 100644 Binary files a/home/__pycache__/apps.cpython-313.pyc and b/home/__pycache__/apps.cpython-313.pyc differ diff --git a/home/__pycache__/context_processors.cpython-313.pyc b/home/__pycache__/context_processors.cpython-313.pyc index e1bd5a3..e397c41 100644 Binary files a/home/__pycache__/context_processors.cpython-313.pyc and b/home/__pycache__/context_processors.cpython-313.pyc differ diff --git a/home/__pycache__/library_correo.cpython-313.pyc b/home/__pycache__/library_correo.cpython-313.pyc index ce306bf..48b24b5 100644 Binary files a/home/__pycache__/library_correo.cpython-313.pyc and b/home/__pycache__/library_correo.cpython-313.pyc differ diff --git a/home/__pycache__/models.cpython-313.pyc b/home/__pycache__/models.cpython-313.pyc index b482b49..e2f6a2e 100644 Binary files a/home/__pycache__/models.cpython-313.pyc and b/home/__pycache__/models.cpython-313.pyc differ diff --git a/home/__pycache__/pagos_stripe.cpython-313.pyc b/home/__pycache__/pagos_stripe.cpython-313.pyc index 41900ca..a3664d3 100644 Binary files a/home/__pycache__/pagos_stripe.cpython-313.pyc and b/home/__pycache__/pagos_stripe.cpython-313.pyc differ diff --git a/home/__pycache__/urls.cpython-313.pyc b/home/__pycache__/urls.cpython-313.pyc index d487382..afd2baf 100644 Binary files a/home/__pycache__/urls.cpython-313.pyc and b/home/__pycache__/urls.cpython-313.pyc differ diff --git a/home/__pycache__/views.cpython-313.pyc b/home/__pycache__/views.cpython-313.pyc index 412a328..4c1796b 100644 Binary files a/home/__pycache__/views.cpython-313.pyc and b/home/__pycache__/views.cpython-313.pyc differ diff --git a/home/__pycache__/zone_definitions.cpython-313.pyc b/home/__pycache__/zone_definitions.cpython-313.pyc index f0f4937..0e6215d 100644 Binary files a/home/__pycache__/zone_definitions.cpython-313.pyc and b/home/__pycache__/zone_definitions.cpython-313.pyc differ diff --git a/home/migrations/0006_changefactionprice_changeraceprice_customizeprice_and_more.py b/home/migrations/0006_changefactionprice_changeraceprice_customizeprice_and_more.py new file mode 100644 index 0000000..1b186ca --- /dev/null +++ b/home/migrations/0006_changefactionprice_changeraceprice_customizeprice_and_more.py @@ -0,0 +1,186 @@ +# Generated by Django 5.1.4 on 2024-12-26 21:07 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('home', '0005_securitytoken'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='ChangeFactionPrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, default=10.0, max_digits=6)), + ], + ), + migrations.CreateModel( + name='ChangeRacePrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, max_digits=5)), + ], + ), + migrations.CreateModel( + name='CustomizePrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, default=1.0, max_digits=5)), + ], + ), + migrations.CreateModel( + name='GoldPrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('gold_amount', models.IntegerField()), + ('price', models.DecimalField(decimal_places=2, max_digits=10)), + ], + ), + migrations.CreateModel( + name='GuildRenameSettings', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('cost', models.IntegerField(default=1000, help_text='Costo en Donation Points (DP) para renombrar una hermandad.')), + ], + options={ + 'verbose_name': 'Configuración de Renombrar Hermandad', + 'verbose_name_plural': 'Configuraciones de Renombrar Hermandad', + }, + ), + migrations.CreateModel( + name='HomeApiPoints', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('accountID', models.IntegerField(unique=True)), + ('vp', models.IntegerField(default=0)), + ('dp', models.IntegerField(default=0)), + ], + options={ + 'db_table': 'home_api_points', + }, + ), + migrations.CreateModel( + name='LevelUpPrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, default=10.0, max_digits=10)), + ], + ), + migrations.CreateModel( + name='RenamePrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, default=2.0, max_digits=5)), + ], + ), + migrations.CreateModel( + name='ReviveHistory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('character_name', models.CharField(max_length=50)), + ('used_at', models.DateTimeField()), + ], + ), + migrations.CreateModel( + name='TransferPrice', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('price', models.DecimalField(decimal_places=2, max_digits=5)), + ], + ), + migrations.CreateModel( + name='UnstuckHistory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('character_name', models.CharField(max_length=50)), + ('used_at', models.DateTimeField()), + ], + ), + migrations.CreateModel( + name='VoteSite', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, unique=True)), + ('url', models.URLField(help_text='URL del sitio de votación')), + ('image_url', models.URLField(help_text='URL completa de la imagen', max_length=300)), + ('points', models.IntegerField(default=1, help_text='Puntos otorgados por votar')), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('updated_at', models.DateTimeField(auto_now=True)), + ], + ), + migrations.RemoveField( + model_name='securitytoken', + name='user_id', + ), + migrations.AddField( + model_name='accountactivation', + name='is_new_email_used', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='accountactivation', + name='is_used', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='accountactivation', + name='old_email', + field=models.EmailField(blank=True, max_length=254, null=True), + ), + migrations.AddField( + model_name='accountactivation', + name='old_email_hash', + field=models.CharField(blank=True, max_length=32, null=True), + ), + migrations.AddField( + model_name='securitytoken', + name='user', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), + ), + migrations.CreateModel( + name='StoreCategory', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('parent_category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='home.storecategory')), + ], + ), + migrations.CreateModel( + name='StoreItem', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=200)), + ('item_id', models.IntegerField()), + ('image_url', models.URLField()), + ('price', models.DecimalField(decimal_places=2, max_digits=6)), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='home.storecategory')), + ], + ), + migrations.CreateModel( + name='Cart', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('username', models.CharField(max_length=150)), + ('added_at', models.DateTimeField(auto_now_add=True)), + ('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='home.storeitem')), + ], + ), + migrations.CreateModel( + name='VoteLog', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('account_id', models.IntegerField()), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('last_vote_time', models.DateTimeField(blank=True, null=True)), + ('processed', models.BooleanField(default=False)), + ('processed_at', models.DateTimeField(blank=True, null=True)), + ('vote_site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='home.votesite')), + ], + ), + ] diff --git a/home/migrations/__pycache__/0001_initial.cpython-313.pyc b/home/migrations/__pycache__/0001_initial.cpython-313.pyc index 01ca465..38ef683 100644 Binary files a/home/migrations/__pycache__/0001_initial.cpython-313.pyc and b/home/migrations/__pycache__/0001_initial.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/0002_accountactivation_remove_recruitreward_claimed_by_and_more.cpython-313.pyc b/home/migrations/__pycache__/0002_accountactivation_remove_recruitreward_claimed_by_and_more.cpython-313.pyc index 0fd5d3f..0ab0cb1 100644 Binary files a/home/migrations/__pycache__/0002_accountactivation_remove_recruitreward_claimed_by_and_more.cpython-313.pyc and b/home/migrations/__pycache__/0002_accountactivation_remove_recruitreward_claimed_by_and_more.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/0003_alter_accountactivation_salt.cpython-313.pyc b/home/migrations/__pycache__/0003_alter_accountactivation_salt.cpython-313.pyc index 6add166..581a4f2 100644 Binary files a/home/migrations/__pycache__/0003_alter_accountactivation_salt.cpython-313.pyc and b/home/migrations/__pycache__/0003_alter_accountactivation_salt.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/0004_alter_accountactivation_salt_and_more.cpython-313.pyc b/home/migrations/__pycache__/0004_alter_accountactivation_salt_and_more.cpython-313.pyc index e6af62b..e09cf6d 100644 Binary files a/home/migrations/__pycache__/0004_alter_accountactivation_salt_and_more.cpython-313.pyc and b/home/migrations/__pycache__/0004_alter_accountactivation_salt_and_more.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/0005_securitytoken.cpython-313.pyc b/home/migrations/__pycache__/0005_securitytoken.cpython-313.pyc index 385b0f4..0103280 100644 Binary files a/home/migrations/__pycache__/0005_securitytoken.cpython-313.pyc and b/home/migrations/__pycache__/0005_securitytoken.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/0006_changefactionprice_changeraceprice_customizeprice_and_more.cpython-313.pyc b/home/migrations/__pycache__/0006_changefactionprice_changeraceprice_customizeprice_and_more.cpython-313.pyc new file mode 100644 index 0000000..665a907 Binary files /dev/null and b/home/migrations/__pycache__/0006_changefactionprice_changeraceprice_customizeprice_and_more.cpython-313.pyc differ diff --git a/home/migrations/__pycache__/__init__.cpython-313.pyc b/home/migrations/__pycache__/__init__.cpython-313.pyc index c718fd8..6227d07 100644 Binary files a/home/migrations/__pycache__/__init__.cpython-313.pyc and b/home/migrations/__pycache__/__init__.cpython-313.pyc differ diff --git a/home/models.py b/home/models.py index 28dcd01..b12023d 100644 --- a/home/models.py +++ b/home/models.py @@ -219,14 +219,15 @@ class AccountActivation(models.Model): class SecurityToken(models.Model): - user = models.ForeignKey(User, on_delete=models.CASCADE) + user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) token = models.CharField(max_length=6) created_at = models.DateTimeField(auto_now_add=True) expires_at = models.DateTimeField() ip_address = models.GenericIPAddressField() def __str__(self): - return f"Token for {self.user.username}" + return f"Token for {self.user.username if self.user else 'Desconocido'}" + class GuildRenameSettings(models.Model): diff --git a/novawow/__pycache__/__init__.cpython-313.pyc b/novawow/__pycache__/__init__.cpython-313.pyc index 3f54163..0e1bccb 100644 Binary files a/novawow/__pycache__/__init__.cpython-313.pyc and b/novawow/__pycache__/__init__.cpython-313.pyc differ diff --git a/novawow/__pycache__/settings.cpython-313.pyc b/novawow/__pycache__/settings.cpython-313.pyc index 5906e7b..c887cea 100644 Binary files a/novawow/__pycache__/settings.cpython-313.pyc and b/novawow/__pycache__/settings.cpython-313.pyc differ diff --git a/novawow/__pycache__/urls.cpython-313.pyc b/novawow/__pycache__/urls.cpython-313.pyc index 41612c3..f4f0ae9 100644 Binary files a/novawow/__pycache__/urls.cpython-313.pyc and b/novawow/__pycache__/urls.cpython-313.pyc differ diff --git a/novawow/__pycache__/views.cpython-313.pyc b/novawow/__pycache__/views.cpython-313.pyc index d3ed5f0..4f94001 100644 Binary files a/novawow/__pycache__/views.cpython-313.pyc and b/novawow/__pycache__/views.cpython-313.pyc differ diff --git a/novawow/__pycache__/wsgi.cpython-313.pyc b/novawow/__pycache__/wsgi.cpython-313.pyc index 73665ae..e4e550b 100644 Binary files a/novawow/__pycache__/wsgi.cpython-313.pyc and b/novawow/__pycache__/wsgi.cpython-313.pyc differ