Hello all.

I found a little problem in gnue-report and i do not know if severely or no.
I have my database in MySQL and use report   <layout 
xmlns:out="GNUe:Reports:Char">. I try to print a field (<field 
name="unit_price" type="number" length="15" precision="5" nullable="False"/>
) with param format="#,##0.00".

The gnue-report call the GDataFormatter.py in commons and not check in code if 
type(value) == FloatType:... because the variable value is decimal.Decimal.
Change the code with this attach file and all is nice but i dont know if this 
is true or false.
*** GDataFormatter.py	2009-08-11 09:46:29.000000000 +0300
--- GDataFormatter_snigelgr.py	2009-08-07 20:13:01.000000000 +0300
***************
*** 30,39 ****
  #
  
  from types import *
  from gnue.common.external.fixedpoint import FixedPoint, addHalfAndChop
  FixedPoint.round = addHalfAndChop
  
- 
  def applyFormatting (value, mask):
    # This obviously doesn't do anything with the mask yet
    # Just returns a string
--- 30,39 ----
  #
  
  from types import *
+ import decimal
  from gnue.common.external.fixedpoint import FixedPoint, addHalfAndChop
  FixedPoint.round = addHalfAndChop
  
  def applyFormatting (value, mask):
    # This obviously doesn't do anything with the mask yet
    # Just returns a string
***************
*** 49,55 ****
        pass
  
      # TODO: As said above, this is a bad hack w/a lot of assumptions
!     if type(value) == FloatType:
        v = mask.split('.',1)
        try:
          dec = len(v[1])
--- 49,55 ----
        pass
  
      # TODO: As said above, this is a bad hack w/a lot of assumptions
!     if isinstance(value, decimal.Decimal):
        v = mask.split('.',1)
        try:
          dec = len(v[1])
_______________________________________________
Gnue-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnue-dev

Reply via email to