Forums / Developer / administrator just like anonymous user for VAT

administrator just like anonymous user for VAT

Author Message

Heather Buch

Friday 27 June 2003 7:59:51 am

I was puzzled over why not only anonymous users, but also the admin user saw prices that included VAT, even when the product specifically excluded VAT, and I had set
PricesIncVATBeforeLogin=enabled.

I think this is because the admin account which is set up in ezpublish 2.2.7 does *not* have a country. The way that ezpublish calculates whether VAT will be shown or not to the logged in user, depends not only on the user being logged in, but also having a country (as you can see in the code snippet below from ezproduct.php). This makes sense as the "new user" form requires a country. But it can be a little confusing if you are logged in as admin, thinking you are a logged in user and wondering why you are seeing VAT included when you have set up the product to exclude it.

Best,
Heather Buch

/*!
Returns the VAT type.

False if no type is assigned.
*/
function vatType( )
{
$user =& eZUser::currentUser();
$ret = new eZVATType();

$ini =& INIFile::globalINI();
if ( $ini->read_var( "eZTradeMain", "PricesIncVATBeforeLogin" ) == "enabled" )
$useVAT = true;
else
$useVAT = false;

if ( $ini->read_var( "eZTradeMain", "CountryVATDiscrimination" ) == "enabled" )
$CountryDisc = true;
else
$CountryDisc = false;


if ( get_class ( $user ) == "ezuser" && $CountryDisc == true )
{
eZLog::writeNotice("the user class for " . $user->name() . " is " .
get_class($user));
$mainAddress = $user->mainAddress();
if ( get_class ( $mainAddress ) == "ezaddress" )
{
$country = $mainAddress->country();
if ( ( get_class ( $country ) == "ezcountry" ) and ( $country->hasVAT() == true ) )
{
eZLog::writeNotice("will use VAT because country " . $country->name() . " has VAT");
$useVAT = true;
}
else
{
eZLog::writeNotice("will use VAT because country " . $country->name() . " does not have VAT");
$useVAT = false;
}
}

}

if ( ( $useVAT == true ) and ( is_numeric( $this->VATTypeID ) ) and ( $this->VATTypeID > 0 ) )
{
$ret = new eZVATType( $this->VATTypeID );
}

return $ret;
}

Heather Buch

Monday 30 June 2003 5:25:59 am

just to elaborate on this a bit - after testing, I have learned that

the "PricesIncVATBeforeLogin" setting in site.ini.php, means that all anonymous users (before login), *and* all logged in users who have not previously bought products will see the prices with VAT added. The only ones who will not see VAT as a result of this setting are customers who have previously bought products and therefore have addresses.

Heather Buch

eZ debug

Timing: Jan 18 2025 10:31:33
Script start
Timing: Jan 18 2025 10:31:33
Module start 'content'
Timing: Jan 18 2025 10:31:34
Module end 'content'
Timing: Jan 18 2025 10:31:34
Script end

Main resources:

Total runtime1.1174 sec
Peak memory usage4,096.0000 KB
Database Queries191

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0079 587.8438180.8125
Module start 'content' 0.00790.9584 768.6563478.8828
Module end 'content' 0.96630.1510 1,247.5391333.4688
Script end 1.1173  1,581.0078 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00450.4058210.0002
Check MTime0.00180.1637210.0001
Mysql Total
Database connection0.00180.161510.0018
Mysqli_queries1.033792.51321910.0054
Looping result0.00200.17651890.0000
Template Total1.081096.720.5405
Template load0.00220.193720.0011
Template processing1.078896.547720.5394
Template load and register function0.00030.023310.0003
states
state_id_array0.00120.104110.0012
state_identifier_array0.00160.143820.0008
Override
Cache load0.00190.1681570.0000
Sytem overhead
Fetch class attribute can translate value0.00180.158230.0006
Fetch class attribute name0.00200.175720.0010
XML
Image XML parsing0.00060.055730.0002
class_abstraction
Instantiating content class attribute0.00000.000720.0000
General
dbfile0.00330.2915210.0002
String conversion0.00000.000530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
8content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
9content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 21
 Number of unique templates used: 5

Time used to render debug report: 0.0002 secs