From bf393784e08a9b0c5fc7eb319e9053a3cf3232ff Mon Sep 17 00:00:00 2001 From: florimondmanca <florimond.manca@gmail.com> Date: Sat, 12 May 2018 16:12:36 +0100 Subject: [PATCH] remove unused Address model --- project/core/admin.py | 28 +--------- project/core/factory.py | 13 ----- .../core/migrations/0002_delete_address.py | 16 ++++++ project/core/models.py | 38 ------------- project/core/serializers.py | 15 +----- project/core/views.py | 1 - project/tests/test_core/test_address.py | 54 ------------------- project/tests/test_core/test_address_api.py | 19 ------- 8 files changed, 18 insertions(+), 166 deletions(-) create mode 100644 project/core/migrations/0002_delete_address.py delete mode 100644 project/tests/test_core/test_address.py delete mode 100644 project/tests/test_core/test_address_api.py diff --git a/project/core/admin.py b/project/core/admin.py index 6fdc096..4696e82 100644 --- a/project/core/admin.py +++ b/project/core/admin.py @@ -1,7 +1,7 @@ """Core admin panel configuration.""" from django.contrib import admin -from .models import Document, Address +from .models import Document # Register your models here. @@ -15,29 +15,3 @@ class DocumentAdmin(admin.ModelAdmin): # reorganize fields fields = ('title', 'slug', 'content',) - - -@admin.register(Address) -class AddressAdmin(admin.ModelAdmin): - """Admin panel for addresses.""" - - list_display = ('id', '__str__',) - search_fields = ('line1', 'line2', 'post_code', 'city',) - - -class AutocompleteAddressMixin: - """Enable autocompletion on the address field of a model. - - Class Attributes - ---------------- - address_field_name : str, optional - The name of the address field on the model. Default is 'address'. - """ - - address_field_name = 'address' - - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - initial = getattr(self, 'autocomplete_fields', ()) - if self.address_field_name not in initial: - self.autocomplete_fields = initial + (self.address_field_name,) diff --git a/project/core/factory.py b/project/core/factory.py index a812eed..cb08d1f 100644 --- a/project/core/factory.py +++ b/project/core/factory.py @@ -13,16 +13,3 @@ class DocumentFactory(factory.DjangoModelFactory): title = factory.Faker('sentence', locale='fr') content = factory.Faker('text', max_nb_chars=1000, locale='fr') - - -class AddressFactory(factory.DjangoModelFactory): - """Address object factory.""" - - class Meta: # noqa - model = models.Address - - line1 = factory.Faker('street_address', locale='fr') - # line2: None (default) - post_code = factory.Faker('postcode', locale='fr') - city = factory.Faker('city', locale='fr') - # country: None (default) diff --git a/project/core/migrations/0002_delete_address.py b/project/core/migrations/0002_delete_address.py new file mode 100644 index 0000000..55384cb --- /dev/null +++ b/project/core/migrations/0002_delete_address.py @@ -0,0 +1,16 @@ +# Generated by Django 2.0.5 on 2018-05-12 15:03 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('core', '0001_initial'), + ] + + operations = [ + migrations.DeleteModel( + name='Address', + ), + ] diff --git a/project/core/models.py b/project/core/models.py index a880117..e6c7136 100644 --- a/project/core/models.py +++ b/project/core/models.py @@ -4,7 +4,6 @@ from django.db import models from django.shortcuts import reverse from django.utils.text import slugify -from django_countries.fields import CountryField from markdownx.models import MarkdownxField @@ -39,40 +38,3 @@ class Document(models.Model): def __str__(self): return str(self.slug) - - -class Address(models.Model): - """Represents a physical address.""" - - line1 = models.CharField( - verbose_name='ligne 1', max_length=300, - help_text="Numéro, voie, rue…", - ) - line2 = models.CharField( - verbose_name='ligne 2', max_length=300, default='', blank=True, - help_text="Résidence, appartement, lieu-dit…", - ) - post_code = models.CharField( - verbose_name='code postal', max_length=20, - help_text="Code postal. Note : le format n'est pas vérifié.", - ) - city = models.CharField( - verbose_name='ville', max_length=100, - help_text='Ville', - ) - country = CountryField( - verbose_name='pays', - default='FR', - help_text="Pays (FR par défaut).", - ) - - class Meta: # noqa - verbose_name = 'adresse' - - def __str__(self): - return ', '.join(filter(None, [ - self.line1, - self.line2, - self.post_code + ' ' + self.city, - self.country.name, - ])) diff --git a/project/core/serializers.py b/project/core/serializers.py index 1044926..2c655ec 100644 --- a/project/core/serializers.py +++ b/project/core/serializers.py @@ -3,9 +3,8 @@ from rest_framework import serializers from core.markdown import MarkdownField -from django_countries.serializer_fields import CountryField -from .models import Address, Document +from .models import Document class DocumentSerializer(serializers.HyperlinkedModelSerializer): @@ -22,15 +21,3 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer): 'lookup_field': 'slug', }, } - - -class AddressSerializer(serializers.ModelSerializer): - """Serializer for addresses.""" - - country = CountryField( - country_dict=True, # output country code and name - ) - - class Meta: # noqa - model = Address - fields = ('line1', 'line2', 'post_code', 'city', 'country') diff --git a/project/core/views.py b/project/core/views.py index 0d5c2f0..ab8af33 100644 --- a/project/core/views.py +++ b/project/core/views.py @@ -1,6 +1,5 @@ """Core views.""" -from django.shortcuts import get_object_or_404 from rest_framework.mixins import RetrieveModelMixin, ListModelMixin from rest_framework.viewsets import GenericViewSet from .models import Document diff --git a/project/tests/test_core/test_address.py b/project/tests/test_core/test_address.py deleted file mode 100644 index 18b2e94..0000000 --- a/project/tests/test_core/test_address.py +++ /dev/null @@ -1,54 +0,0 @@ -"""Address model tests.""" - -from core.models import Address -from core.factory import AddressFactory -from tests.utils import ModelTestCase - - -class ArticleTest(ModelTestCase): - """Test the Article model.""" - - model = Address - field_tests = { - 'line1': { - 'verbose_name': 'ligne 1', - 'blank': False, - 'max_length': 300, - }, - 'line2': { - 'verbose_name': 'ligne 2', - 'max_length': 300, - 'blank': True, - 'default': '', - }, - 'post_code': { - 'verbose_name': 'code postal', - 'blank': False, - 'max_length': 20, - }, - 'city': { - 'verbose_name': 'ville', - 'blank': False, - 'max_length': 100, - }, - 'country': { - 'verbose_name': 'pays', - 'blank': False, - 'default': 'FR', - }, - } - model_tests = { - 'verbose_name': 'adresse', - } - - @classmethod - def setUpTestData(cls): - cls.obj = AddressFactory.create( - line1='3 Rue Joliot Curie', - post_code='91190', - city='Gif-sur-Yvette', - ) - - def test_str(self): - expected = '3 Rue Joliot Curie, 91190 Gif-sur-Yvette, France' - self.assertEqual(expected, str(self.obj)) diff --git a/project/tests/test_core/test_address_api.py b/project/tests/test_core/test_address_api.py deleted file mode 100644 index 4db4cac..0000000 --- a/project/tests/test_core/test_address_api.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Address API tests.""" - -from django.test import TestCase - -from core.factory import AddressFactory -from core.serializers import AddressSerializer -from tests.utils import SerializerTestCaseMixin - - -class TestArticleSerializer(SerializerTestCaseMixin, TestCase): - """Test the Article serializer.""" - - serializer_class = AddressSerializer - factory_class = AddressFactory - - expected_fields = ( - 'line1', 'line2', 'post_code', 'city', - {'country': ('name', 'code')}, - ) -- GitLab