Hi guys, originally thought this was an ubercart issue, but have tracked this down to the multiprice module, here goes:
I seem to be missing all error messages and field highlighting when anonymous users checkout. This occurs on the checkout page when a required field is missing. I see the error messages when logged in as admin?
I've checked some of my other ubercart installs on other sites, and can't reproduce, ie: everything is working fine.
The only thing I can think of that I have done differently is install the site using the UberDrupal profile?
Is this a know issue, has anyone else experience it?
Comments
Comment #1
hixster CreditAttribution: hixster commented** bump ** has anyone experienced anything like this? I'm in a tight spot - my whole site is done -except checkout forms won't print error messages when certain fields aren't filled in (like credit card) Everything works totally fine if I disable uc_multiprice, as soon as I switch the module back on I dont get any error messages on the checkout page.
i've been through each module , one by one and have reinstalled a fresh drupal instance - but still no joy.
Struggling to debug this one as there is very little (no) clues, tried firebug, no javascript errors.
Comment #2
hixster CreditAttribution: hixster commentedO.k. digging deeper i seem to have found the issue. I am selling non-physical products, ie software licenses.
- So, if I have a product with 'Product and its derivatives are shippable' switched OFF and multiprice ON - i get no error messages in the cart , if I click through to 'reivew order' without entering any details.
- If i switch ' Product and its derivatives are shippable.' ON and multiprice module is ENABLED - I get the correct error messages
- If I switch ' Product and its derivatives are shippable.' OFF and multiprice module is 'DISABLED" the checkout produces error messages.
So it seems something is awry if I'm trying to sell multiprice non shippable products?
Comment #3
hixster CreditAttribution: hixster commentedchanged title..
Comment #4
hixster CreditAttribution: hixster commentedO.k , so looking at the module - it looks like the function uc_multiprice_checkout_validate is the culprit. I have't done much module development, but it looks like the checkout validation assumes we are checking out physical products and assumes there should be a $delivery_country field. Which isn't always the case.
I wrapped the 'if' statement with a check to see if the $delivery country field is present and that seems to get things working. So the full function would be:
Just wondering if this is the right way to go about this?
Comment #5
hixster CreditAttribution: hixster commentedbumping
Comment #6
Docc CreditAttribution: Docc commentedoef this validation needs some love. First it should return a proper error message.
Next the validation should be better indeed. Thinking if delivery is not there it should take the billing country as validation.... ill see if i can find some time to create a patch
Comment #7
hixster CreditAttribution: hixster commentedYep regarding the validation for sure - I just hacked something together to see if th.e error message would display
Comment #8
janton CreditAttribution: janton commentedthx this worked to get around the checkout bug for me! (so without shipment options)
Comment #9
timl CreditAttribution: timl commented@hixter thanks for investigating this, I was having checkout issues as well (non physical product) and was also seeing no error messages. I just commented out the validation function to get this to work for me.
Appreciate that, would be nice to get this fixed and commited into dev since this is a show stopper probably for a lot of people who sell license subscriptions to multiple countries.
Otherwise, awesome module! Thanks for building this.
Comment #10
fonant CreditAttribution: fonant commentedYup, the fix in #4 works for me, where there are no shippable items in the cart.