%global _empty_manifest_terminate_build 0 Name: python-easys-ordermanager Version: 2.2.2 Release: 1 Summary: API definition of RH order manager for EasyS License: GPL 3 URL: https://gitlab.herocentral.de/development/easys-ordermanager Source0: https://mirrors.aliyun.com/pypi/web/packages/af/6e/a4bd4ff5c738b79f2afcbb3003b3237f8b0feaf448af0fe08a3ffa650a0a/easys-ordermanager-2.2.2.tar.gz BuildArch: noarch Requires: python3-django Requires: python3-django-countries Requires: python3-django-internationalflavor Requires: python3-django-model-utils Requires: python3-django-phonenumber-field Requires: python3-djangorestframework Requires: python3-phonenumbers %description [![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/) # EasyS order manager API ## Compatibility matrix Python 3.8, 3.9 and 3.10 ### Django 4.1 DRF 3.14 or newer ### Django 4.2 DRF 3.14 or newer # Changelog ## 2.2.2 (2023-06-01) * Updates to Serializer v3, see serializer changelog ## 2.2.1 (2023-05-30) * Updated wording on translation of Domain choices field. ## 2.2.0 (2023-05-23) * Remove support for Django < 4.1 * Remove support for djangorestframework < 3.14 * Updated minimum required versions of related libraries ## 2.1.3 (2023-05-03) * Updates to Serializer v2 & v3, see serializer changelog ## 2.1.2 (2023-04-12) * Updates to Serializer v3, see serializer changelog * Fixed missing development dependency ## 2.1.1 (2023-03-21) * Updates to Serializer v3, see serializer changelog * New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline. ## 2.1.0 (2023-03-16) * Introduction of serializer v3, see serializer changelog * `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts ## 2.0.12 (2023-03-02) * Updates to Serializer v2, see serializer changelog ## 2.0.11 (2023-02-17) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.10 (2023-01-09) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.9 (2023-01-03) * Updates to Serializer v2, see serializer changelog ## 2.0.8 (2023-01-02) * Updates to Serializer v2, see serializer changelog ## 2.0.7 (2022-12-01) * Updates to Serializer v2, see serializer changelog ## 2.0.6 (2022-11-29) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.5 (2022-11-22) * Add serializer changelog to manifest and include it in the released package ## 2.0.4 (2022-11-22) * Add serializer changelog to PyPI readme ## 2.0.3 (2022-11-21) Updates to Serializer v1 & v2, see serializer changelog ## 2.0.2 (2022-11-15) * Add support for phonenumbers 8.13.x', ## 2.0.1 (2022-09-27) * Add support for DRF 3.14 * Add more test combinations * Remove references to GitHub as the code mirror will be removed ## 2.0.0 (2022-09-16) * Remove support for Python 3.7 and below * Remove support for Django 2.x and below * Drop support for DRF 3.10 and below * Add support for Python 3.10 * Add support for Django 4.0 and 4.1 * Add tests for DRF 3.11, 3.12 and 3.13 * Change CI build to parallel matrix * Get rid of tox for CI * Run the publish stage only for tags on the main branch ## 1.4.53 (2022-07-13) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.52 (2022-07-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.51 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.50 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.49 (2022-04-29) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.48 (2022-03-30) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.47 (2022-03-24) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.46 (2022-01-25) * Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series) ## 1.4.45 (2022-01-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.44 (2022-01-03) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.43 (2021-11-29) Updates to Serializer v2, see serializer changelog ## 1.4.42 (2021-11-26) Updates to Serializer v1, see serializer changelog ## 1.4.41 (2021-11-12) * Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20) ## 1.4.40 (2021-10-08) Fixes flake8 errors. ## 1.4.39 (2021-10-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.38 (2021-08-11) * Fix example for email Orderline. ## 1.4.37 (2021-08-11) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.36 (2021-06-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.35 (2021-06-01) * Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0 ## 1.4.34 (2021-05-28) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.33 (2021-05-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.32 (2021-05-07) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.31 (2021-04-15) * Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2 * Update test matrix, add Django 3.2 ## 1.4.30 (2021-03-18) Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway ## 1.4.29 (2021-02-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.28 (2021-02-01) * Remove dependency to django-iban and use validation from internationalflavor * Allow django-countries release series 7.x * Update dev requirements ## 1.4.27 (2021-1-27) Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES ## 1.4.26 (2021-1-27) updates changelog ## 1.4.25 (2021-1-27) Adds product payment cycle support to Serializer v1 & v2, see serializer changelog ## 1.4.24 (2020-11-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.23 (2020-11-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.22 (2020-11-16) * Modernize Docker env, Update max supported versions and min requirements of some packages * Split package and test dependencies * Move package dependencies to setup.py * Restructure travis env ## 1.4.21 (2020-11-13) Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1 ## 1.4.20 (2020-11-06) Update maximum supported version of phonenumbers>=7.0.6,<8.13 ## 1.4.19 (2020-10-23) Update maximum supported version of djangorestframework>=3.7.7,<3.13 ## 1.4.18 (2020-10-16) Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5 ## 1.4.17 (2020-10-16) Update package to version phonenumbers>=7.0.6,<8.12.12 ## 1.4.15 (2020-10-16) Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility ## 1.4.14 (2020-10-16) Update package to version django-model-utils>=4.0.0,<5.0 ## 1.4.13 (2020-10-06) Fix serializer v2 choice fields ## 1.4.12 (2020-10-05) Updates to Serializer v2, see serializer changelog ## 1.4.11 (2020-09-23) Update german translations ## 1.4.10 (2020-09-23) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.9 (2020-09-01) Updates to Serializer v2, see serializer changelog ## 1.4.8 (2020-08-06) Changed a translation ## 1.4.7 (2020-06-30) Fix test cases ## 1.4.6 (2020-06-30) Updates to Serializer v1/v2, see serializer changelog ## 1.4.5 (2020-06-23) Updates to Serializer v1/v2, see serializer changelog ## 1.4.4 (2020-06-04) Fixed code style to pass checks ## 1.4.3 (2020-06-03) Updates to Serializer v2, see serializer changelog ## 1.4.2 (2020-05-07) Updates to Serializer v2, see serializer changelog ## 1.4.1 (2020-04-15) Introduction of serializer v2 * `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3 * `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2 ## 1.3.2 (2020-04-02) Reverted ## 1.2.3 (2020-03-03) Make sure Django 3 is not installed until further support ## 1.2.2 (2020-03-03) Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly. See setup.py for dependencies ## 1.2.1 (2020-02-27) Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`. The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`) ## 1.2.0 (2019-09-17) This release contains backwards incompatible changes. Changes on `OrderLineDisplayBasicSerializer` * Removed: `geo_targeting` field. * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given. * Removed: `stock_images_allowed` field: * New: `banner_image_selection` choice field accepting following values: * 0 for 'From website' / 'Von der Webseite' option * 1 for 'From customer' / 'Vom kunden' option * 2 for 'Customer photos' / 'Regiohelden Bilder' option * Change: `target_page_type` existing field which is not required anymore. Changes on `OrderLineGoogleAdsPremiumSerializer`: * New: `call_tracking` boolean required field. ## 1.1.3 (2019-09-11) Clean README file. ## 1.1.2 (2019-09-11) Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00 ## 1.1.1 (2019-09-06) Small fix on pep8 error ## 1.1.0 (2019-09-04) This release contains backwards incompatible changes * Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels: * remove `detail_display` field from `OrderLine` * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine` The serializer contains following fields: New fields: * `banner_color_selection` choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x` Fields with changed definition * `impressions_per_month` choice field with accepted values: 20.000 , 40.000 and 80.000 * `creative_options` choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_ Fields with the same definition as in the previous OrderLineDisplaySerializer * `geo_targeting` * `geo_targeting` * `campaign_goal` * `headline` * `sub_headline` * `bullet_points` * `call_to_action` * `color_code_1` * `color_code_2` * `color_code_3` * `stock_images_allowed` * `target_page_type` * `target_url` * `package_template` * `location_frame_text` * `creative_options` * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer * `booking_type` * `target_devices` * `creatives_format` * `impressions_per_day` * `impressions_per_month` * `age_targeting` * `gender_targeting` * `geo_targeting` * `channel_targeting` * `interest_targeting` * `campaign_goal` * `target_page_type` * `target_url` * `creative_options` * Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels: * remove `detail_google_ads` field from `OrderLine` * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `campaign_goal` * `regions` * `expected_impression_share` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `call_to_action` * `campaign_goal` * `regions` * `expected_clicks` * `expected_conversions` * `existing_account_id` * `include_remarketing` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * `usp` * All product fee fields on `OrderLineSerializer` became optional: * `setup_fee` * `start_fee` * `budget` * `fee` * `one_time_budget` * `commission` * `deferred_payment_sum` * Add validation for commission provided for product type Google Ads level Basic: fixed value of 40 * Add validation for combination of product type and level: check if a matching HC products subtype exists * Add validation for the payment fees provided: check if a matching HC payment type exists. ## 1.0.4 (2019-08-21) * Add new fee type postponed_setup_fee * Add reference customer boolean to Location serializer ## 1.0.3 (2019-07-03) * Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it) ## 1.0.2 (2019-07-01) * Allow to use empty/null values for non-required fields ## 1.0.1 (2019-06-27) * Add missing files to the package ## 1.0.0 (2019-06-24) * Initial release # Serializer changes ## 2.2.2 ### v3 #### `OrderLineEmailSerializer` * Renamed field `included_accounts` to `included_addresses`. * Renamed field `additional_accounts` to `additional_addresses`. ## 2.1.3 ### v2/v3 #### `OrderLineInAppSerializer` * Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices. ## 2.1.2 #### `OrderLineGoogleAdsPremiumSerializer` * Made `target_page_type` required. * Removed fields: - `expected_clicks` - `expected_conversions` - `expected_impression_share` - `expected_impressions` - `keywords_with_zero_search_volume` - `branch_codes` - `call_to_action` - `is_generic_campaign` - `generic_topics` - `remarketing_setup_fee` - `remarketing_budget` #### `OrderLineLandingpageSerializer` * Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required. ## 2.1.1 ### v2/v3 #### `EXISTING_STROER_LANDINGPAGE` * Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant. #### `validate_website_and_landingpage_exists()` * `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer. ## 2.1.0 ### v3 #### `PRODUCT_TYPE_CHOICES` * Added choice `PRODUCT_TYPE_DOMAIN` #### `OrderLineDomainSerializer` * Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to this serializer. Contains the following fields: * `desired_domain`: character field of maximum length 100, required * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required * `domain_info`: character field of maximum length 100, optional #### `OrderLineWebsiteSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload #### `OrderLineEmailSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload. * Changed field `included_accounts` to accept a non-empty list of emails, required * Changed field `additional_accounts` to accept a possibly empty list of additional emails, required * Removed field `addresses` #### `OrderLineSerializer` * Added new field `down_payment`, optional * Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional #### `Serializer` * Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain product provided in the same payload ## 2.0.12 ### v2 #### `OrderLineGoogleAdsPremiumSerializer` * Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used. ## 2.0.11 ### v1/v2 #### `OrderLineSeoSerializer` * Add translation for `EXISTING_STROER_LANDINGPAGE` ## 2.0.10 ### v1/v2 #### `OrderLineSeoSerializer` * Add `campaign_goal` field, not required. * Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`. ## 2.0.9 ### v2 #### `OrderSerializer` * Add `salesforce_opportunity_id` field, required. ## 2.0.8 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Remove required `target_url`. ## 2.0.7 ### v2 #### `OrderLineSerializer` * Add `salesforce_opportunity_line_item_id` field, not required. ## 2.0.6 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Fix validation when `age_group_from` and `age_group_from` are `null`. ## 2.0.3 ### v1/v2 #### `DisplayNativeCreativeSerializer` * Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`. ## 1.4.53 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add `ticket_id` field, not required. ## 1.4.52 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Introduced new serializer - `OrderLineDisplayNativeSerializer` ## 1.4.51 ### v1/v2 #### `OrderLineInAppSerializer` * Set `poi_targeting_file` as not required. ## 1.4.50 ### v1/v2 #### `OrderLineInAppSerializer` * Add `poi_targeting_file` field. ## 1.4.49 ### v1/v2 #### `OrderLineSerializer` * Add `is_pre_briefing_necessary` field, default value is False. ## 1.4.48 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed). ## 1.4.47 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `impressions_per_day` to `impressions_one_time`. ## 1.4.45 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29` ## 1.4.44 ### v1/v2 * removed `detail_google_ads_basic` from `OrderLineSerializer` * removed `OrderLineGoogleAdsBasicSerializer` ## 1.4.43 ### v2 * removed `detail_display_basic` from `OrderLineSerializer` * removed `OrderLineDisplayBasicSerializer` ## 1.4.42 ### v1 #### `OrderLineGoogleAdsPremiumSerializer` * Add field `branch_codes`, optional. ## 1.4.39 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add new field `short_name`, optional. ## 1.4.37 ### v1/v2 #### `OrderLineEmailSerializer` * Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`. ## 1.4.36 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals. ## 1.4.34 ### v1/v2 #### `OrderLineSeoSerializer` * Make `ticket_id` optional. ## 1.4.33 ### v1/v2 #### `ContactSerializer` * Add new field `opt_in_marketing`, optional. ## 1.4.32 ### v1/v2 #### `OrderLineSeoSerializer` * Make `regions` optional. ## 1.4.29 ### v1/v2 #### `OrderLineInAppSerializer` * Remove INAPP_AUDIENCE_OTHER choice * Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required ## 1.4.25 ### v1/v2 #### `OrderLineSerializer` * Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional ## 1.4.24 ### v1/v2 #### `OrderLineListingSerializer` * Add two new fields: `tonline_costs` and `tonline_city` ### `PRODUCT_TYPE_CHOICES` * Add choice `PRODUCT_TYPE_TONLINE` ## 1.4.23 ### v1/v2 #### `AccountLocationSerializer` * Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge ## 1.4.12 ### v2 #### `OrderLineWebsiteSerializer` * Added proper choices for * `design_preference_minimalistic_embellished` * `design_preference_modern_classic` * `design_preference_simple_striking` * `design_preference_text_picture` ## 1.4.10 ### v1/v2 #### `OrderLineFacebookSerializer` * `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24` ## 1.4.9 ### v2 #### `OrderLineWebsiteSerializer` * Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses ## 1.4.6 ### v1 / v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add optional `expected_impressions` and `expected_impression_share` ### v1 * Add optional `target_page_type` ## 1.4.5 ### v1 / v2 #### `AccountLocationSerializer` * Allow `google_places_id` to be 1000 characters max (was 30 before) ## 1.4.3 ### v2 #### `OrderLineWebsiteSerializer` * `additional_subpages` must be >= 0 and <= 60 now #### `OrderLineGoogleAdsBasicSerializer` * added optional `target_url` #### `OrderLineGoogleAdsPremiumSerializer` * added optional `target_url` ## 1.4.2 ### v2 #### `AccountSerializer` * `branch_codes` cannot be empty any more #### `OrderLineSeoSerializer` * `topics` cannot be empty any more * `regions` cannot be empty any more #### `OrderLineGoogleAdsBasicSerializer` * `regions` cannot be empty any more ## 1.4.1 ### v2 #### `OrderLineLandingpageSerializer` added, similar to `OrderLineWebsiteSerializer` except for * `additional_subpages`: positive integer, required * `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required #### `OrderLineSerializer` * added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product #### `OrderLineGoogleAdsBasicSerializer` * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation #### `OrderLineGoogleAdsPremiumSerializer` * added `branch_codes`: list of HeroCentral provided industry topic codes, optional * HeroCentral will validate the codes against the industry tree * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation * added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true` * added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true` #### Validations * added validation: if any OrderLine detail contains `target_page_type` * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist * OrderLine details which can provide values for `target_page_type` are: * OrderLineDisplayBasicSerializer * OrderLineDisplayPremiumSerializer * OrderLineSeoSerializer * OrderLineInAppSerializer * OrderLineFacebookSerializer %package -n python3-easys-ordermanager Summary: API definition of RH order manager for EasyS Provides: python-easys-ordermanager BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-easys-ordermanager [![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/) # EasyS order manager API ## Compatibility matrix Python 3.8, 3.9 and 3.10 ### Django 4.1 DRF 3.14 or newer ### Django 4.2 DRF 3.14 or newer # Changelog ## 2.2.2 (2023-06-01) * Updates to Serializer v3, see serializer changelog ## 2.2.1 (2023-05-30) * Updated wording on translation of Domain choices field. ## 2.2.0 (2023-05-23) * Remove support for Django < 4.1 * Remove support for djangorestframework < 3.14 * Updated minimum required versions of related libraries ## 2.1.3 (2023-05-03) * Updates to Serializer v2 & v3, see serializer changelog ## 2.1.2 (2023-04-12) * Updates to Serializer v3, see serializer changelog * Fixed missing development dependency ## 2.1.1 (2023-03-21) * Updates to Serializer v3, see serializer changelog * New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline. ## 2.1.0 (2023-03-16) * Introduction of serializer v3, see serializer changelog * `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts ## 2.0.12 (2023-03-02) * Updates to Serializer v2, see serializer changelog ## 2.0.11 (2023-02-17) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.10 (2023-01-09) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.9 (2023-01-03) * Updates to Serializer v2, see serializer changelog ## 2.0.8 (2023-01-02) * Updates to Serializer v2, see serializer changelog ## 2.0.7 (2022-12-01) * Updates to Serializer v2, see serializer changelog ## 2.0.6 (2022-11-29) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.5 (2022-11-22) * Add serializer changelog to manifest and include it in the released package ## 2.0.4 (2022-11-22) * Add serializer changelog to PyPI readme ## 2.0.3 (2022-11-21) Updates to Serializer v1 & v2, see serializer changelog ## 2.0.2 (2022-11-15) * Add support for phonenumbers 8.13.x', ## 2.0.1 (2022-09-27) * Add support for DRF 3.14 * Add more test combinations * Remove references to GitHub as the code mirror will be removed ## 2.0.0 (2022-09-16) * Remove support for Python 3.7 and below * Remove support for Django 2.x and below * Drop support for DRF 3.10 and below * Add support for Python 3.10 * Add support for Django 4.0 and 4.1 * Add tests for DRF 3.11, 3.12 and 3.13 * Change CI build to parallel matrix * Get rid of tox for CI * Run the publish stage only for tags on the main branch ## 1.4.53 (2022-07-13) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.52 (2022-07-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.51 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.50 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.49 (2022-04-29) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.48 (2022-03-30) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.47 (2022-03-24) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.46 (2022-01-25) * Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series) ## 1.4.45 (2022-01-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.44 (2022-01-03) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.43 (2021-11-29) Updates to Serializer v2, see serializer changelog ## 1.4.42 (2021-11-26) Updates to Serializer v1, see serializer changelog ## 1.4.41 (2021-11-12) * Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20) ## 1.4.40 (2021-10-08) Fixes flake8 errors. ## 1.4.39 (2021-10-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.38 (2021-08-11) * Fix example for email Orderline. ## 1.4.37 (2021-08-11) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.36 (2021-06-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.35 (2021-06-01) * Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0 ## 1.4.34 (2021-05-28) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.33 (2021-05-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.32 (2021-05-07) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.31 (2021-04-15) * Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2 * Update test matrix, add Django 3.2 ## 1.4.30 (2021-03-18) Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway ## 1.4.29 (2021-02-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.28 (2021-02-01) * Remove dependency to django-iban and use validation from internationalflavor * Allow django-countries release series 7.x * Update dev requirements ## 1.4.27 (2021-1-27) Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES ## 1.4.26 (2021-1-27) updates changelog ## 1.4.25 (2021-1-27) Adds product payment cycle support to Serializer v1 & v2, see serializer changelog ## 1.4.24 (2020-11-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.23 (2020-11-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.22 (2020-11-16) * Modernize Docker env, Update max supported versions and min requirements of some packages * Split package and test dependencies * Move package dependencies to setup.py * Restructure travis env ## 1.4.21 (2020-11-13) Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1 ## 1.4.20 (2020-11-06) Update maximum supported version of phonenumbers>=7.0.6,<8.13 ## 1.4.19 (2020-10-23) Update maximum supported version of djangorestframework>=3.7.7,<3.13 ## 1.4.18 (2020-10-16) Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5 ## 1.4.17 (2020-10-16) Update package to version phonenumbers>=7.0.6,<8.12.12 ## 1.4.15 (2020-10-16) Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility ## 1.4.14 (2020-10-16) Update package to version django-model-utils>=4.0.0,<5.0 ## 1.4.13 (2020-10-06) Fix serializer v2 choice fields ## 1.4.12 (2020-10-05) Updates to Serializer v2, see serializer changelog ## 1.4.11 (2020-09-23) Update german translations ## 1.4.10 (2020-09-23) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.9 (2020-09-01) Updates to Serializer v2, see serializer changelog ## 1.4.8 (2020-08-06) Changed a translation ## 1.4.7 (2020-06-30) Fix test cases ## 1.4.6 (2020-06-30) Updates to Serializer v1/v2, see serializer changelog ## 1.4.5 (2020-06-23) Updates to Serializer v1/v2, see serializer changelog ## 1.4.4 (2020-06-04) Fixed code style to pass checks ## 1.4.3 (2020-06-03) Updates to Serializer v2, see serializer changelog ## 1.4.2 (2020-05-07) Updates to Serializer v2, see serializer changelog ## 1.4.1 (2020-04-15) Introduction of serializer v2 * `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3 * `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2 ## 1.3.2 (2020-04-02) Reverted ## 1.2.3 (2020-03-03) Make sure Django 3 is not installed until further support ## 1.2.2 (2020-03-03) Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly. See setup.py for dependencies ## 1.2.1 (2020-02-27) Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`. The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`) ## 1.2.0 (2019-09-17) This release contains backwards incompatible changes. Changes on `OrderLineDisplayBasicSerializer` * Removed: `geo_targeting` field. * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given. * Removed: `stock_images_allowed` field: * New: `banner_image_selection` choice field accepting following values: * 0 for 'From website' / 'Von der Webseite' option * 1 for 'From customer' / 'Vom kunden' option * 2 for 'Customer photos' / 'Regiohelden Bilder' option * Change: `target_page_type` existing field which is not required anymore. Changes on `OrderLineGoogleAdsPremiumSerializer`: * New: `call_tracking` boolean required field. ## 1.1.3 (2019-09-11) Clean README file. ## 1.1.2 (2019-09-11) Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00 ## 1.1.1 (2019-09-06) Small fix on pep8 error ## 1.1.0 (2019-09-04) This release contains backwards incompatible changes * Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels: * remove `detail_display` field from `OrderLine` * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine` The serializer contains following fields: New fields: * `banner_color_selection` choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x` Fields with changed definition * `impressions_per_month` choice field with accepted values: 20.000 , 40.000 and 80.000 * `creative_options` choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_ Fields with the same definition as in the previous OrderLineDisplaySerializer * `geo_targeting` * `geo_targeting` * `campaign_goal` * `headline` * `sub_headline` * `bullet_points` * `call_to_action` * `color_code_1` * `color_code_2` * `color_code_3` * `stock_images_allowed` * `target_page_type` * `target_url` * `package_template` * `location_frame_text` * `creative_options` * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer * `booking_type` * `target_devices` * `creatives_format` * `impressions_per_day` * `impressions_per_month` * `age_targeting` * `gender_targeting` * `geo_targeting` * `channel_targeting` * `interest_targeting` * `campaign_goal` * `target_page_type` * `target_url` * `creative_options` * Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels: * remove `detail_google_ads` field from `OrderLine` * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `campaign_goal` * `regions` * `expected_impression_share` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `call_to_action` * `campaign_goal` * `regions` * `expected_clicks` * `expected_conversions` * `existing_account_id` * `include_remarketing` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * `usp` * All product fee fields on `OrderLineSerializer` became optional: * `setup_fee` * `start_fee` * `budget` * `fee` * `one_time_budget` * `commission` * `deferred_payment_sum` * Add validation for commission provided for product type Google Ads level Basic: fixed value of 40 * Add validation for combination of product type and level: check if a matching HC products subtype exists * Add validation for the payment fees provided: check if a matching HC payment type exists. ## 1.0.4 (2019-08-21) * Add new fee type postponed_setup_fee * Add reference customer boolean to Location serializer ## 1.0.3 (2019-07-03) * Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it) ## 1.0.2 (2019-07-01) * Allow to use empty/null values for non-required fields ## 1.0.1 (2019-06-27) * Add missing files to the package ## 1.0.0 (2019-06-24) * Initial release # Serializer changes ## 2.2.2 ### v3 #### `OrderLineEmailSerializer` * Renamed field `included_accounts` to `included_addresses`. * Renamed field `additional_accounts` to `additional_addresses`. ## 2.1.3 ### v2/v3 #### `OrderLineInAppSerializer` * Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices. ## 2.1.2 #### `OrderLineGoogleAdsPremiumSerializer` * Made `target_page_type` required. * Removed fields: - `expected_clicks` - `expected_conversions` - `expected_impression_share` - `expected_impressions` - `keywords_with_zero_search_volume` - `branch_codes` - `call_to_action` - `is_generic_campaign` - `generic_topics` - `remarketing_setup_fee` - `remarketing_budget` #### `OrderLineLandingpageSerializer` * Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required. ## 2.1.1 ### v2/v3 #### `EXISTING_STROER_LANDINGPAGE` * Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant. #### `validate_website_and_landingpage_exists()` * `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer. ## 2.1.0 ### v3 #### `PRODUCT_TYPE_CHOICES` * Added choice `PRODUCT_TYPE_DOMAIN` #### `OrderLineDomainSerializer` * Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to this serializer. Contains the following fields: * `desired_domain`: character field of maximum length 100, required * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required * `domain_info`: character field of maximum length 100, optional #### `OrderLineWebsiteSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload #### `OrderLineEmailSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload. * Changed field `included_accounts` to accept a non-empty list of emails, required * Changed field `additional_accounts` to accept a possibly empty list of additional emails, required * Removed field `addresses` #### `OrderLineSerializer` * Added new field `down_payment`, optional * Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional #### `Serializer` * Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain product provided in the same payload ## 2.0.12 ### v2 #### `OrderLineGoogleAdsPremiumSerializer` * Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used. ## 2.0.11 ### v1/v2 #### `OrderLineSeoSerializer` * Add translation for `EXISTING_STROER_LANDINGPAGE` ## 2.0.10 ### v1/v2 #### `OrderLineSeoSerializer` * Add `campaign_goal` field, not required. * Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`. ## 2.0.9 ### v2 #### `OrderSerializer` * Add `salesforce_opportunity_id` field, required. ## 2.0.8 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Remove required `target_url`. ## 2.0.7 ### v2 #### `OrderLineSerializer` * Add `salesforce_opportunity_line_item_id` field, not required. ## 2.0.6 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Fix validation when `age_group_from` and `age_group_from` are `null`. ## 2.0.3 ### v1/v2 #### `DisplayNativeCreativeSerializer` * Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`. ## 1.4.53 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add `ticket_id` field, not required. ## 1.4.52 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Introduced new serializer - `OrderLineDisplayNativeSerializer` ## 1.4.51 ### v1/v2 #### `OrderLineInAppSerializer` * Set `poi_targeting_file` as not required. ## 1.4.50 ### v1/v2 #### `OrderLineInAppSerializer` * Add `poi_targeting_file` field. ## 1.4.49 ### v1/v2 #### `OrderLineSerializer` * Add `is_pre_briefing_necessary` field, default value is False. ## 1.4.48 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed). ## 1.4.47 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `impressions_per_day` to `impressions_one_time`. ## 1.4.45 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29` ## 1.4.44 ### v1/v2 * removed `detail_google_ads_basic` from `OrderLineSerializer` * removed `OrderLineGoogleAdsBasicSerializer` ## 1.4.43 ### v2 * removed `detail_display_basic` from `OrderLineSerializer` * removed `OrderLineDisplayBasicSerializer` ## 1.4.42 ### v1 #### `OrderLineGoogleAdsPremiumSerializer` * Add field `branch_codes`, optional. ## 1.4.39 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add new field `short_name`, optional. ## 1.4.37 ### v1/v2 #### `OrderLineEmailSerializer` * Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`. ## 1.4.36 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals. ## 1.4.34 ### v1/v2 #### `OrderLineSeoSerializer` * Make `ticket_id` optional. ## 1.4.33 ### v1/v2 #### `ContactSerializer` * Add new field `opt_in_marketing`, optional. ## 1.4.32 ### v1/v2 #### `OrderLineSeoSerializer` * Make `regions` optional. ## 1.4.29 ### v1/v2 #### `OrderLineInAppSerializer` * Remove INAPP_AUDIENCE_OTHER choice * Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required ## 1.4.25 ### v1/v2 #### `OrderLineSerializer` * Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional ## 1.4.24 ### v1/v2 #### `OrderLineListingSerializer` * Add two new fields: `tonline_costs` and `tonline_city` ### `PRODUCT_TYPE_CHOICES` * Add choice `PRODUCT_TYPE_TONLINE` ## 1.4.23 ### v1/v2 #### `AccountLocationSerializer` * Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge ## 1.4.12 ### v2 #### `OrderLineWebsiteSerializer` * Added proper choices for * `design_preference_minimalistic_embellished` * `design_preference_modern_classic` * `design_preference_simple_striking` * `design_preference_text_picture` ## 1.4.10 ### v1/v2 #### `OrderLineFacebookSerializer` * `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24` ## 1.4.9 ### v2 #### `OrderLineWebsiteSerializer` * Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses ## 1.4.6 ### v1 / v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add optional `expected_impressions` and `expected_impression_share` ### v1 * Add optional `target_page_type` ## 1.4.5 ### v1 / v2 #### `AccountLocationSerializer` * Allow `google_places_id` to be 1000 characters max (was 30 before) ## 1.4.3 ### v2 #### `OrderLineWebsiteSerializer` * `additional_subpages` must be >= 0 and <= 60 now #### `OrderLineGoogleAdsBasicSerializer` * added optional `target_url` #### `OrderLineGoogleAdsPremiumSerializer` * added optional `target_url` ## 1.4.2 ### v2 #### `AccountSerializer` * `branch_codes` cannot be empty any more #### `OrderLineSeoSerializer` * `topics` cannot be empty any more * `regions` cannot be empty any more #### `OrderLineGoogleAdsBasicSerializer` * `regions` cannot be empty any more ## 1.4.1 ### v2 #### `OrderLineLandingpageSerializer` added, similar to `OrderLineWebsiteSerializer` except for * `additional_subpages`: positive integer, required * `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required #### `OrderLineSerializer` * added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product #### `OrderLineGoogleAdsBasicSerializer` * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation #### `OrderLineGoogleAdsPremiumSerializer` * added `branch_codes`: list of HeroCentral provided industry topic codes, optional * HeroCentral will validate the codes against the industry tree * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation * added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true` * added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true` #### Validations * added validation: if any OrderLine detail contains `target_page_type` * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist * OrderLine details which can provide values for `target_page_type` are: * OrderLineDisplayBasicSerializer * OrderLineDisplayPremiumSerializer * OrderLineSeoSerializer * OrderLineInAppSerializer * OrderLineFacebookSerializer %package help Summary: Development documents and examples for easys-ordermanager Provides: python3-easys-ordermanager-doc %description help [![PyPI version](https://badge.fury.io/py/easys-ordermanager.svg)](https://badge.fury.io/py/easys-ordermanager) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Lektor.svg)](https://pypi.org/project/easys-ordermanager/) # EasyS order manager API ## Compatibility matrix Python 3.8, 3.9 and 3.10 ### Django 4.1 DRF 3.14 or newer ### Django 4.2 DRF 3.14 or newer # Changelog ## 2.2.2 (2023-06-01) * Updates to Serializer v3, see serializer changelog ## 2.2.1 (2023-05-30) * Updated wording on translation of Domain choices field. ## 2.2.0 (2023-05-23) * Remove support for Django < 4.1 * Remove support for djangorestframework < 3.14 * Updated minimum required versions of related libraries ## 2.1.3 (2023-05-03) * Updates to Serializer v2 & v3, see serializer changelog ## 2.1.2 (2023-04-12) * Updates to Serializer v3, see serializer changelog * Fixed missing development dependency ## 2.1.1 (2023-03-21) * Updates to Serializer v3, see serializer changelog * New test to validate payloads including EXISTING_STROER_LANDINGPAGE, and only a SEO product orderline. ## 2.1.0 (2023-03-16) * Introduction of serializer v3, see serializer changelog * `easys-ordermanager/easys_ordermanager/v3/serializer.Serializer` is considered WIP until integration in EasyS starts ## 2.0.12 (2023-03-02) * Updates to Serializer v2, see serializer changelog ## 2.0.11 (2023-02-17) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.10 (2023-01-09) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.9 (2023-01-03) * Updates to Serializer v2, see serializer changelog ## 2.0.8 (2023-01-02) * Updates to Serializer v2, see serializer changelog ## 2.0.7 (2022-12-01) * Updates to Serializer v2, see serializer changelog ## 2.0.6 (2022-11-29) * Updates to Serializer v1 & v2, see serializer changelog ## 2.0.5 (2022-11-22) * Add serializer changelog to manifest and include it in the released package ## 2.0.4 (2022-11-22) * Add serializer changelog to PyPI readme ## 2.0.3 (2022-11-21) Updates to Serializer v1 & v2, see serializer changelog ## 2.0.2 (2022-11-15) * Add support for phonenumbers 8.13.x', ## 2.0.1 (2022-09-27) * Add support for DRF 3.14 * Add more test combinations * Remove references to GitHub as the code mirror will be removed ## 2.0.0 (2022-09-16) * Remove support for Python 3.7 and below * Remove support for Django 2.x and below * Drop support for DRF 3.10 and below * Add support for Python 3.10 * Add support for Django 4.0 and 4.1 * Add tests for DRF 3.11, 3.12 and 3.13 * Change CI build to parallel matrix * Get rid of tox for CI * Run the publish stage only for tags on the main branch ## 1.4.53 (2022-07-13) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.52 (2022-07-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.51 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.50 (2022-06-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.49 (2022-04-29) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.48 (2022-03-30) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.47 (2022-03-24) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.46 (2022-01-25) * Add support for [djangorestframework 3.13 release series](https://www.django-rest-framework.org/community/release-notes/#313x-series) ## 1.4.45 (2022-01-14) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.44 (2022-01-03) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.43 (2021-11-29) Updates to Serializer v2, see serializer changelog ## 1.4.42 (2021-11-26) Updates to Serializer v1, see serializer changelog ## 1.4.41 (2021-11-12) * Add support for [django-phonenumber-field release series 6](https://github.com/stefanfoulis/django-phonenumber-field/blob/main/CHANGELOG.rst#600-2021-10-20) ## 1.4.40 (2021-10-08) Fixes flake8 errors. ## 1.4.39 (2021-10-08) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.38 (2021-08-11) * Fix example for email Orderline. ## 1.4.37 (2021-08-11) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.36 (2021-06-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.35 (2021-06-01) * Update maximum supported version of django-phonenumber-field>=3.0.1,<6.0 ## 1.4.34 (2021-05-28) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.33 (2021-05-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.32 (2021-05-07) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.31 (2021-04-15) * Update maximum supported version of django-phonenumber-field>=3.0.1,<5.2 * Update test matrix, add Django 3.2 ## 1.4.30 (2021-03-18) Replace ugettext* usages with gettext* usages as Python 3 is unicode compatible anyway ## 1.4.29 (2021-02-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.28 (2021-02-01) * Remove dependency to django-iban and use validation from internationalflavor * Allow django-countries release series 7.x * Update dev requirements ## 1.4.27 (2021-1-27) Updated translations of PRODUCT_PAYMENT_CYCLE_CHOICES ## 1.4.26 (2021-1-27) updates changelog ## 1.4.25 (2021-1-27) Adds product payment cycle support to Serializer v1 & v2, see serializer changelog ## 1.4.24 (2020-11-25) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.23 (2020-11-19) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.22 (2020-11-16) * Modernize Docker env, Update max supported versions and min requirements of some packages * Split package and test dependencies * Move package dependencies to setup.py * Restructure travis env ## 1.4.21 (2020-11-13) Update maximum supported version of django-phonenumber-field>=3.0.1,<5.1 ## 1.4.20 (2020-11-06) Update maximum supported version of phonenumbers>=7.0.6,<8.13 ## 1.4.19 (2020-10-23) Update maximum supported version of djangorestframework>=3.7.7,<3.13 ## 1.4.18 (2020-10-16) Update maximum required version of django-countries>=4.4,<6.1.4 and django-internationalflavor>=0.3.1,<0.5 ## 1.4.17 (2020-10-16) Update package to version phonenumbers>=7.0.6,<8.12.12 ## 1.4.15 (2020-10-16) Update package to version django-model-utils>=3.1.2,<5.0 - for backwards compatibility ## 1.4.14 (2020-10-16) Update package to version django-model-utils>=4.0.0,<5.0 ## 1.4.13 (2020-10-06) Fix serializer v2 choice fields ## 1.4.12 (2020-10-05) Updates to Serializer v2, see serializer changelog ## 1.4.11 (2020-09-23) Update german translations ## 1.4.10 (2020-09-23) Updates to Serializer v1 & v2, see serializer changelog ## 1.4.9 (2020-09-01) Updates to Serializer v2, see serializer changelog ## 1.4.8 (2020-08-06) Changed a translation ## 1.4.7 (2020-06-30) Fix test cases ## 1.4.6 (2020-06-30) Updates to Serializer v1/v2, see serializer changelog ## 1.4.5 (2020-06-23) Updates to Serializer v1/v2, see serializer changelog ## 1.4.4 (2020-06-04) Fixed code style to pass checks ## 1.4.3 (2020-06-03) Updates to Serializer v2, see serializer changelog ## 1.4.2 (2020-05-07) Updates to Serializer v2, see serializer changelog ## 1.4.1 (2020-04-15) Introduction of serializer v2 * `easys-ordermanager/easys_ordermanager/v1/serializer.Serializer` is now frozen on the state of release 1.2.3 * `easys-ordermanager/easys_ordermanager/v2/serializer.Serializer` is considered WIP until integration in EasyS starts and new changes will go into v3, see serializer changelog for changes between v1 and v2 ## 1.3.2 (2020-04-02) Reverted ## 1.2.3 (2020-03-03) Make sure Django 3 is not installed until further support ## 1.2.2 (2020-03-03) Add proper dependencies to avoid unwanted failure with possible upgrades when installed freshly. See setup.py for dependencies ## 1.2.1 (2020-02-27) Add unique validation on `opening_hours` list of values of `OrderLineListingSerializer`. The opening hours lis should be unique for every `day_of_week` (see `OrderLineListingOpeningHoursSerializer`) ## 1.2.0 (2019-09-17) This release contains backwards incompatible changes. Changes on `OrderLineDisplayBasicSerializer` * Removed: `geo_targeting` field. * New: `geo_targeting_zip` field which accepts one string zip code. Not mandatory * New: `geo_targeting_radius` field accepting integer values between 1-80 (km). Mandatory only if `geo_targeting_zip` is given. * Removed: `stock_images_allowed` field: * New: `banner_image_selection` choice field accepting following values: * 0 for 'From website' / 'Von der Webseite' option * 1 for 'From customer' / 'Vom kunden' option * 2 for 'Customer photos' / 'Regiohelden Bilder' option * Change: `target_page_type` existing field which is not required anymore. Changes on `OrderLineGoogleAdsPremiumSerializer`: * New: `call_tracking` boolean required field. ## 1.1.3 (2019-09-11) Clean README file. ## 1.1.2 (2019-09-11) Fix expected_impression_share field of OrderLineGoogleAdsBasicSerializer to accept 5 digits in order to validate value 100.00 ## 1.1.1 (2019-09-06) Small fix on pep8 error ## 1.1.0 (2019-09-04) This release contains backwards incompatible changes * Split Display detail OrderLineDisplaySerializer in two different serializers and fields for basic and premium product levels: * remove `detail_display` field from `OrderLine` * add `detail_display_basic` field (`OrderLineDisplayBasicSerializer`) on `OrderLine` The serializer contains following fields: New fields: * `banner_color_selection` choice field with values: 1 for _Color from Logo/Website_ and 2 for _Set color_ . To be used in combination with fields `color_code_x` Fields with changed definition * `impressions_per_month` choice field with accepted values: 20.000 , 40.000 and 80.000 * `creative_options` choice field contains only values: 1 for _Customer provided_ and 3 for _Create animated_ Fields with the same definition as in the previous OrderLineDisplaySerializer * `geo_targeting` * `geo_targeting` * `campaign_goal` * `headline` * `sub_headline` * `bullet_points` * `call_to_action` * `color_code_1` * `color_code_2` * `color_code_3` * `stock_images_allowed` * `target_page_type` * `target_url` * `package_template` * `location_frame_text` * `creative_options` * add `detail_display_premium` field (`OrderLineDisplayPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineDisplaySerializer * `booking_type` * `target_devices` * `creatives_format` * `impressions_per_day` * `impressions_per_month` * `age_targeting` * `gender_targeting` * `geo_targeting` * `channel_targeting` * `interest_targeting` * `campaign_goal` * `target_page_type` * `target_url` * `creative_options` * Split Google Ads detail OrderLineGoogleAdsSerializer in two different serializers for basic and premium product levels: * remove `detail_google_ads` field from `OrderLine` * add `detail_google_ads_basic` field (`OrderLineGoogleAdsBasicSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `campaign_goal` * `regions` * `expected_impression_share` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * add `detail_google_ads_premium` field (`OrderLineGoogleAdsPremiumSerializer`) on `OrderLine` Serializer contains following fields with the same definition as in the previous OrderLineGoogleAdsSerializer * `call_to_action` * `campaign_goal` * `regions` * `expected_clicks` * `expected_conversions` * `existing_account_id` * `include_remarketing` * `keywords` * `keywords_with_zero_search_volume` * `target_audience` * `usp` * All product fee fields on `OrderLineSerializer` became optional: * `setup_fee` * `start_fee` * `budget` * `fee` * `one_time_budget` * `commission` * `deferred_payment_sum` * Add validation for commission provided for product type Google Ads level Basic: fixed value of 40 * Add validation for combination of product type and level: check if a matching HC products subtype exists * Add validation for the payment fees provided: check if a matching HC payment type exists. ## 1.0.4 (2019-08-21) * Add new fee type postponed_setup_fee * Add reference customer boolean to Location serializer ## 1.0.3 (2019-07-03) * Don't use allow_null with BooleanField (`djangorestframework<3.9` doesn't support it) ## 1.0.2 (2019-07-01) * Allow to use empty/null values for non-required fields ## 1.0.1 (2019-06-27) * Add missing files to the package ## 1.0.0 (2019-06-24) * Initial release # Serializer changes ## 2.2.2 ### v3 #### `OrderLineEmailSerializer` * Renamed field `included_accounts` to `included_addresses`. * Renamed field `additional_accounts` to `additional_addresses`. ## 2.1.3 ### v2/v3 #### `OrderLineInAppSerializer` * Added `INAPP_AUDIENCE_EMPTY` to `target_audiences` choices. ## 2.1.2 #### `OrderLineGoogleAdsPremiumSerializer` * Made `target_page_type` required. * Removed fields: - `expected_clicks` - `expected_conversions` - `expected_impression_share` - `expected_impressions` - `keywords_with_zero_search_volume` - `branch_codes` - `call_to_action` - `is_generic_campaign` - `generic_topics` - `remarketing_setup_fee` - `remarketing_budget` #### `OrderLineLandingpageSerializer` * Added field `easys_related_orderline_id`, referencing the easys ID of a product in the same payload, required. ## 2.1.1 ### v2/v3 #### `EXISTING_STROER_LANDINGPAGE` * Change constant value from 3 to 4, to prevent clashes with `NEW_LANDINGPAGE` constant. #### `validate_website_and_landingpage_exists()` * `needs_website` is `True` **only** when `target_page_type` property corresponds to a new website. This was the behavior before the version `2.0.10` of the serializer. ## 2.1.0 ### v3 #### `PRODUCT_TYPE_CHOICES` * Added choice `PRODUCT_TYPE_DOMAIN` #### `OrderLineDomainSerializer` * Added serializer, the domain fields of `OrderLineWebsiteSerializer`and `OrderLineEmailSerializer` have been migrated to this serializer. Contains the following fields: * `desired_domain`: character field of maximum length 100, required * `domain_type`: choice of `DOMAIN_TYPE_CHOICES`, required * `domain_info`: character field of maximum length 100, optional #### `OrderLineWebsiteSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload #### `OrderLineEmailSerializer` * Removed domain fields (`desired_domain`, `domain_type`, `domain_info`) * Added field `easys_orderline_domain_id`, referencing the easys ID of a domain product in the same payload. * Changed field `included_accounts` to accept a non-empty list of emails, required * Changed field `additional_accounts` to accept a possibly empty list of additional emails, required * Removed field `addresses` #### `OrderLineSerializer` * Added new field `down_payment`, optional * Added new field `detail_domain` accepting `OrderLineDomainSerializer` data, optional #### `Serializer` * Added validation: if any OrderLine detail contains `easys_orderline_domain_id` it must reference a domain product provided in the same payload ## 2.0.12 ### v2 #### `OrderLineGoogleAdsPremiumSerializer` * Remove fields `remarketing_setup_fee` and `remarketing_budget`, since they are no longer used. ## 2.0.11 ### v1/v2 #### `OrderLineSeoSerializer` * Add translation for `EXISTING_STROER_LANDINGPAGE` ## 2.0.10 ### v1/v2 #### `OrderLineSeoSerializer` * Add `campaign_goal` field, not required. * Support new value (`3`) for `target_page_type` field. It corresponds to `EXISTING_STROER_LANDINGPAGE`. ## 2.0.9 ### v2 #### `OrderSerializer` * Add `salesforce_opportunity_id` field, required. ## 2.0.8 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Remove required `target_url`. ## 2.0.7 ### v2 #### `OrderLineSerializer` * Add `salesforce_opportunity_line_item_id` field, not required. ## 2.0.6 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Fix validation when `age_group_from` and `age_group_from` are `null`. ## 2.0.3 ### v1/v2 #### `DisplayNativeCreativeSerializer` * Changed `teaser` and `advertorial` to accept null instead of blank, and removed `allow_blank` from `ad_type`. ## 1.4.53 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add `ticket_id` field, not required. ## 1.4.52 ### v1/v2 #### `OrderLineDisplayNativeSerializer` * Introduced new serializer - `OrderLineDisplayNativeSerializer` ## 1.4.51 ### v1/v2 #### `OrderLineInAppSerializer` * Set `poi_targeting_file` as not required. ## 1.4.50 ### v1/v2 #### `OrderLineInAppSerializer` * Add `poi_targeting_file` field. ## 1.4.49 ### v1/v2 #### `OrderLineSerializer` * Add `is_pre_briefing_necessary` field, default value is False. ## 1.4.48 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add validation for `impressions_per_month` and `impressions_one_time`, depending on `booking_type` (continuous or fixed). ## 1.4.47 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `impressions_per_day` to `impressions_one_time`. ## 1.4.45 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Changed field `age_targeting` choices: `DISPLAY_AGE_CHOICES`, removed legacy `[DISPLAY_AGE_14_19, DISPLAY_AGE_20_29]` and added `DISPLAY_AGE_14_29` ## 1.4.44 ### v1/v2 * removed `detail_google_ads_basic` from `OrderLineSerializer` * removed `OrderLineGoogleAdsBasicSerializer` ## 1.4.43 ### v2 * removed `detail_display_basic` from `OrderLineSerializer` * removed `OrderLineDisplayBasicSerializer` ## 1.4.42 ### v1 #### `OrderLineGoogleAdsPremiumSerializer` * Add field `branch_codes`, optional. ## 1.4.39 ### v1/v2 #### `OrderLineDisplayPremiumSerializer` * Add new field `short_name`, optional. ## 1.4.37 ### v1/v2 #### `OrderLineEmailSerializer` * Add necessary and additional fields for domain creation on email orderline: `desired_domain`, `domain_type` and `domain_info`. ## 1.4.36 ### v1/v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add new fields for generic campaign information: `is_generic_campaign` and `generic_topics`, optionals. ## 1.4.34 ### v1/v2 #### `OrderLineSeoSerializer` * Make `ticket_id` optional. ## 1.4.33 ### v1/v2 #### `ContactSerializer` * Add new field `opt_in_marketing`, optional. ## 1.4.32 ### v1/v2 #### `OrderLineSeoSerializer` * Make `regions` optional. ## 1.4.29 ### v1/v2 #### `OrderLineInAppSerializer` * Remove INAPP_AUDIENCE_OTHER choice * Make `target_audiences` optional. One of the `target_audiences` and `other_target_audiences` is required ## 1.4.25 ### v1/v2 #### `OrderLineSerializer` * Add new field: `payment_cycle`: choice of `PRODUCT_PAYMENT_CYCLE_CHOICES`, optional ## 1.4.24 ### v1/v2 #### `OrderLineListingSerializer` * Add two new fields: `tonline_costs` and `tonline_city` ### `PRODUCT_TYPE_CHOICES` * Add choice `PRODUCT_TYPE_TONLINE` ## 1.4.23 ### v1/v2 #### `AccountLocationSerializer` * Add validation: required `payment_debit_account_iban` in case of `payment_type` Charge ## 1.4.12 ### v2 #### `OrderLineWebsiteSerializer` * Added proper choices for * `design_preference_minimalistic_embellished` * `design_preference_modern_classic` * `design_preference_simple_striking` * `design_preference_text_picture` ## 1.4.10 ### v1/v2 #### `OrderLineFacebookSerializer` * `ages` choices adjustment: `14_18` is now `13_17` and `19_24` is `18_24` ## 1.4.9 ### v2 #### `OrderLineWebsiteSerializer` * Restrict validator for field `desired_domain` to accept only domain names without http protocol and no IP addresses ## 1.4.6 ### v1 / v2 #### `OrderLineGoogleAdsPremiumSerializer` * Add optional `expected_impressions` and `expected_impression_share` ### v1 * Add optional `target_page_type` ## 1.4.5 ### v1 / v2 #### `AccountLocationSerializer` * Allow `google_places_id` to be 1000 characters max (was 30 before) ## 1.4.3 ### v2 #### `OrderLineWebsiteSerializer` * `additional_subpages` must be >= 0 and <= 60 now #### `OrderLineGoogleAdsBasicSerializer` * added optional `target_url` #### `OrderLineGoogleAdsPremiumSerializer` * added optional `target_url` ## 1.4.2 ### v2 #### `AccountSerializer` * `branch_codes` cannot be empty any more #### `OrderLineSeoSerializer` * `topics` cannot be empty any more * `regions` cannot be empty any more #### `OrderLineGoogleAdsBasicSerializer` * `regions` cannot be empty any more ## 1.4.1 ### v2 #### `OrderLineLandingpageSerializer` added, similar to `OrderLineWebsiteSerializer` except for * `additional_subpages`: positive integer, required * `logo_creation`: choice of `LOGO_CREATION_CHOICES`, required #### `OrderLineSerializer` * added `detail_landingpage`: type `OrderLineLandingpageSerializer`, only required when OrderLine represents a landingpage product #### `OrderLineGoogleAdsBasicSerializer` * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation #### `OrderLineGoogleAdsPremiumSerializer` * added `branch_codes`: list of HeroCentral provided industry topic codes, optional * HeroCentral will validate the codes against the industry tree * added `target_page_type`: choice of `GOOGLE_ADS_LANDING_PAGE_CHOICES`, optional * see `Serializer` changes for validation * added `remarketing_setup_fee`: decimal, must be >=0 if `include_remarketing=true` * added `remarketing_budget`: decimal, must be >=0 if `include_remarketing=true` #### Validations * added validation: if any OrderLine detail contains `target_page_type` * if set to `NEW_WEBSITE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_WEBSITE` to exist * if set to `NEW_LANDINGPAGE`, the serializer will require an OrderLine of type `PRODUCT_TYPE_LANDINGPAGE` to exist * OrderLine details which can provide values for `target_page_type` are: * OrderLineDisplayBasicSerializer * OrderLineDisplayPremiumSerializer * OrderLineSeoSerializer * OrderLineInAppSerializer * OrderLineFacebookSerializer %prep %autosetup -n easys-ordermanager-2.2.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-easys-ordermanager -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Thu Jun 08 2023 Python_Bot - 2.2.2-1 - Package Spec generated