appy.gen: use appy.shared.utils.formatNumber function; visual bugfix while displaying boolean fields; appy.shared.dav: error bugfix in error handling; appy.shared.utils: added french-accents-aware functions lower and upper; appy.shared.xml_parser: bugfix while managing 'any' tags.
This commit is contained in:
parent
331db304e7
commit
040cdafb8c
5 changed files with 64 additions and 35 deletions
|
@ -10,7 +10,7 @@ from appy.gen.utils import sequenceTypes, GroupDescr, Keywords, FileWrapper, \
|
|||
import appy.pod
|
||||
from appy.pod.renderer import Renderer
|
||||
from appy.shared.data import countries
|
||||
from appy.shared.utils import Traceback, getOsTempFolder
|
||||
from appy.shared.utils import Traceback, getOsTempFolder, formatNumber
|
||||
|
||||
# Default Appy permissions -----------------------------------------------------
|
||||
r, w, d = ('read', 'write', 'delete')
|
||||
|
@ -989,29 +989,7 @@ class Float(Type):
|
|||
self.pythonType = float
|
||||
|
||||
def getFormattedValue(self, obj, value):
|
||||
if self.isEmptyValue(value): return ''
|
||||
# Determine the field separator
|
||||
sep = self.sep[0]
|
||||
# Produce the rounded string representation
|
||||
if self.precision == None:
|
||||
res = str(value)
|
||||
else:
|
||||
format = '%%.%df' % self.precision
|
||||
res = format % value
|
||||
# Use the correct decimal separator
|
||||
res = res.replace('.', sep)
|
||||
# Remove the decimal part if = 0
|
||||
splitted = res.split(sep)
|
||||
if len(splitted) > 1:
|
||||
try:
|
||||
decPart = int(splitted[1])
|
||||
if decPart == 0:
|
||||
res = splitted[0]
|
||||
except ValueError:
|
||||
# This exception may occur when the float value has an "exp"
|
||||
# part, like in this example: 4.345e-05.
|
||||
pass
|
||||
return res
|
||||
return formatNumber(value, sep=self.sep[0], precision=self.precision)
|
||||
|
||||
def validateValue(self, obj, value):
|
||||
# Replace used separator with the Python separator '.'
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
<tal:comment replace="nothing">Edit macro for an Boolean.</tal:comment>
|
||||
<metal:edit define-macro="edit">
|
||||
<input type="checkbox"
|
||||
tal:attributes="name python: name + '_visible'; id name;
|
||||
checked python:contextObj.checkboxChecked(name, rawValue);
|
||||
onClick python:'toggleCheckbox(\'%s\', \'%s_hidden\');;updateSlaves(this)' % (name, name);
|
||||
class masterCss"/>
|
||||
<input tal:attributes="name name;
|
||||
id string:${name}_hidden;
|
||||
value python: test(contextObj.checkboxChecked(name, rawValue), 'True', 'False')"
|
||||
type="hidden" />
|
||||
tal:attributes="name python: name + '_visible'; id name;
|
||||
checked python:contextObj.checkboxChecked(name, rawValue);
|
||||
onClick python:'toggleCheckbox(\'%s\', \'%s_hidden\');;updateSlaves(this)' % (name, name);
|
||||
class masterCss"/>
|
||||
<input type="hidden"
|
||||
tal:attributes="name name;
|
||||
id string:${name}_hidden;
|
||||
value python: test(contextObj.checkboxChecked(name, rawValue), 'True', 'False')"/>
|
||||
</metal:edit>
|
||||
|
||||
<tal:comment replace="nothing">Cell macro for an Boolean.</tal:comment>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue