Skip to content

Commit

Permalink
Merge pull request #440 from uktrade/release/pisco
Browse files Browse the repository at this point in the history
Release Pisco
  • Loading branch information
reupen authored Sep 4, 2017
2 parents 91bf2fb + e44d6e6 commit ac440b3
Show file tree
Hide file tree
Showing 50 changed files with 1,347 additions and 885 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,12 @@ Dependencies:
10. Optionally, you can load some test data and update elasticsearch:
```shell
./manage.py loaddata /app/fixtures/test_data.yaml
./manage.py loaddata fixtures/test_data.yaml
./manage.py sync_es
```
11. Start the server:
11. Start the server:
```shell
./manage.py runserver
Expand Down
2 changes: 0 additions & 2 deletions config/api_urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
# API V1

router_v1 = routers.SimpleRouter()
router_v1.register(r'company', company_views.CompanyViewSetV1)
router_v1.register(r'ch-company', company_views.CompaniesHouseCompanyReadOnlyViewSetV1)
router_v1.register(r'interaction', interaction_views.InteractionViewSetV1)
router_v1.register(r'adviser', company_views.AdviserReadOnlyViewSetV1)

Expand Down
1 change: 1 addition & 0 deletions config/settings/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
'datahub.omis.order',
'datahub.omis.market',
'datahub.omis.notification',
'datahub.omis.quote',
]

INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS
Expand Down
83 changes: 1 addition & 82 deletions datahub/company/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
from datahub.core.validate_utils import RequiredUnlessAlreadyBlank
from datahub.interaction.models import Interaction
from datahub.metadata import models as meta_models
from datahub.metadata.serializers import NestedCountrySerializer


MAX_LENGTH = settings.CHAR_FIELD_MAX_LENGTH
Expand Down Expand Up @@ -56,86 +55,6 @@ class Meta: # noqa: D101
fields = '__all__'


class CompanySerializerReadV1(serializers.ModelSerializer):
"""Company serializer."""

name = serializers.SerializerMethodField('get_registered_name')
trading_name = serializers.CharField(source='alias')
companies_house_data = CompaniesHouseCompanySerializer()
interactions = NestedInteractionSerializer(many=True)
contacts = NestedContactSerializer(many=True)
export_to_countries = NestedCountrySerializer(many=True)
future_interest_countries = NestedCountrySerializer(many=True)
uk_based = serializers.BooleanField()
account_manager = AdviserSerializer()
registered_address_1 = serializers.SerializerMethodField()
registered_address_2 = serializers.SerializerMethodField()
registered_address_town = serializers.SerializerMethodField()
registered_address_country = serializers.SerializerMethodField()
registered_address_county = serializers.SerializerMethodField()
registered_address_postcode = serializers.SerializerMethodField()

class Meta: # noqa: D101
model = Company
depth = 1
fields = '__all__'

@staticmethod
def _address_partial(obj, attr):
"""Return the address partial from obj."""
obj = obj.companies_house_data or obj
return getattr(obj, attr)

@staticmethod
def get_registered_name(obj):
"""Use the CH name, if there's one, else the name."""
return obj.companies_house_data.name if obj.companies_house_data else obj.name

def get_registered_address_1(self, obj):
"""Return CH address if present."""
return self._address_partial(obj, 'registered_address_1')

def get_registered_address_2(self, obj):
"""Return CH address if present."""
return self._address_partial(obj, 'registered_address_2')

@staticmethod
def get_registered_address_country(obj):
"""Return CH address if present."""
obj = obj.companies_house_data or obj
if obj.registered_address_country:
return {'id': str(obj.registered_address_country.id),
'name': obj.registered_address_country.name}
else:
return {}

def get_registered_address_county(self, obj):
"""Return CH address if present."""
return self._address_partial(obj, 'registered_address_county')

def get_registered_address_postcode(self, obj):
"""Return CH address if present."""
return self._address_partial(obj, 'registered_address_postcode')

def get_registered_address_town(self, obj):
"""Return CH address if present."""
return self._address_partial(obj, 'registered_address_town')


class CompanySerializerWriteV1(serializers.ModelSerializer):
"""Company serializer for writing operations."""

classification = serializers.PrimaryKeyRelatedField(read_only=True)

class Meta: # noqa: D101
model = Company
fields = '__all__'
extra_kwargs = {
'registered_address_country': {'required': True, 'allow_null': False},
}
validators = [RequiredUnlessAlreadyBlank('sector', 'business_type')]


NestedAdviserField = partial(
NestedRelatedField, 'company.Advisor',
extra_fields=('first_name', 'last_name', 'name')
Expand Down Expand Up @@ -243,7 +162,7 @@ def to_representation(self, value):
return self._serializer_field.to_representation(value)


class CompanySerializerV3(serializers.ModelSerializer):
class CompanySerializer(serializers.ModelSerializer):
"""Company read/write serializer V3."""

name = _CHPreferredField(
Expand Down
Loading

0 comments on commit ac440b3

Please sign in to comment.