Skip to content

Commit

Permalink
[change] Use fallback fields from openwisp-utils #470
Browse files Browse the repository at this point in the history
The implementation of fallback fields is moved to openwisp-utils.

Closes #470
  • Loading branch information
pandafy authored Jun 29, 2023
1 parent 0abe24f commit e00d9c1
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 205 deletions.
133 changes: 0 additions & 133 deletions openwisp_radius/base/fields.py

This file was deleted.

12 changes: 6 additions & 6 deletions openwisp_radius/base/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@
from openwisp_radius.registration import REGISTRATION_METHOD_CHOICES
from openwisp_users.mixins import OrgMixin
from openwisp_utils.base import KeyField, TimeStampedEditableModel, UUIDModel
from openwisp_utils.fields import (
FallbackBooleanChoiceField,
FallbackCharChoiceField,
FallbackCharField,
FallbackTextField,
)

from .. import exceptions
from .. import settings as app_settings
Expand All @@ -47,12 +53,6 @@
prefix_generate_users,
validate_csvfile,
)
from .fields import (
FallbackBooleanChoiceField,
FallbackCharChoiceField,
FallbackCharField,
FallbackTextField,
)
from .validators import ipv6_network_validator, password_reset_url_validator

logger = logging.getLogger(__name__)
Expand Down
26 changes: 13 additions & 13 deletions openwisp_radius/migrations/0031_added_fallback_model_fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.db import migrations

import openwisp_radius.base.fields
import openwisp_utils.fields

from .. import settings as app_settings

Expand All @@ -17,7 +17,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='allowed_mobile_prefixes',
field=openwisp_radius.base.fields.FallbackTextField(
field=openwisp_utils.fields.FallbackTextField(
blank=True,
default=','.join(app_settings.ALLOWED_MOBILE_PREFIXES),
fallback=','.join(app_settings.ALLOWED_MOBILE_PREFIXES),
Expand All @@ -31,7 +31,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='birth_date',
field=openwisp_radius.base.fields.FallbackCharChoiceField(
field=openwisp_utils.fields.FallbackCharChoiceField(
blank=True,
choices=[
('disabled', 'Disabled'),
Expand All @@ -53,7 +53,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='first_name',
field=openwisp_radius.base.fields.FallbackCharChoiceField(
field=openwisp_utils.fields.FallbackCharChoiceField(
blank=True,
choices=[
('disabled', 'Disabled'),
Expand All @@ -75,7 +75,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='freeradius_allowed_hosts',
field=openwisp_radius.base.fields.FallbackTextField(
field=openwisp_utils.fields.FallbackTextField(
blank=True,
default=','.join(app_settings.FREERADIUS_ALLOWED_HOSTS),
fallback=','.join(app_settings.FREERADIUS_ALLOWED_HOSTS),
Expand All @@ -89,7 +89,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='last_name',
field=openwisp_radius.base.fields.FallbackCharChoiceField(
field=openwisp_utils.fields.FallbackCharChoiceField(
blank=True,
choices=[
('disabled', 'Disabled'),
Expand All @@ -111,7 +111,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='location',
field=openwisp_radius.base.fields.FallbackCharChoiceField(
field=openwisp_utils.fields.FallbackCharChoiceField(
blank=True,
choices=[
('disabled', 'Disabled'),
Expand All @@ -133,7 +133,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='needs_identity_verification',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
help_text=(
Expand All @@ -147,7 +147,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='password_reset_url',
field=openwisp_radius.base.fields.FallbackURLField(
field=openwisp_utils.fields.FallbackURLField(
blank=True,
default=app_settings.DEFAULT_PASSWORD_RESET_URL,
fallback=app_settings.DEFAULT_PASSWORD_RESET_URL,
Expand All @@ -159,7 +159,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='registration_enabled',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
help_text=(
Expand All @@ -172,7 +172,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='saml_registration_enabled',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
help_text=(
Expand All @@ -186,7 +186,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='sms_verification',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
help_text=(
Expand All @@ -201,7 +201,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='social_registration_enabled',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
help_text=(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.db import migrations

import openwisp_radius.base.fields
import openwisp_utils.fields
from openwisp_radius import settings as app_settings


Expand All @@ -16,7 +16,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='organizationradiussettings',
name='sms_message',
field=openwisp_radius.base.fields.FallbackTextField(
field=openwisp_utils.fields.FallbackTextField(
blank=True,
fallback=app_settings.SMS_MESSAGE_TEMPLATE,
help_text=(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

from django.db import migrations

import openwisp_radius.base.fields
import openwisp_radius.base.validators
import openwisp_utils.fields
from openwisp_radius import settings as app_settings


Expand All @@ -17,7 +17,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='organizationradiussettings',
name='password_reset_url',
field=openwisp_radius.base.fields.FallbackCharField(
field=openwisp_utils.fields.FallbackCharField(
blank=True,
default=app_settings.DEFAULT_PASSWORD_RESET_URL,
fallback=app_settings.DEFAULT_PASSWORD_RESET_URL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.db import migrations

import openwisp_radius.base.fields
import openwisp_utils.fields
from openwisp_radius import settings as app_settings


Expand All @@ -16,7 +16,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='organizationradiussettings',
name='coa_enabled',
field=openwisp_radius.base.fields.FallbackBooleanChoiceField(
field=openwisp_utils.fields.FallbackBooleanChoiceField(
blank=True,
default=None,
fallback=app_settings.COA_ENABLED,
Expand Down
32 changes: 0 additions & 32 deletions openwisp_radius/tests/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from django.conf import settings
from django.contrib.auth import get_user_model
from django.core.exceptions import ValidationError
from django.db import connection
from django.db.models import ProtectedError
from django.urls import reverse
from django.utils import timezone
Expand Down Expand Up @@ -883,37 +882,6 @@ def test_delete_csv_file(self):
batch.delete()


class TestOrganizationRadiusSettings(BaseTestCase):
def test_fallback_field_falsy_values(self):
org = self._get_org()
rad_settings = org.radius_settings

def _verify_none_database_value(field_name):
setattr(rad_settings, field_name, '')
rad_settings.full_clean()
rad_settings.save()
with connection.cursor() as cursor:
cursor.execute(
f'SELECT {field_name} FROM'
f' {rad_settings._meta.app_label}_{rad_settings._meta.model_name}'
f' WHERE id = \'{rad_settings.id.hex}\';',
)
row = cursor.fetchone()
self.assertEqual(row[0], None)

with self.subTest('Test "sms_message" field'):
_verify_none_database_value('sms_message')

with self.subTest('Test "freeradius_allowed_hosts" field'):
_verify_none_database_value('freeradius_allowed_hosts')

with self.subTest('Test "allowed_mobile_prefixes" field'):
_verify_none_database_value('allowed_mobile_prefixes')

with self.subTest('Test "password_reset_url" field'):
_verify_none_database_value('password_reset_url')


class TestChangeOfAuthorization(BaseTransactionTestCase):
def _change_radius_user_group(self, user, organization):
rad_user_group = user.radiususergroup_set.first()
Expand Down
Loading

0 comments on commit e00d9c1

Please sign in to comment.