diff --git a/core/__pycache__/admin.cpython-311.pyc b/core/__pycache__/admin.cpython-311.pyc index af5adc3..91bf804 100644 Binary files a/core/__pycache__/admin.cpython-311.pyc and b/core/__pycache__/admin.cpython-311.pyc differ diff --git a/core/__pycache__/forms.cpython-311.pyc b/core/__pycache__/forms.cpython-311.pyc index 4624d9c..4aade19 100644 Binary files a/core/__pycache__/forms.cpython-311.pyc and b/core/__pycache__/forms.cpython-311.pyc differ diff --git a/core/__pycache__/models.cpython-311.pyc b/core/__pycache__/models.cpython-311.pyc index 9f1466b..8fa5624 100644 Binary files a/core/__pycache__/models.cpython-311.pyc and b/core/__pycache__/models.cpython-311.pyc differ diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 8907a4f..a11916d 100644 Binary files a/core/__pycache__/views.cpython-311.pyc and b/core/__pycache__/views.cpython-311.pyc differ diff --git a/core/admin.py b/core/admin.py index 2c70ecf..ba958ef 100644 --- a/core/admin.py +++ b/core/admin.py @@ -95,7 +95,9 @@ class AppSettingAdmin(admin.ModelAdmin): (None, {'fields': ('app_name', 'logo', 'slogan')}), (_('Contact Information'), {'fields': ('contact_phone', 'contact_email', 'contact_address')}), (_('Legal'), {'fields': ('registration_number', 'tax_number', 'terms_of_service', 'privacy_policy')}), - (_('Subscription'), {'fields': ('subscription_enabled', 'monthly_fee', 'annual_fee')}), + (_('Subscription Status'), {'fields': ('subscription_enabled',)}), + (_('Shipper Subscription Fees'), {'fields': ('shipper_monthly_fee', 'shipper_annual_fee')}), + (_('Truck Owner Subscription Fees'), {'fields': ('truck_owner_monthly_fee', 'truck_owner_annual_fee')}), ) def has_add_permission(self, request): diff --git a/core/forms.py b/core/forms.py index 7ee09ed..8fec155 100644 --- a/core/forms.py +++ b/core/forms.py @@ -33,9 +33,10 @@ class UserRegistrationForm(UserCreationForm): app_settings = AppSetting.objects.first() if app_settings and app_settings.subscription_enabled: + # We will update these labels via JS based on selected role to show the correct fee self.fields['subscription_plan'].choices = [ - ('MONTHLY', _('Monthly (%(fee)s)') % {'fee': app_settings.monthly_fee}), - ('ANNUAL', _('Annual (%(fee)s)') % {'fee': app_settings.annual_fee}), + ('MONTHLY', _('Monthly Plan')), + ('ANNUAL', _('Annual Plan')), ] self.fields['subscription_plan'].required = True else: diff --git a/core/migrations/0018_remove_appsetting_annual_fee_and_more.py b/core/migrations/0018_remove_appsetting_annual_fee_and_more.py new file mode 100644 index 0000000..26a687d --- /dev/null +++ b/core/migrations/0018_remove_appsetting_annual_fee_and_more.py @@ -0,0 +1,41 @@ +# Generated by Django 5.2.7 on 2026-01-24 03:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0017_appsetting_annual_fee_appsetting_monthly_fee_and_more'), + ] + + operations = [ + migrations.RemoveField( + model_name='appsetting', + name='annual_fee', + ), + migrations.RemoveField( + model_name='appsetting', + name='monthly_fee', + ), + migrations.AddField( + model_name='appsetting', + name='shipper_annual_fee', + field=models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Shipper Annual Fee'), + ), + migrations.AddField( + model_name='appsetting', + name='shipper_monthly_fee', + field=models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Shipper Monthly Fee'), + ), + migrations.AddField( + model_name='appsetting', + name='truck_owner_annual_fee', + field=models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Truck Owner Annual Fee'), + ), + migrations.AddField( + model_name='appsetting', + name='truck_owner_monthly_fee', + field=models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Truck Owner Monthly Fee'), + ), + ] diff --git a/core/migrations/__pycache__/0018_remove_appsetting_annual_fee_and_more.cpython-311.pyc b/core/migrations/__pycache__/0018_remove_appsetting_annual_fee_and_more.cpython-311.pyc new file mode 100644 index 0000000..c07b71a Binary files /dev/null and b/core/migrations/__pycache__/0018_remove_appsetting_annual_fee_and_more.cpython-311.pyc differ diff --git a/core/models.py b/core/models.py index 1c6482e..062934d 100644 --- a/core/models.py +++ b/core/models.py @@ -249,8 +249,14 @@ class AppSetting(models.Model): terms_of_service = models.TextField(_('Terms of Service'), blank=True) privacy_policy = models.TextField(_('Privacy Policy'), blank=True) subscription_enabled = models.BooleanField(_('Enable Subscription Fee'), default=False) - monthly_fee = models.DecimalField(_('Monthly Fee'), max_digits=10, decimal_places=2, default=0.00) - annual_fee = models.DecimalField(_('Annual Fee'), max_digits=10, decimal_places=2, default=0.00) + + # Shipper Fees + shipper_monthly_fee = models.DecimalField(_('Shipper Monthly Fee'), max_digits=10, decimal_places=2, default=0.00) + shipper_annual_fee = models.DecimalField(_('Shipper Annual Fee'), max_digits=10, decimal_places=2, default=0.00) + + # Truck Owner Fees + truck_owner_monthly_fee = models.DecimalField(_('Truck Owner Monthly Fee'), max_digits=10, decimal_places=2, default=0.00) + truck_owner_annual_fee = models.DecimalField(_('Truck Owner Annual Fee'), max_digits=10, decimal_places=2, default=0.00) class Meta: verbose_name = _('App Setting') diff --git a/core/templates/registration/register.html b/core/templates/registration/register.html index 74fcb1e..849e04f 100644 --- a/core/templates/registration/register.html +++ b/core/templates/registration/register.html @@ -15,7 +15,7 @@