Skip to content
Snippets Groups Projects
Commit bf393784 authored by florimondmanca's avatar florimondmanca
Browse files

remove unused Address model

parent 4841929b
Branches
No related tags found
No related merge requests found
"""Core admin panel configuration.""" """Core admin panel configuration."""
from django.contrib import admin from django.contrib import admin
from .models import Document, Address from .models import Document
# Register your models here. # Register your models here.
...@@ -15,29 +15,3 @@ class DocumentAdmin(admin.ModelAdmin): ...@@ -15,29 +15,3 @@ class DocumentAdmin(admin.ModelAdmin):
# reorganize fields # reorganize fields
fields = ('title', 'slug', 'content',) 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,)
...@@ -13,16 +13,3 @@ class DocumentFactory(factory.DjangoModelFactory): ...@@ -13,16 +13,3 @@ class DocumentFactory(factory.DjangoModelFactory):
title = factory.Faker('sentence', locale='fr') title = factory.Faker('sentence', locale='fr')
content = factory.Faker('text', max_nb_chars=1000, 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)
# 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',
),
]
...@@ -4,7 +4,6 @@ from django.db import models ...@@ -4,7 +4,6 @@ from django.db import models
from django.shortcuts import reverse from django.shortcuts import reverse
from django.utils.text import slugify from django.utils.text import slugify
from django_countries.fields import CountryField
from markdownx.models import MarkdownxField from markdownx.models import MarkdownxField
...@@ -39,40 +38,3 @@ class Document(models.Model): ...@@ -39,40 +38,3 @@ class Document(models.Model):
def __str__(self): def __str__(self):
return str(self.slug) 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,
]))
...@@ -3,9 +3,8 @@ ...@@ -3,9 +3,8 @@
from rest_framework import serializers from rest_framework import serializers
from core.markdown import MarkdownField 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): class DocumentSerializer(serializers.HyperlinkedModelSerializer):
...@@ -22,15 +21,3 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer): ...@@ -22,15 +21,3 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer):
'lookup_field': 'slug', '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')
"""Core views.""" """Core views."""
from django.shortcuts import get_object_or_404
from rest_framework.mixins import RetrieveModelMixin, ListModelMixin from rest_framework.mixins import RetrieveModelMixin, ListModelMixin
from rest_framework.viewsets import GenericViewSet from rest_framework.viewsets import GenericViewSet
from .models import Document from .models import Document
......
"""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))
"""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')},
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment