diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-18 04:44:10 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-18 04:44:10 +0000 |
commit | 86470be3a292f5acf08aa1e45bbf857350ca2d4b (patch) | |
tree | 13290cea24a32691e65fce82aa146c6265c91a72 | |
parent | cfc0943746e5c08f7c83ac0d2618f81ea4b338d4 (diff) |
automatic import of python-easys-ordermanager
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-easys-ordermanager.spec | 2596 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 2598 insertions, 0 deletions
@@ -0,0 +1 @@ +/easys-ordermanager-2.1.3.tar.gz diff --git a/python-easys-ordermanager.spec b/python-easys-ordermanager.spec new file mode 100644 index 0000000..8d5b748 --- /dev/null +++ b/python-easys-ordermanager.spec @@ -0,0 +1,2596 @@ +%global _empty_manifest_terminate_build 0 +Name: python-easys-ordermanager +Version: 2.1.3 +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.nju.edu.cn/pypi/web/packages/42/f1/b98049c02cf225018b94020b1284bacaefd999d94ac310d512e3051caac7/easys-ordermanager-2.1.3.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 +[](https://badge.fury.io/py/easys-ordermanager) +[](https://pypi.org/project/easys-ordermanager/) + +# EasyS order manager API + +## Compatibility matrix + +Python 3.8, 3.9 and 3.10 + +### Django 3.2 + +DRF 3.11 or newer + +### Django 4.0 + +DRF 3.13 or newer + +### Django 4.1 + +DRF 3.14 or newer + + +# Changelog + +## 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.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 +[](https://badge.fury.io/py/easys-ordermanager) +[](https://pypi.org/project/easys-ordermanager/) + +# EasyS order manager API + +## Compatibility matrix + +Python 3.8, 3.9 and 3.10 + +### Django 3.2 + +DRF 3.11 or newer + +### Django 4.0 + +DRF 3.13 or newer + +### Django 4.1 + +DRF 3.14 or newer + + +# Changelog + +## 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.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 +[](https://badge.fury.io/py/easys-ordermanager) +[](https://pypi.org/project/easys-ordermanager/) + +# EasyS order manager API + +## Compatibility matrix + +Python 3.8, 3.9 and 3.10 + +### Django 3.2 + +DRF 3.11 or newer + +### Django 4.0 + +DRF 3.13 or newer + +### Django 4.1 + +DRF 3.14 or newer + + +# Changelog + +## 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.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.1.3 + +%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 May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.3-1 +- Package Spec generated @@ -0,0 +1 @@ +6b8cd5cb0cda8f28939b5f40ea73bce3 easys-ordermanager-2.1.3.tar.gz |