[Bug] Terms-of-Service Checkbox Field Showing With ToS Disabled

Started by terp, April 18, 2012, 23:29:21 PM

Previous topic - Next topic

zebrafilm

Hey guys, don't lets get off the subject and stay nice.

I am sure everybody here appreciates all efforts and is aware of it. But this is the 'developers' thread so I think it is legitimate to do suggestions for a better workflow or signal problems.

As a webbuilder I choose VM2 for most of my work but it is not easy to deal with te problems that are not solved for a long time, wile new things keep coming up.
How do I explain it to my clients?

The request for a central place to make a list of the current bugs and problems is a good request in my opinion. If you see how many 'issues' are submitted everyday here, it is easy to loose the overview.

Submitting problems (with all details) is also an effort to help and yes I wish I could also do some helpful coding but that is just a step to far at the moment so I am relying on the VM team.
Because of client complains about 'none solved issues I have to move to other components and that hurts.
That should really not be necessary.

Bastiaan



Milbo

I just did not noticed this issue. I wanted to fix it today and found out that we connected the agree of joomla with the agree to the tos which is just wrong. In most cases it is the same, but not in all cases. Agreeing to register is not the same as agreeing to tos. For example the text for a joomla forum register process is not the same as in the shop. So maybe the best solution is to add a new tos field. Because this problem is also connected that there is no link to the TOS in the address field. Also it seems atm not to store anylonger when I already agreed to the tos. I will take a look on this soon.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

murenti

I have misunderstood the context of what was said, sorry.

All to often I see many in forums like these direct abuse to people who are offering their services and I don't think it is fair.  I really did not want to start a major issue and perhaps my wording could have been better as well.  I was only trying to make others aware that checking how they relay their message is important to the receiver, but perhaps I should have listened to my own advice and checked my own wording first!

I understand your position now, thanks

murenti

Terp, I think you may have been angry, sorry but you still made me laugh with your comment.

;D

terp

Quote from: Milbo on May 03, 2012, 02:41:22 AM
I just did not noticed this issue. I wanted to fix it today and found out that we connected the agree of joomla with the agree to the tos which is just wrong. In most cases it is the same, but not in all cases. Agreeing to register is not the same as agreeing to tos. For example the text for a joomla forum register process is not the same as in the shop. So maybe the best solution is to add a new tos field. Because this problem is also connected that there is no link to the TOS in the address field. Also it seems atm not to store anylonger when I already agreed to the tos. I will take a look on this soon.

Thanks, sir.  I was just unsure of how we get real bugs on the radar...

zebrafilm

off topic:
Bugs should be listed here:
http://dev.virtuemart.net/projects/virtuemart/issues
But can't be added by the public.. Luckily most them are solved before the next release but to prevent duplicate postings it might be good to keep that list a bit more active?
Milbo also wrote an explanation about the tracker: http://forum.virtuemart.net/index.php?topic=78322.0

On topic:
It would be great if the TOS issue is solved. It really 'hinders' the checkout at the moment. Got lots of complaints from different peoples/sites. Changing the structure might effect other things like the "One page checkout" systems.

Bastiaan

terp

Quote from: zebrafilm on May 03, 2012, 07:35:48 AM
off topic:
Bugs should be listed here:
http://dev.virtuemart.net/projects/virtuemart/issues
But can't be added by the public.. Luckily most them are solved before the next release but to prevent duplicate postings it might be good to keep that list a bit more active?
Milbo also wrote an explanation about the tracker: http://forum.virtuemart.net/index.php?topic=78322.0


Exactly what I was looking for; many thanks.

terp

I don't see this on the tracker after two months...what's everyone doing? I am rolling up my sleeves, gutting out all ToS crap, and then just moving on...

Margriet

Just updated to 2.0.8 and the problem still exists, sorry..........

teran

Hello, i have the latest virtuemart version to date and this is still an issue for me, i fixed it thanks to the two overrides quoted below, but now i can't update anymore :(

Quote from: teobgeno on April 24, 2012, 17:52:11 PM
At components/com_virtuemart/views/cart/tmpl/default.php line 127 - 132



   <?php
if(!class_exists('VmHtml'))require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'html.php');
echo VmHtml::checkbox('tosAccepted',$this->cart->tosAccepted,1,0,'class="terms-of-service"');

if(VmConfig::get('oncheckout_show_legal_info',1)){
?>




The if(!class_exists('VmHtml'))require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'html.php');
            echo VmHtml::checkbox('tosAccepted',$this->cart->tosAccepted,1,0,'class="terms-of-service"');

must be below the if(VmConfig::get('oncheckout_show_legal_info',1)){

like this


  <?php


if(VmConfig::get('oncheckout_show_legal_info',1)){
if(!class_exists('VmHtml'))require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'html.php');
echo VmHtml::checkbox('tosAccepted',$this->cart->tosAccepted,1,0,'class="terms-of-service"');
?>




I am talking about the default template of virtuemart 2.0.6 . I think you will be ok with this modification.
Quote from: teobgeno on April 26, 2012, 15:13:52 PM
At components/com_virtuemart/helpers/cart.php

Below is setting the agree to terms var

if((!empty($user->agreed) || !empty($this->BT['agreed'])) && !VmConfig::get('agree_to_tos_onorder',0) ){
$this->tosAccepted = 1;
}




Try to modify it to

$this->tosAccepted = 1;

if((!empty($user->agreed) || !empty($this->BT['agreed'])) && !VmConfig::get('agree_to_tos_onorder',0) ){
$this->tosAccepted = 1;
}



But this is not a correct solution just a quick fix .

cr33

This worked for me:



if((!empty($user->agreed) || !empty($this->BT['agreed'])) && !VmConfig::get('agree_to_tos_onorder',0) ){
$this->tosAccepted = 1;
}
$this->tosAccepted = 1;


But turning on user registration at checkout brought the checkbox back, even though I had disabled it in the Joomla user profile plugin.

I had to edit edit_address_userfields.php and add this just after the delimiter check:
if ($_field['name'] == 'agreed'){
continue;
}


I normally wouldn't just hack on core files like this, but I see no alternative.

jasmithartist

#26
I know this is a late response, but I found how to fix this. I'm using VM 2.0.18/Joomla 2.5.8.

Under Configuration -> Checkout, I made sure both of the following were unchecked -
-Must agree to Terms of Service on EVERY ORDER?
and    
-Show Terms of Service on the cart/checkout?

After unchecking these, while the text disappeared at checkout, the checkbox was still there. To get rid of the checkbox, I went to Configuration -> Shopper Fields and selected the checkbox next to "Agreed" and at the top of the page clicked "not required." That fixed it for me.

jelly

jasmithartist, thank you for your quick and simple solution!

My <<Configuration -> Shopper Fields and selected the checkbox next to "Agreed">> is locked, it says: Userfield of the Joomlacore. But clicking on the word Agreed, allowed me to make some changes and it helped.

THANX!

RCheesley

Fixed it for me too - the shopper field being set to being on - I just turned it off and it seems to have resolved the problem.  Thank you :)