1 |
|
# Varias cosas que hacen falta en los gfd y que la gente de gnue, en |
2 |
|
# su infinita sabiduría, no ha considerado suficientemente útiles para |
3 |
|
# poner en algún lugar útil. |
4 |
|
|
5 |
|
|
6 |
|
# convertir cualquier cosa a float. O trata, al menos (a lo sumo vas |
7 |
|
# a tener un hermoso 0.0, en vez de un Exception) |
8 |
|
|
9 |
def a2f(a): |
def a2f(a): |
10 |
f=0.0; |
f=0.0; |
13 |
f=round(float(s), 2); |
f=round(float(s), 2); |
14 |
return(f); |
return(f); |
15 |
|
|
16 |
|
|
17 |
|
# hace que rollback funcione como uno en general quiere (por |
18 |
|
# ejemplo, que haga rollback) |
19 |
|
|
20 |
|
def rollback(block): |
21 |
|
if block.getCurrentRecord().isInserted(): |
22 |
|
block.processRollback() |
23 |
|
else: |
24 |
|
block.processRollback(1) |
25 |
|
|
26 |
|
|
27 |
|
# ante un cambio de página se fija si han habido cambios en la |
28 |
|
# página anterior y pide commit/rollback y eventualmente cancelar |
29 |
|
# el cambio (esto último requeriría un poco más de sanity de parte |
30 |
|
# de gnue/wx) |
31 |
|
|
32 |
|
def confirmPageChanges(form, masterfn, masterblck, *blocks): |
33 |
|
if form.genericBox('Hay cambios pendientes \n¿ Qué desea hacer ?',['Grabar','Deshacer']): |
34 |
|
if masterblck.getCurrentRecord().isInserted(): |
35 |
|
masterfn() |
36 |
|
else: |
37 |
|
masterblck.commit() |
38 |
|
else: |
39 |
|
for block in filter(lambda t: not t.isSaved(), (masterblck), blocks): |
40 |
|
rollback(block) |