Appearance
<div style="display: none;" hidden="true" aria-hidden="true">Are you an LLM? You can read better optimized documentation at /changelog/Changelog.4.3.md for this page in Markdown format</div>
Version 4
version 4.3
version 4.3.2x
Changelog
- [4.3.21] cd-fix: getAgoraCategoryRequest fix at productFilters to add 'placement:SponsoredProducts' in $categoryPath array as last item
- [4.3.21] cd-fix: Waiting list email lists products that have been available with their main image
- [4.3.21] ui-feat: views products admin / list and batch update have new mass manage options
put_in_category_and_remove_other_categoriesandchange_products_category - [4.3.21] cd-feat: product category model enriched with
changeProductsCategoryBatch&removeAllProductCategoriesAndAssignToOne - [4.3.21] cd-feat: product model
getProductCategoriesByProductIdsadded to match products categories - [4.3.20] cd-update: update
package.json - [4.3.20] cd-fix: project agora
getAgoraSearchRequestandgetAgoraCategoryRequestcall fix atproductFilters - [4.3.20] cd-fix: fix error if no input stream is set in
MY_Input::setInputStreamAsPost
Notes
- [4.3.20] All clients need npm install & build components
version 4.3.1x
Changelog
- [4.3.19] cd-fix: admin repeat order page functions were restored.
- [4.3.19] cd-feat: admin order create/edit/repeat gifts block was made in vue to replace old approach.
- [4.3.19] ui-fix: checkout counties dropdown: an empty option for empty selection and an alert were added
- [4.3.19] cd-fix: Admin order search filters fix
- [4.3.19] cd-fix: fix for addMassGiftsForNoPlusOne to post gift_mui entry with gift id and lang
- [4.3.19] cd-feat: project agora update
- cd-feat: "placement:SponsoredProducts" added at ProjectAgora getAgoraCategoryRequest and getAgoraSearchRequest
- cd-feat: "msrp" and "taxonomy" fields added at parseItem function for project agora xml
- [4.3.18] cd-fix: ecomntag version from 1.0.6 back to 1.0.8
- [4.3.17] cd-feat: Added config item for the counties to show first Attika
- [4.3.17] cd-fix: corrected product quantity for attributes in gifts in
\Adv_order::checkoutView&&\Adv_orders_admin::gifts_for_products - [4.3.17] cd-fix: fix slug saving for admin in Adv_promo_admin & replace deprecated create_slug
- [4.3.17] cd-fix: fix condition in Adv_home::googleRecommendationsForHomePage
- [4.3.16] cd-feat: send search terms to google through google tag manager
- [4.3.16] cd-update: vue store.actions.addToCartClicked passes product code id along with product id in ecomntag lib
- [4.3.16] cd-feat: Added extra feed for the contact pigeon and added extra method for the resize images for push notifications
- [4.3.16] cd-feat: glami pixel tags was added to
production/tag_manager_script.php&helpers/tracking_helper.php - [4.3.16] cd-fix: skroutz xml
\AdvSkroutzXml::indexupdated to use images and descriptions. - [4.3.16] cd-feat: glami xml feed
- cd-feat: generate xml fileds from product codes, must have both size/color attributes
- cd-feat: implemented
\AdvGlamiXml - cd-feat: added
\Adv_product_model::getGlamiXmlProductCodesmethod - ui-feat: setting in third_party_provides to enable glami xml for advisable and admin users
- ui-feat: checkbox in product create/update/clone views to include product in xml feed
- cd-feat: IS_ENABLED setting for glami in adv_settings
- [4.3.16] cd-feat: channel referrer track
- cd-feat:
libraries\ChannelTrackwas refactored to match requested specifications - cd-feat: used in
\Adv_front_controller::channelTrackto write request referrer to the user session - cd-feat: used in
\Adv_order::checkoutsets theskroutz_refererfield usinggetReferrer() - cd-feat: notice that
skroutz_referrerfield name haven't changed but now it takes non boolean values, and in fact it sets the product purchase channel. - cd-feat: config
referrerChannelsin app.php to dynamically modify referrer tracking ! do not use zero as an index
- cd-feat:
- [4.3.16] ui-fix: added vue text in admin add product attributes, load images on the next update
- [4.3.16] cd-fix: ApcoPay Piraeus provider strip comma from city
- [4.3.15] cd-fix: adv_checkout cancelOrder properly calling set_status
- [4.3.14] ui-feat: added missing
order_trackview in main/default templates - [4.3.14] cd-fix: replaced any
->registry->getcode with cached call methods for settings in that way any time a setting is saved, clean cache must occure. - [4.3.14] ui-update: payment settings page pretty styled
- [4.3.14] cd-feat: ordering in payment methods using two lists multiselect method
- [4.3.14] cd-fix: added role access to user creation in
Adv_authrestrict admin to create superusers - [4.3.14] cd-feat: allow metatag fileds to admin users
- cd-feat: added
canAccess()function in admin_helper - cd-fix: added metatags fields access check in views and controllers
- cd-feat: added
- [4.3.14] cd-fix: adv_skroutz_orders_admin reject function fetch new order status from skroutz after a successful reject call and update status accordingly, changed class variable apiSettings and functions setupPaymerch and SetupShipping visibility from private to protected
- [4.3.14] cd-fix: adv_skroutz_orders_model added return type to function getSkroutzOrdersListAdminCount, added visibility to function createSkroutzFakeCart
- [4.3.14] cd-fix: adv_skroutz_orders_admin and adv_skroutz_orders_model number_of_parcels array now uses implode/explode instead of serialize/unserialize when saving to and fetching from db. patch function patchSkroutzOrdersNumberOfParcels to update existing records
- [4.3.14] cd-fix: order_model function calculateOrderWeight fixed misplaced parenthesis that caused wrong weight calculation, changed access to protected
- [4.3.14] ui-fix: admin orders list fix the payway selected value of the select box
- [4.3.13] cd-update: change base url setting for acs library
Acs.php - [4.3.13] cd-update: disable strict equality when checking google recommendation settings
- [4.3.13] ui-fix: fix typo in homepage var for google recommendation
- [4.3.13] cd-fix: In the front controller set the default values in the settings in case of missing records
- [4.3.12] ui-fix: transfer point system (duplicate) settings from previous
settings.phpto point system - [4.3.12] ui-fix: admin menu ui fixes in responsive views
- [4.3.12] cd-fix: add multiselect functionallity to payways
- [4.3.12] cd-fix: move skroutz settings to third party providers
- [4.3.12] cd-fix: acs rest api url replaced
Acs.php:31and fetching from database. - [4.3.12] cd-fix: admin email settings replaced
Adv_mailer.php:313and fetching from database. - [4.3.12] cd-feat: personalized export searched orders
- added new export function
Adv_orders_admin/exportSearchedOrders() - added new export function
getBasketsForSpecialExport()&&getOrdersListIDAdminExport()inAdv_order_basket_model - changed behavior of personalized export button
orders/list.php
- added new export function
- [4.3.12] cd-fix: null value on dspl save settings
- [4.3.12] cd-feat: Add the dspl products in the Home page of the project agora
- [4.3.12] ui-update: added
step=".01"to numeric fieldamount(nowamount_from) inadmin/gifts/[create|update] - [4.3.12] ui-fix: In
admin/gifts/updateproducts now displayfinal_priceas their price value instead ofprice(without discount) upon page load.- The issue was that during new product insertion to the list product's
final_pricewas used to display the product price but upon saving and reloading the page the displayed product price would change toprice(total product price without the discount).
- The issue was that during new product insertion to the list product's
- [4.3.12] ui-update: Hardcoded label text of form elements related to amount price range in
gift/[create|update]has been localized - [4.3.12] ui-fix: The first product barcode is now displayed in admin panel
gift/[create|update] - [4.3.12] ui-update: In admin panel views of
gifts/[create/update]have been modified accordingly to update the price amount to a range (from - to) - [4.3.12] cd-update: Gift's table structure has been modified. Field
amounthas been renamed toamount_fromand a new field has been added with the nameamount_to - [4.3.12] cd-update: The signatures of the following gift validation rules under
Adv_gifts_orderhave been modified:protected function ruleProductsValidator($masterId, $reqs, $productsInCart)- to:
protected function ruleProductsValidator($masterId, $reqs, $productsInCart): int
- to:
protected function ruleProductsValidatorOneGift($masterId, $reqs, $productsInCart, $giftToReturn = 0)- to:
protected function ruleProductsValidatorOneGift($masterId, $reqs, $productsInCart, $giftToReturn = 0): int
- to:
protected function ruleProductsCombinationValidator($masterId, $reqs, $productsInCart)- to:
protected function ruleProductsCombinationValidator($masterId, $reqs, $productsInCart): int
- to:
protected function ruleVendorsValidator($masterId, $reqs, $productsInCart)- to:
protected function ruleVendorsValidator($masterId, $reqs, $productsInCart): int
- to:
protected function ruleTotalCartValidator($amount)- to:
protected function ruleTotalCartValidator($amountFrom, $amountTo): int
- to:
protected function ruleProductsTotalCartValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleProductsTotalCartValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
protected function ruleProductsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleProductsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
protected function ruleProductsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleProductsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
protected function ruleVendorsTotalCartValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleVendorsTotalCartValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
protected function ruleVendorsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleVendorsTotalMinAmountValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
protected function ruleVendorsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amount)- to:
protected function ruleVendorsTotalMinPriceValidator($masterId, $reqs, $productsInCart, $amountFrom, $amountTo): int
- to:
- [4.3.12] cd-fix: adv_skroutz_orders_admin fix type in payway from bank_tansfer to bank_transfer
- [4.3.12] cd-feat: Elta transfer provider. Added elta library in eshop/libraries. Added elta settings in adv_settings controller and settings view. Modified adv_orders_admin, adv_orders_model (setPendingwithVoucher, cancelJobs and closeJobs functions), adv_customer order_track function, cronjob get_gtstatus function and orders/list view to accomodate the elta transfer provider. shopmodule_helper added elta track link in getLinkForTransferProvider and elta name in getNameOfTransferProvider, added elta related entries in adv_advisable_lang and adv_theme_lang
- [4.3.12] cd-feat: google recommendations ai products in homepage and product page docs here
- [4.3.12] cd-fix: escape query in Registry::get_regval and getGroupAsArray
- [4.3.12] cd-fix: Removed thousands separator from convert_europrice that it was getting from number_format on 4th parameter
- [4.3.12] cd-fix: merged skroutz_customers and skroutz_customer_addresses tables into skroutz_orders table. Added fields number_of_parcels_selected, collection_point_address, pickup_location_selected to store selected options whene accepting a skroutz_order. Schema/skroutz_orders table definitions updated and patch function patchSmartCartTables added. Lang fixes in skroutz_orders controller and view_files, new entries in adv_advisable_lang.
- [4.3.12] cd-fix: Adv_skroutz_orders_admin and adv_skroutz_orders_model adjusted to changed table structure. src/skroutz/SkroutzOrders added function getOrderData, fixed function signatures. Webrun function skroutzWebhookRequest insert skroutz_order in db only if state is open, output error header if skroutz_order update fails.
- [4.3.12] cd-fix: added cronjob function removeOldSkroutzOrders
- [4.3.12] cd-debt: psr and early exit on webrun::skroutzWebhookRequest
- [4.3.12] ui-fix: use appVersionFriendly in footer version output
- [4.3.12] ui-fix:
admin.scssremove override on bootstrap panel-title (remove width:50%) - [4.3.12] cd-fix:
product_model::getProductsByIdsaddshop_product_mui.videoin select. - [4.3.11] cd-feat: Product in orders reports.
- cd-feat: all js functionallity was moved to new file
reporting/product_in_orders.js. - cd-feat:
Adv_order_model::getProductCodeOrders()modified to use more sql query filters. - cd-feat:
Adminrun::getOrdersForProductCode()now it has json output. - ui-feat: The feature was modified to use datatables.js instead of php view.
- [4.3.11] ui-feat: admin footer copyright redesign
- [4.3.11] ui-feat:
admin/menurestructure - [4.3.11] ui-feat:
admin/menuredesign and translate - [4.3.11] ui-feat: added
Cera Profont to admin - [4.3.11] cd-feat: XmlDbIdkey defined in config/app and contains which field to use as uid in each feed controller. Each feed controller (AdvSkroutzXml, AdvAgoraCatalog, etc) sets in its constructor the respective value for product's uid to the inherited dbIdkey field. Adv_skroutz_orders_model changed accordingly. AdvXml controller sets dbIdkey to id as default.
- [4.3.11] ui-feat: Admin order create and edit pages have been modified to show which gift rules apply to which products, when product selections apply. For this feature to work, a new mustache template has been created:
application/views/admin/orders/js_gift_rule_block.php - [4.3.11] cd-feat: Added new
.envenvironment setup constantAPP_CDN_FORCE_DISABLEwhich if defined & set totrue, the application will ignore the cdn host and will always resolve assets to the definedAPP_BASE_URLinstead - [4.3.11] cd-fix: Fixed issues regarding error reporting messages passing wrong parameters and using sprintf instead of utilizing
t()helper properly in several places inAdv_orders_admin - [4.3.10] cd-feat: Automated asset versioning. Assets referenced in laravel mix (both for
frontandadminvendors) will now be included in the auto-generated respectivemix-manifest.json. (admin-mix-manifest.jsonforadminandfront-mix-manifest.jsonforfront). UsingassetUrlthe system will now attempt resolve requested asset urls from manifests. If the asset can be resolved from the manifest, the$versionparameter will be ignored entirely as any changes made to the asset are considered to be automatically tracked by webpack. With this change, upon every commit before deployment you have to ensure that you are staging bothfront-mix-manifest.jsonandadmin-mix-manifest.jsonin your commit. - [4.3.10] cd-feat: Created new vue plugin for bridging the gap between
VueandjQueryas it is needed for the new gift choice redesign. (The need for this bridge plugin is due to the new gift choice design which uses slick slider and subsequently relies onjQueryframework to function). The plugin is calledjquery-vue-bridge-pluginand can be found underassets/vue/utilities. It has been imported and enabled only formain/vueappas it is the only instance ofvueappthat gift choices have been implemented. For clients usingdesign,frontor other, customVueinstances you can use this plugin to bring gift choices with the new design if needed. You may also use this plugin to replace packages such asvue-slick. - [4.3.10] ui-update: By default, gifts without gift choices will no longer display the gift rule's description or image. However, this behaviour can now be easily changed as the deciding predicate has been exported to a single computed property
shouldShowDescriptioninmain/AdvCartGiftRowGroup - [4.3.10] cd-update: Removed problematic gift rule filter returned from
Adv_gifts_model::filterGiftRuleByProductIdRequirementsas a different system for filtering active gift rules is implemented by matching the results ofAdv_gifts_model::getGiftForProductsInCart. With this change,CartResource::getGifts()will now expose all found giftIds in the propertyCartResource::$cartGiftswhich is then used byCartResource::getGiftRules()to filter in the applicable rules. Similar system for validating applicable rules has also been applied for admin panel inAdv_orders_admin::validateProductGiftSelection(). - [4.3.10] ui-update: Gift previews and choices have been redesigned. In this redesign, element class names have been refactored.
- [4.3.10] cd-feat: In the facebook catalog xml feed and google catalog feed order and limit the products by stock
- [4.3.10] cd-feat: Feature skroutz-smartcart. Changes are:
- Controller Adv_skroutz_orders_admin and model adv_skoutz_orders_model with respective subclasses added in eshop module. Views list, accept, reject and customer_info added in views/admin/skroutz_orders
- SkroutzOrders api client for skroutz orders api added in src/skroutz. Function skroutzWebhookRequest added in webrun controller.
- views/admin/orders/list appropriatte icon for skroutz smart cart orders, added link for skroutz_orders if enabled. Exempted smartcart created shop_orders from clone, repeat, add/remove points. Adv_orders_admin provides the setting.
- Required settings added in third-party-settings. dbIdKey value assignment moved to config/app, controller AdvXml adjusted accordingly.
- Schema fixes in shop_order.sql added field provider and new table definitions in schema/skroutz_orders. Acompanying patch functions addProviderToShopOrder and createSmartcartTables
- Patch function smartCartSettings to add smart settings to db.
- [4.3.10] cd-feat: In the product admin we added a property with the allowed roles to change the metatags in the products
- [4.3.10] cd-fix: Changed endDate query for orders search on admin panel to properly get orders that have been made or changed on the endDate given.
Notes
- [4.3.19] need
npm install && npm run production && npm run admin-production - [4.3.17] need
npm run production && npm run admin-production - [4.3.16] need
npm run production && npm run admin-productionandcomposer dump - [4.3.16] To enable search terms in google analytics go to admin settings -> view settings: Site Search Tracking => on and Query parameter => q
- [4.3.16] For templates other than default and main add
ecomnTag.searchTerms(searchTerm)after posting for search. Example from main template
php
searchPost(searchTerm) {
if (searchTerm.length > 2) {
$.post(buildSearchUrl(searchTerm), { queryString: "" + searchTerm + ""}, function (data) {
$("#searchContainer").html(data).slideDown('fast');
$("#searchState").attr('style','display: none');
$("#searchIcon").attr('style','display: block');
});
+ ecomnTag.searchTerms(searchTerm)
}
}- [4.3.16] Add
glamiin tag manager providers setting to enable glami pixel, and clear cache; - [4.3.16] Execute
patch/glamiXmlSettingandpatch/addGlamiXmlFieldInProduct; - [4.3.14] Run
patch/patchSkroutzOrdersNumberOfParcels. When merging client i-natural in skroutz_orders_admin controller remove class variable apiSettings, constructor and functions setupPaymerch, setupShipping and reject and in function accept replace line$this->render['number_of_parcels'] = unserialize($skroutzOrder->number_of_parcels);with$this->render['number_of_parcels'] = explode(',', $skroutzOrder->number_of_parcels); - [4.3.12] In the home page of the no main templates you have to add a product list in the home page for the dspl products
- [4.3.12] Updates to gift schema have been made. Needs
patch/addColumnsAmountFromAndToForGiftsTable - [4.3.12] new class GoogleRecommendations need composer dump and addition of axios in vendors requires npm build
- [4.3.12] Run patch/patchSmartCartTables. If client has active smartcart add cronjob removeOldSkroutzOrders
- [4.3.11] Check in application/controllers each feed controller (i.e: Agora_catalog, Bestprice, Criteo_catalog, Facebook_catalog, Google_catalog, Linkwise, Skroutz) and check if a value to property dbIdkey is assigned. Copy the value to the respective key in config/app in xmlDbIdKey array and remove the assignment from the controller.
- [4.3.10]
For clients who have overriddenEDIT: After further testing it was identified that in this release (AdvSkroutzXml::$dbIdKeyinSkroutz.phpyou have to remove the override and update the config keyconfig/app/[xmlDbIdKey]accordingly.4.3.10) the xml product id <-> ecommercen product id mapping which was initially done in a class property and has since migrated to a config item, the migration appears to be problematic as it does not address the issue of having differently mapped ids for different xml consumers. (i.e. project agora xml may useold_idwhere as skroutz may useidfor its xmlidmapping). This is expected to be addressed in the next version! - [4.3.10] Check client if order_model function getOrdersListAdminResults is overriden and if so add field provider in select clause.
- [4.3.10] Clients who have external asset files that are not tracked by webpack, it is advised to include those files in webpack's mixin in a separate
version()task so that automatic version tracking can be applied to them too. - [4.3.10] Gifts and gift choices in cart have been redesigned from the ground up. Upon merging with a client, and especially if said client utilizes the
maintemplate, checking for styling overrides is highly advised. - [4.3.10] Executing
npm run production && npm run admin-productionis required! - [4.3.10] Execute
patch/smartCartSettings,patch/addProviderToShopOrderandpatch/createSmartcartTables - [4.3.10] Needs
composer dump - [4.3.10] To enable smartcart set the required settings in third party settings. An api key is required and smart cart must be enabled in skroutz merchant smartcart area. Also the webhook url must be set in skroutz skroutz merchant smartcart area. If erp interconnection exists then they must be notified to adjust the interconnection to smartcart's peculiarities
- [4.3.10] If you want to allow users other than Advisable to change the metatags change the property in over
version 4.3.0x
Changelog
- [4.3.9] cd-fix: In typo in registry in the google recaptcha trait
- [4.3.9] cd-feat: In the admin panel added a controller that generates the xml feeds of the products (only for Advisable users)
- [4.3.8] ui-fix: Added missing case to hide gift choice block if no choices are available in
AdvGiftChoiceBlockforcheckout.php - [4.3.8] ui-fix: Fix issue with badges still being displayed even in the case of gift selection being invalid
- [4.3.8] ui-update: Modified
cartGiftRowGroupstyle - [4.3.8] ui-fix: Fixed issues with
cartGiftRowGroupbreaking css when image - or description - or both are not available - [4.3.8] cd-feat: Added filter callback prop for
AdvCartGiftListthat can be used to filter through to-be-rendered gift rules & used said filter ingiftChoiceMixin(and by extensions, components that include the mixin which are related to enabling user to select gifts) to filter out gift rules without any choices from rendering - [4.3.8] cd-fix: Fixed issue with
Adv_gifts_model::getActiveGiftRulesChoicesAndRequirementsFromProductIdsthrowing unknown index exception when a gift rule is having no choices or requirements - [4.3.8] cd-fix: Filter
Adv_gifts_model::filterGiftRuleByProductIdRequirementshas been modified to not filter out gift rules that do not have specific product requirements - [4.3.8] cd-feat: Created main mixin
giftChoiceMixinto remove duplicate logic betweenAdvGiftChoiceModalandAdvGiftChoiceBlockas they are essentially the same component - [4.3.8] cd-feat: Add in the third party settings the enable and disable of the dspl products of the Project Agora
- [4.3.7] cd-fix: Vuex getter
giftChoicesGrouppedByGiftIdhas been renamed togiftChoicesGroupedByGiftIdand is no longer filtering out gifts that theirgift_user_choice_countis<= 0 - [4.3.7] cd-fix: Vue components inheriting
cartGiftOptionsMixinmixin that pass throughenable-pickerprop have been updated to use the new methodshouldUsePicker - [4.3.7] cd-fix: Fixed issue in
Adv_orders::prepareGiftsForCheckoutViewignoring gifts without any selections and marking them as invalid. - [4.3.6] cd-fix: fix in the getCatProductsHits of the product_model to fix the topProductHits query in case of no subcategories
- [4.3.6] ui-update: Modified
orders_admin/editandorders_admin/createpage to accomodate gift selections. In the place of gift choices, checkboxes will appear that indicate whether the gift should be included in the order. - [4.3.6] ui-update: Modified
orders_admin/editandorders_admin/createpage to include a checkbox for whether gift selections should be validated. Turning the validation off (by unchecking said checkbox), will forcefully include user's gift choices without any validation, ignoring whether those choices obey the involved gift rules. - [4.3.6] ui-update: Modified flow of frontoffice checkout page for main template. If gift choices are available, they will be displayed at the bottom part of the checkout and if user has forgotten to make any selections a modal will appear with said gift choices.
- [4.3.6] cd-feat: Created
main/vuecomponentAdvCartGiftRowGroupthat groups gift listings by gift rules. - [4.3.6] cd-update: Modified
main/vuecomponentAdvCartGiftListto:- Add support for gift selection picker.
- Replace child
AdvCartGiftRowloop withAdvCartGiftRowGroup& group displayed gift items by gift rules - Change gift data provider from
store.getters.giftContentstostore.getters.giftChoicesGrouppedByGiftId - Include mixin
cartGiftOptionsMixin& remove propmini-cartas it has migrated in said mixin
- [4.3.6] cd-update:
main/vuecomponentAdvCartGiftRowis now inheritingcartGiftOptionsMixinwhich means some of the available props for this component have been modified/created:- Added togglable prop-setting
enable-pickerwhich if set totrue, will additionally include a checkbox that enables user gift selection. - Prop setting
mini-carthas been migrated tomixins/cartGiftOptionsMixin.
- Added togglable prop-setting
- [4.3.6] cd-feat: Created new
main/vuemixinscartGiftOptionsMixinandgiftSelectionMixin - [4.3.6] cd-feat: Created new
main/vuecomponentsAdvGiftChoiceModalandAdvGiftChoiceBlockas wrappers to the gift choice panel. One in the form of a modal, the other in the form of a single column block. - [4.3.6] cd-feat: Created new
main/vuecomponentAdvReactiveFormInputManipulatorthat:- Observes any target vuex getter returning an array of objects containing names and values (in the format
[{name: 'inputName1', value: 'inputName1Value'},...]) - Reactively spawns in-place hidden input fields based on the contents of the target getter.
- Observes any target vuex getter returning an array of objects containing names and values (in the format
- [4.3.6] cd-feat: Added new vue locale namespace
giftSelectionwhich includes all locales related to gift selection & gift user choice panels. - [4.3.6] cd-feat: New localizations have also been added for the admin panel portion of gift selection feature, and can be found in
adv_advisable_langofecommercennamespace. - [4.3.6] cd-update:
main/preview-order.jsfunctionsetOrderButtonTriggerhas been modified to also validate gift selections upon form submit stage. - [4.3.6] cd-feat: Implemented
Patch::addUserChoiceCountFieldForGiftsTable() - [4.3.6] cd-update: Schema reference
#schema/gifts.sqlhas been updated to include the alterations made to the gifts schema structure. - [4.3.6] cd-update: Mustache admin template
js_gift_item.phphas been modified to also include a selection checkbox (per gift) - [4.3.6] ui-update: Views
admin/gifts/create.phpandadmin/gifts/update.phphave been modified to include the numeric fieldgift_user_choice_count - [4.3.6] cd-debt: Improved code quality for method
Adv_gifts_model::getGiftForProductsInCart() - [4.3.6] cd-update: Signature of method
Adv_gifts_model::getActiveGiftRulesForRequiredProductshas been modified to include flag$fetchCaptionswhich defaults to false and if true, will also fetch captions (gift image/description). - [4.3.6] cd-feat: Created method
Adv_gifts_model::getActiveGiftRulesChoicesAndRequirementsFromProductIdswhich fetches all active gift rules, choices and requirements from a given set of product ids - [4.3.6] cd-feat: Created filter function
Adv_gifts_model::filterGiftRuleByProductIdRequirements()which can be used to filter through a returned set of gifts to match gift rules with choices containing a given set of product ids - [4.3.6] cd-update: In
Adv_order::previewimplemented handling of gift choices & gift setup has been extracted to a separateAdv_order::prepareGiftsForCheckoutView - [4.3.6] cd-update:
Adv_orders_admin::add()andAdv_orders_admin::edit()have been updated to handle gift choices. - [4.3.6] cd-update In
Adv_order::validation()a new validation rule has been added that will apply additional validations to gift selections whenever order submitted contains post flagproduct_gifts_enable_checks=1 - [4.3.6] cd-update:
CartResource::getData()has been updated to include gift rules- Gift rules are obtained by newly implemeted method
CartResource::getGiftRules()and are filtered for front view inCartResource::mapGiftRuleFieldsForJson()
- Gift rules are obtained by newly implemeted method
- [4.3.6] cd-update: Vuex state action
setCartDatahas been modified to initializegiftRulesinitial application data object. - [4.3.5] cd-fix: registry_model.php replace code query with sql query
- [4.3.5] cd-fix: mailer.php fixed setFrom function to properly get sender name for emails
- [4.3.4] cd-update: ApcoPay/Piraeus provider - force streetNo = 1 to bypass requested format in address
- [4.3.4] ui-fix: admin ecommercen logo update
- [4.3.4] cd-feat: settings were moved from files to database
- [4.3.4] cd-feat: In admin panel search the products if skroutz is enable
- [4.3.4] cd-feat: In admin panel order the products by turnover
- [4.3.4] cd-feat: In admin panel products mark the 500 top sellers products
- [4.3.3] cd-fix: chckout::piraues fix typo for store and country iso code
- [4.3.3] cd-fix: config/admin_menu fixed link eshop/reporting/productInOrders
- [4.3.2] cd-fix: orders_admin::repeat usage of
getArrayOfStores - [4.3.2] cd-debt: add correct version to patch controller for addCountries method
- [4.3.2] cd-debt: Clear testing controller
- [4.3.2] ui-fix: checkout viue In the main and default template for the send to counties
- [4.3.1] cd-fix: checkout::alpha passing eurobank key instead of alpha for digest
Notes
- [4.3.9] Needs composer dump
- [4.3.8] In the templates that are not main or default, add in the Search Page, Cart Page, Product Category List and Product Pga the dspl products list (use a slider of products)
- [4.3.7] Executing
npm run productionis required - [4.3.6] Executing
npm run production && npm run admin-productionis required - [4.3.6] Executing
patch/addUserChoiceCountFieldForGiftsTableis necessary as base gifts schema has been altered in this version - [4.3.4] Executing
patch/settingsToDatabaseis necessary to transfer setting from files to database - [4.3.4] Guide: How to add settings to database
- [4.3.4] In admin panel check for overs in the index of the products admin index and in the getProductsAdmin()
version 4.3.0
Upgrade from latest 4.2 version
- execute
patch/addCountriesto populate country and county database and update data on existing tables (customer, store, order). - In views
- replace
setCountryEshopCombo()with$countriesCounties->availableCountriesDropDown($language_abbr) - replace
setCountryEshopCombo(true)with['' => t('selectCountry')] + $countriesCounties->availableCountriesDropDown($language_abbr) - replace
setCountyEshopCombo($country)with$countriesCounties->availableCountiesDropDown($language_abbr)[$country]
- replace
- Check usage of
getArrayOfStores,buildStoreLabelandgetCountryAndCountyDropdownData. Signature changed. - Check for overrides in controllers, models, libraries and helpers to remove if applicable or update as per current code changes
- Check erp - county codes changed
Removed Code
- countries_counties_helper has only
getCountryAndCountyDropdownDatawhich is deprecated.setCountryEshopComboandsetCountyEshopComboalong with anysetCountyEshopComboXXfunctions are removed. - config
application/config/countries.phpis removed. - Settings controller does not pass
$allCountriesto views. use$countriesCounties->availableCountriesDropDown($language_abbr)
Code Changes
CountriesCounties
new front and admin class property countriesCounties of type CountriesCounties also passed in render data as $countriesCounties
CountriesCounties library with methods
countries()return indexed by country code raw db dataavailableCountries()same as countries filtered for available countriescountriesDropDown($lang = '')array with country code as key and description as value (if lang is not set or not existent in data it defaults to english)countiesDropDown($lang = '')array with country code as key and array values of county codes with descriptions (if lang is not set or not existent in data it defaults to english)availableCountriesDropDown($lang = '')same as countriesDropDown for available countriesavailableCountiesDropDown($lang = '')same as countiesDropDown for available countriesphoneCodes()array with country code as key and phone prefix as valueavailablePhoneCodes()same as phoneCodes filtered for available countriesgetCountryRawDataCodesto get specific country's raw master db data
Payway Updates
- ApcoPay update for Piraeus for 3D Secure v2
- Piraeus update for 3D Secure v2
- AlphaBank update for 3D Secure v2
- EuroBank update for 3D Secure v2
Various Changes
Checkout cleanup paypal duplicate code with setPaypalItems method.
Signature change in functions getArrayOfStores and buildStoreLabel of store_helper.
getArrayOfStores from (array $stores, string $pattern = 'address city, country - postal county') to (array $stores, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county') and buildStoreLabel from ($store, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county'): string to ($store, $countriesCounties, string $lang, string $pattern = 'address city, country - postal county'): string where $countriesCounties is of type AdvCountriesCounties
Signature change in countries_counties_helper::getCountryAndCountyDropdownData as with store_helper.
List of File Changes
ADDED
#schema/country.sql#schema/country_mui.sql#schema/county.sql#schema/county_mui.sqlapplication/libraries/CountriesCounties.phpapplication/modules/eshop/models/Country_model.phpapplication/modules/eshop/models/County_model.phpecommercen/eshop/models/Adv_country_model.phpecommercen/eshop/models/Adv_county_model.phpecommercen/libraries/AdvCountriesCounties.phpsrc/Piraeus/Recurring/Type/PireausEnumRecurringIndType.phpsrc/Utils/PhoneHelper.php
DELETED
application/config/countries.php
MODIFIED
application/config/app.phpapplication/config/merchant.phpapplication/controllers/Adminrun.phpapplication/controllers/Patch.phpapplication/controllers/Testing.phpapplication/core/Front_c.phpapplication/views/admin/customers/view.phpapplication/views/admin/footer_js.phpapplication/views/admin/orders/create.phpapplication/views/admin/orders/edit.phpapplication/views/admin/orders/invoice.phpapplication/views/admin/orders/invoice_body.phpapplication/views/admin/orders/list.phpapplication/views/admin/orders/update.phpapplication/views/admin/settings/settings.phpapplication/views/admin/stores/create.phpapplication/views/admin/stores/list.phpapplication/views/admin/stores/update.phpapplication/views/default/components/library/customer/order_item.phpapplication/views/default/components/library/footer/footer_js.phpapplication/views/default/layouts/library/checkout/checkout.phpapplication/views/default/layouts/library/checkout_complete/alphabank/proccess.phpapplication/views/default/layouts/library/checkout_complete/eurobank/eurobank_process.phpapplication/views/default/layouts/library/customer/account.phpapplication/views/default/layouts/library/customer/update_personal_info.phpapplication/views/default/layouts/library/customer/update_shipping_info.phpapplication/views/main/components/customer/order_item.phpapplication/views/main/components/footer/footer_js.phpapplication/views/main/layouts/checkout/checkout.phpapplication/views/main/layouts/checkout_complete/alphabank/proccess.phpapplication/views/main/layouts/checkout_complete/eurobank/eurobank_process.phpapplication/views/main/layouts/customer/account.phpapplication/views/main/layouts/customer/order_details.phpapplication/views/main/layouts/customer/order_history.phpapplication/views/main/layouts/customer/update_personal_info.phpapplication/views/main/layouts/customer/update_shipping_info.phpapplication/views/main/layouts/customer/wishlist.phpassets/admin/scss/admin.scssassets/design/js/preview-order.jsassets/main/js/preview-order.jscomposer.jsoncomposer.lockecommercen/checkout/controllers/Adv_checkout.phpecommercen/core/Adv_admin_controller.phpecommercen/core/Adv_front_controller.phpecommercen/eshop/controllers/Adv_orders_admin.phpecommercen/eshop/controllers/Adv_stores_admin.phpecommercen/helpers/countries_counties_helper.phpecommercen/helpers/eshop_helper.phpecommercen/helpers/shopmodule_helper.phpecommercen/helpers/store_helper.phpecommercen/settings/controllers/Adv_settings.phpsrc/ApcoPay/Providers/Piraeus.phpsrc/ApcoPay/RequestData.phpsrc/Piraeus/Issue/PireausServiceIssue.phpsrc/Piraeus/Issue/Response/PireausStructIssueNewTicketResponse.phpsrc/Piraeus/Issue/Ticket/PireausStructIssueNewTicket.phpsrc/Piraeus/PireausSoapClient.phpsrc/Piraeus/PireausWsdlClass.phpsrc/Piraeus/Ticket/Request/PireausStructTicketRequest.phpsrc/Piraeus/Ticket/Response/PireausStructTicketResponse.php