Index: branches/5.0.x/in-commerce/units/pricing/pricing_event_handler.php =================================================================== diff -u -r12674 -r12722 --- branches/5.0.x/in-commerce/units/pricing/pricing_event_handler.php (.../pricing_event_handler.php) (revision 12674) +++ branches/5.0.x/in-commerce/units/pricing/pricing_event_handler.php (.../pricing_event_handler.php) (revision 12722) @@ -1,6 +1,6 @@ getObject(); - if (!$this->Application->IsAdmin()){ - $user_groups = $this->Application->RecallVar('UserGroups'); + if ($this->Application->isAdminUser) { + return ; + } - $pricing_method = $this->Application->ConfigValue('Comm_PriceBracketCalculation'); - if ($pricing_method == 1){ - $primary_group = $this->Conn->GetOne('SELECT GroupId FROM '.TABLE_PREFIX.'UserGroup WHERE PortalUserId='.$this->Application->GetVar('u_id').' AND PrimaryGroup=1'); - $pricing_group = $primary_group; - if ($pricing_group) { - $pricing_for_group_exists = $this->Conn->GetOne('SELECT COUNT(*) FROM '.TABLE_PREFIX.'ProductsPricing WHERE ProductId='.$this->Application->GetVar('p_id').' AND GroupId='.$primary_group.' AND Price IS NOT NULL'); - } - if ($pricing_group && $pricing_for_group_exists > 0){ - $pricing_group = $primary_group; - } - else { - $pricing_group = $this->Application->ConfigValue('User_LoggedInGroup'); - } + $user_groups = $this->Application->RecallVar('UserGroups'); - + $pricing_method = $this->Application->ConfigValue('Comm_PriceBracketCalculation'); + if ($pricing_method == 1) { + $primary_group = $this->Conn->GetOne('SELECT GroupId FROM '.TABLE_PREFIX.'UserGroup WHERE PortalUserId='.$this->Application->GetVar('u_id').' AND PrimaryGroup=1'); + $pricing_group = $primary_group; + if ($pricing_group) { + $pricing_for_group_exists = $this->Conn->GetOne('SELECT COUNT(*) FROM '.TABLE_PREFIX.'ProductsPricing WHERE ProductId='.$this->Application->GetVar('p_id').' AND GroupId='.$primary_group.' AND Price IS NOT NULL'); } + if ($pricing_group && $pricing_for_group_exists > 0) { + $pricing_group = $primary_group; + } else { - //$cheapest_group = $this->Conn->GetOne('SELECT GroupId FROM '.$object->TableName.' WHERE ProductId='.$this->Application->GetVar('p_id').' AND Price IS NOT NULL AND GroupId IN ('.$user_groups.') AND MinQty = 1 GROUP BY GroupId ORDER BY Price ASC'); - $effective_brackets = $this->Conn->Query('SELECT PriceId, Price, GroupId FROM '.$object->TableName.' - WHERE ProductId='.$this->Application->GetVar('p_id').' AND Price IS NOT NULL AND GroupId IN ('.$user_groups.') ORDER BY GroupId ASC, MinQty ASC', 'PriceId'); - $group_prices = array(); - $min_price = -1; - $cheapest_group = 0; + $pricing_group = $this->Application->ConfigValue('User_LoggedInGroup'); + } - foreach ($effective_brackets as $bracket) { - if (!isset($group_prices[$bracket['GroupId']])) { - $group_prices[$bracket['GroupId']] = $bracket['Price']; - if ($bracket['Price'] < $min_price || $min_price == -1) { - $min_price = $bracket['Price']; - $cheapest_group = $bracket['GroupId']; - } + + } + else { + //$cheapest_group = $this->Conn->GetOne('SELECT GroupId FROM '.$object->TableName.' WHERE ProductId='.$this->Application->GetVar('p_id').' AND Price IS NOT NULL AND GroupId IN ('.$user_groups.') AND MinQty = 1 GROUP BY GroupId ORDER BY Price ASC'); + $effective_brackets = $this->Conn->Query('SELECT PriceId, Price, GroupId FROM '.$object->TableName.' + WHERE ProductId='.$this->Application->GetVar('p_id').' AND Price IS NOT NULL AND GroupId IN ('.$user_groups.') ORDER BY GroupId ASC, MinQty ASC', 'PriceId'); + $group_prices = array(); + $min_price = -1; + $cheapest_group = 0; + + foreach ($effective_brackets as $bracket) { + if (!isset($group_prices[$bracket['GroupId']])) { + $group_prices[$bracket['GroupId']] = $bracket['Price']; + if ($bracket['Price'] < $min_price || $min_price == -1) { + $min_price = $bracket['Price']; + $cheapest_group = $bracket['GroupId']; } } + } - if (!$cheapest_group) $cheapest_group = $this->Application->ConfigValue('User_LoggedInGroup'); - - $pricing_group = $cheapest_group; + if (!$cheapest_group) { + $cheapest_group = $this->Application->ConfigValue('User_LoggedInGroup'); } - $object->addFilter('price_user_group', $object->TableName.'.GroupId='.$pricing_group); + $pricing_group = $cheapest_group; } + + $object->addFilter('price_user_group', $object->TableName.'.GroupId='.$pricing_group); } } \ No newline at end of file