Shipment method "countries" actually block the shipment method

Started by Cococoder, November 28, 2019, 15:13:10 PM

Previous topic - Next topic

Cococoder

Hi guys,

Joomla! 3.9.13
PHP Version   7.3.11
VirtueMart 3.6.10 10211

I didn't catch at what update the issue occures but it came to my attention two months ago when a customer told me she couldn't choose courier delivery.
Indeed the courier delivery option did not appear.
To solve the issue I had to fill both fields for blocking and allowed categories (before only one field was enough, you could either fill the categories field with the category you want the option to be available for or fill the blocking categories with the category you want to exclude). Now filling, only one of the field actually completely block the option to show.
It seems the same with the country: I had only set the country field with the list of the country I want the shipping option to be available for but after the update, setting this result in the option not showing.

I tested with the basic template too.

Milbo

Hello
are you certain, that you use the last version? Because we mainly released it because we found this error. I also just test with my methods and it works.

Just to explain the function.
a positive set thing, for example a category, makes it available if one product is in the cart. A negative set thing, for example blocking category, blocks it if one product is in the cart.
You may also enable debugging of methods to see the reason, why your methods got blocked.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Cococoder

Tested the country rule (positive selection) on my production site.
Virtuemart 3.6.10
Php    7.2.24
Joomla! 3.9.13
Exactly the same issue.
Positive selection alone does not work.
I'll check what comes out of the debugging of the method asap.

Cococoder

The debugging of the method gives me that:
shipmentmethod Courier = FALSE for variable virtuemart_country_id = 0, Reason: Country 67 does not fit
Not sure what to do with this info. I am not sure what the virtuemart_country_id should represent but zero does not seems to be correct.
Any idea of what's wrong?

Regarding the categories rules. I removed the negative rules I set and keep the positive rules in place. The shipment method showed up in a category not listed in the positive rule set. No specific message on the debugging method. Another shipment method was block despite being in a single category specifically listed in the positive rule set:
vmdebug At least one of the products is in a category which blockes the method Courier



Cococoder

Quote from: Milbo on November 28, 2019, 17:38:13 PM
Hello
are you certain, that you use the last version? Because we mainly released it because we found this error. I also just test with my methods and it works.
I am certain I am running the latest version. I cleared the cache and tried with different template. Issue persists.