36 |
</condition> |
</condition> |
37 |
</datasource> |
</datasource> |
38 |
|
|
39 |
<datasource database="papo" name="parentPriceTypeDataSource" table="_price_type_data"> |
<!-- you're suppossed to search with yhis datasource--> |
40 |
|
<datasource database="papo" name="searchingPriceTypeDataSource" table="price_type, _price_type_data"> |
41 |
|
<condition> |
42 |
|
<and> |
43 |
|
<eq> |
44 |
|
<cfield name="price_type.id"/> |
45 |
|
<cfield name="_price_type_data._table"/> |
46 |
|
</eq> |
47 |
|
<null> |
48 |
|
<cfield name="_price_type_data._end_t"/> |
49 |
|
</null> |
50 |
|
</and> |
51 |
|
</condition> |
52 |
|
</datasource> |
53 |
|
|
54 |
|
<datasource database="papo" name="parentPriceTypeDataSource" table="_price_type_data"> |
55 |
<condition> |
<condition> |
56 |
<and> |
<and> |
57 |
<eq> |
<eq> |
81 |
</datasource> |
</datasource> |
82 |
|
|
83 |
<trigger type="On-Startup"> |
<trigger type="On-Startup"> |
84 |
|
print 'on-startup' |
85 |
#print "parameter = '%s'" % getParameter('initId') |
#print "parameter = '%s'" % getParameter('initId') |
86 |
</trigger> |
</trigger> |
87 |
|
|
88 |
<trigger name="askForChangesTrigger" type="NAMED"> |
<trigger name="askForChangesTrigger" type="NAMED"> |
89 |
|
print 'askForChangesTrigger' |
90 |
import hack |
import hack |
91 |
hack.confirmPageChanges(self, 'commitTrigger', priceTypeBlock) |
hack.confirmPageChanges(self, 'commitTrigger', priceTypeBlock) |
92 |
</trigger> |
</trigger> |
93 |
|
|
94 |
<trigger name="commitTrigger" type="NAMED"> |
<trigger name="commitTrigger" type="NAMED"> |
95 |
|
print 'commitTrigger' |
96 |
if str(priceTypeBlock.priceTypeIdEntry) == "1": |
if str(priceTypeBlock.priceTypeIdEntry) == "1": |
97 |
genericBox('La lista base no se puede modificar',['OK']) |
genericBox('La lista base no se puede modificar',['OK']) |
98 |
priceTypeBlock.processRollback(1) |
priceTypeBlock.processRollback(1) |
118 |
</trigger> |
</trigger> |
119 |
|
|
120 |
<trigger name="priceTypeDeleteTrigger" type="NAMED"> |
<trigger name="priceTypeDeleteTrigger" type="NAMED"> |
121 |
|
print 'priceTypeDeleteTrigger' |
122 |
if str(priceTypeBlock.priceTypeIdEntry) == "1": |
if str(priceTypeBlock.priceTypeIdEntry) == "1": |
123 |
genericBox('La lista base no se puede borrar',['OK']) |
genericBox('La lista base no se puede borrar',['OK']) |
124 |
else: |
else: |
127 |
</trigger> |
</trigger> |
128 |
|
|
129 |
<trigger name="priceTypeRollbackTrigger" type="NAMED"> |
<trigger name="priceTypeRollbackTrigger" type="NAMED"> |
130 |
|
print 'priceTypeRollbackTrigger' |
131 |
import hack |
import hack |
132 |
hack.rollback(priceTypeBlock) |
hack.rollback(priceTypeBlock) |
133 |
|
hack.rollback(showPriceTypeNameBlock) |
134 |
</trigger> |
</trigger> |
135 |
|
|
136 |
<trigger type="NAMED" name="searchTrigger"> |
<trigger type="NAMED" name="searchTrigger"> |
137 |
|
print 'searchTrigger' |
138 |
priceTypeResultBlock.processRollback() |
priceTypeResultBlock.processRollback() |
139 |
priceTypeResultBlock.initQuery() |
priceTypeResultBlock.initQuery() |
140 |
priceTypeResultBlock.nameListEntry = ("%s" % searchPriceListBlock.searchNameEntry)+"%" |
priceTypeResultBlock.nameListEntry = ("%s" % searchPriceListBlock.searchNameEntry)+"%" |
142 |
</trigger> |
</trigger> |
143 |
|
|
144 |
<trigger type="NAMED" name="printTrigger"> |
<trigger type="NAMED" name="printTrigger"> |
145 |
|
print 'printTrigger' |
146 |
import string |
import string |
147 |
import hack |
import hack |
148 |
|
|
149 |
callTrigger('searchPageFocusoutTrigger') |
callTrigger('searchPageFocusoutTrigger') |
150 |
searchProductByNameBlock.processRollback() |
searchProductByNameBlock.processRollback() |
151 |
searchProductByCodeBlock.processRollback() |
searchProductByCodeBlock.processRollback() |
159 |
table.append(line) |
table.append(line) |
160 |
for idx in range(recordCount-1): |
for idx in range(recordCount-1): |
161 |
line = string.rjust(str(priceModifyBlock.priceModifyCodeListEntry),10) |
line = string.rjust(str(priceModifyBlock.priceModifyCodeListEntry),10) |
162 |
line += " | "+string.ljust(str(priceModifyBlock.priceModifyNameListEntry),30) |
line += " | "+string.ljust(str(priceModifyBlock.priceModifyNameListEntry),30) |
163 |
line += " | "+string.rjust(str(priceModifyBlock.priceModifyPriceListEntry),14) |
line += " | "+string.rjust(str(priceModifyBlock.priceModifyPriceListEntry),14) |
164 |
table.append(line) |
table.append(line) |
165 |
priceModifyBlock.nextRecord() |
priceModifyBlock.nextRecord() |
168 |
</trigger> |
</trigger> |
169 |
|
|
170 |
<trigger type="NAMED" name="searchPageFocusoutTrigger"> |
<trigger type="NAMED" name="searchPageFocusoutTrigger"> |
171 |
|
print 'searchPageFocusoutTrigger' |
172 |
priceTypeBlock.processRollback() |
priceTypeBlock.processRollback() |
173 |
priceModifyBlock.processRollback() |
priceModifyBlock.processRollback() |
174 |
if priceTypeResultBlock.getRecordCount() > 0 and not priceTypeResultBlock.getCurrentRecord().isEmpty(): |
if priceTypeResultBlock.getRecordCount() > 0 and not priceTypeResultBlock.getCurrentRecord().isEmpty(): |
175 |
priceTypeBlock.initQuery() |
priceTypeBlock.initQuery() |
176 |
priceTypeBlock.priceTypeIdEntry = ("%s" % priceTypeResultBlock.priceTypeIdREntry) |
priceTypeBlock.priceTypeIdEntry = str(priceTypeResultBlock.priceTypeIdREntry) |
177 |
priceTypeBlock.processQuery() |
priceTypeBlock.processQuery() |
178 |
</trigger> |
</trigger> |
179 |
|
|
180 |
<page name="Listas de Precios"> |
<page name="Listas de Precios"> |
181 |
<trigger type="Pre-Focusout" src="searchPageFocusoutTrigger"/> |
<trigger type="Pre-Focusout" src="searchPageFocusoutTrigger"/> |
182 |
<block name="searchPriceListBlock" datasource="searchDataSource" transparentBlock="" restrictInsert=""> |
<block name="searchPriceListBlock" datasource="searchDataSource" transparentBlock="" restrictInsert=""> |
183 |
<label text="Lista de precios a buscar" |
<label text="Lista de precios a buscar" |
184 |
x="1" y="1"/> |
x="1" y="1"/> |
185 |
<entry name="searchNameEntry" |
<entry name="searchNameEntry" |
186 |
x="1" y="2" width="35"> |
x="1" y="2" width="35"> |
187 |
</entry> |
</entry> |
188 |
<button x="36" y="2" trigger="searchTrigger" width="9" label="Buscar" |
<button x="36" y="2" trigger="searchTrigger" width="9" label="Buscar" |
189 |
name="searchBtn" height="1"/> |
name="searchBtn" height="1"/> |
190 |
<button x="46" y="2" trigger="printTrigger" width="9" label="Imprimir" |
<button x="46" y="2" trigger="printTrigger" width="9" label="Imprimir" |
191 |
name="printBtn" height="1"/> |
name="printBtn" height="1"/> |
192 |
|
|
193 |
</block> |
</block> |
194 |
<block name="priceTypeResultBlock" datasource="priceTypeResultDataSource"> |
<block name="priceTypeResultBlock" datasource="priceTypeResultDataSource"> |
195 |
<entry name="priceTypeIdREntry" field="price_type.id" hidden="" x="1" y="1" width="20" /> |
<entry name="priceTypeIdREntry" field="price_type.id" hidden="" x="1" y="1" width="20" /> |
196 |
<label text="Resultado" x="1" y="3"/> |
<label text="Resultado" x="1" y="3"/> |
197 |
<entry name="nameListEntry" field="_price_type_data.name" |
<entry name="nameListEntry" field="_price_type_data.name" |
198 |
x="1" y="4" width="40" rows="12"/> |
x="1" y="4" width="40" rows="12"/> |
199 |
<scrollbar page="12" |
<scrollbar page="12" |
200 |
x="42" y="4" width="1" height="12"/> |
x="42" y="4" width="1" height="12"/> |
201 |
</block> |
</block> |
202 |
</page> |
</page> |
203 |
|
|
204 |
|
|
205 |
<page name="Lista de Precios"> |
<page name="Lista de Precios"> |
206 |
<trigger type="Pre-Focusout" src="askForChangesTrigger"/> |
|
207 |
<box label="Lista de Precios" |
<!-- new_schema_begin --> |
208 |
x="0" y="0" height="20" width="64"> |
<block name="searchingPriceTypeBlock" datasource="searchingPriceTypeDataSource"> |
209 |
<block name="priceTypeBlock" datasource="priceTypeDataSource"> |
<entry name="idEntry" field="_table" |
210 |
|
x="1" y="1" hidden="y"/> |
211 |
|
<entry name="nameEntry" field="name" |
212 |
|
x="1" y="1" hidden="y"/> |
213 |
|
</block> |
214 |
|
<trigger type="Pre-Focusin"> |
215 |
|
<!-- this is needed for updating some fields, like price_type there below --> |
216 |
|
child = str(priceTypeBlock.priceTypeIdEntry) |
217 |
|
parent= str(priceTypeBlock.parentPriceTypeEntry) |
218 |
|
if parent!='' and str(priceTypeBlock.priceTypeIdEntry)!='1': |
219 |
|
# look for the name... |
220 |
|
searchingPriceTypeBlock.processRollback () |
221 |
|
searchingPriceTypeBlock.initQuery () |
222 |
|
searchingPriceTypeBlock.idEntry= parent |
223 |
|
searchingPriceTypeBlock.processQuery () |
224 |
|
|
225 |
|
# ... and show it |
226 |
|
showPriceTypeNameBlock.newRecord () |
227 |
|
showPriceTypeNameBlock.priceTypeNameEntry= str(searchingPriceTypeBlock.nameEntry) |
228 |
|
showPriceTypeNameBlock.commit () |
229 |
|
else: |
230 |
|
# clear it |
231 |
|
showPriceTypeNameBlock.newRecord () |
232 |
|
showPriceTypeNameBlock.priceTypeNameEntry= '' |
233 |
|
showPriceTypeNameBlock.commit () |
234 |
|
</trigger> |
235 |
|
<!-- new_schema_end --> |
236 |
|
|
237 |
|
<trigger type="Pre-Focusout" src="askForChangesTrigger"/> |
238 |
|
<box label="Lista de Precios" |
239 |
|
x="0" y="0" height="20" width="64"> |
240 |
|
<block name="priceTypeBlock" datasource="priceTypeDataSource" restrictInsert="y"> |
241 |
<entry name="priceTypeIdEntry" field="price_type.id" hidden="" x="1" y="1" width="20" /> |
<entry name="priceTypeIdEntry" field="price_type.id" hidden="" x="1" y="1" width="20" /> |
242 |
<label text="Nombre de la Lista de Precios" |
<label text="Nombre de la Lista de Precios" |
243 |
x="1" y="1"/> |
x="1" y="1"/> |
244 |
<entry name="nameEntry" field="_price_type_data.name" |
<entry name="nameEntry" field="_price_type_data.name" |
245 |
x="1" y="2" width="40"/> |
x="1" y="2" width="40"/> |
|
|
|
|
<!-- <label text="lista activa" --> |
|
|
<!-- x="1" y="3"/> --> |
|
246 |
<entry name="isActiveEntry" field="_price_type_data.is_active" x="1" y="4" width="1" default="S" hidden="" /> |
<entry name="isActiveEntry" field="_price_type_data.is_active" x="1" y="4" width="1" default="S" hidden="" /> |
247 |
<label text="Esta lista esta basada en la lista ..." |
<label text="Esta lista esta basada en la lista ..." |
248 |
x="1" y="5"/> |
x="1" y="5"/> |
249 |
<entry x="1" y="6" field="_price_type_data.parent" |
<entry x="1" y="6" field="_price_type_data.parent" |
250 |
name="parentPriceTypeEntry" |
name="parentPriceTypeEntry" hidden="y"/> |
251 |
width="35" style="dropdown" foreign_key="parentPriceTypeDataSource._table" |
<button x="37" y="6" width="10" trigger="callPriceTypeTrigger" |
252 |
foreign_key_description="name"> |
label="Buscar" name="priceTypeBtn" height="1"> |
253 |
<trigger type="PRE-FOCUSOUT" name="fo"> |
<!-- new_schema_begin --> |
254 |
if str(priceTypeBlock.priceTypeIdEntry) == "1": |
<trigger type="NAMED" name="callPriceTypeTrigger"> |
255 |
priceTypeBlock.processRollback(1) |
print 'callPriceTypeTrigger' |
256 |
|
if str(priceTypeBlock.priceTypeIdEntry)=='1': |
257 |
|
form.genericBox ('La lista de precios base no puede estar basada en ninguna otra', [ 'Ok' ]) |
258 |
|
showPriceTypeNameBlock.priceTypeNameEntry= '' |
259 |
|
else: |
260 |
|
def setPriceType (recNo): |
261 |
|
if recNo>=0: |
262 |
|
searchingPriceTypeBlock.jumpRecord (recNo) |
263 |
|
priceTypeBlock.parentPriceTypeEntry= str(searchingPriceTypeBlock.idEntry) |
264 |
|
showPriceTypeNameBlock.priceTypeNameEntry= str(searchingPriceTypeBlock.nameEntry) |
265 |
|
|
266 |
|
# look for the name... |
267 |
|
searchingPriceTypeBlock.processRollback () |
268 |
|
searchingPriceTypeBlock.initQuery () |
269 |
|
searchingPriceTypeBlock.nameEntry= str(showPriceTypeNameBlock.priceTypeNameEntry)+'%' |
270 |
|
searchingPriceTypeBlock.processQuery () |
271 |
|
|
272 |
|
# are there too much results? |
273 |
|
resultCount= searchingPriceTypeBlock.getRecordCount () |
274 |
|
if resultCount>1: |
275 |
|
# do the select-man |
276 |
|
runForm ('priceTypeSelect.gfd', { |
277 |
|
'data': searchingPriceTypeBlock, |
278 |
|
'callback': setPriceType |
279 |
|
}) |
280 |
|
elif resultCount==1: |
281 |
|
setPriceType (0) |
282 |
</trigger> |
</trigger> |
283 |
</entry> |
<!-- new_schema_end --> |
284 |
|
</button> |
285 |
<button x="1" y="17" trigger="commitTrigger" width="9" label="Aceptar" |
<button x="1" y="17" trigger="commitTrigger" width="9" label="Aceptar" |
286 |
name="priceTypeCommitBtn" height="1"/> |
name="priceTypeCommitBtn" height="1"/> |
287 |
<button x="11" y="17" trigger="priceTypeDeleteTrigger" width="9" label="Borrar" |
<button x="11" y="17" trigger="priceTypeDeleteTrigger" width="9" label="Borrar" |
289 |
<button x="21" y="17" trigger="priceTypeRollbackTrigger" width="9" label="Cancelar" |
<button x="21" y="17" trigger="priceTypeRollbackTrigger" width="9" label="Cancelar" |
290 |
name="priceTypeRollbackBtn" height="1"/> |
name="priceTypeRollbackBtn" height="1"/> |
291 |
|
|
292 |
</block> |
</block> |
293 |
|
|
294 |
|
<!-- new_schema_begin --> |
295 |
|
<datasource name="showNames" cache="1"/> |
296 |
|
<block name="showPriceTypeNameBlock" datasource="showNames"> |
297 |
|
<entry name="priceTypeNameEntry" field="priceTypeName" |
298 |
|
x="1" y="6" width="35"/> |
299 |
|
</block> |
300 |
|
<!-- new_schema_end --> |
301 |
</box> |
</box> |
302 |
|
|
303 |
</page> |
</page> |
316 |
<datasource name="searchProductByNameDataSource" cache="1"/> |
<datasource name="searchProductByNameDataSource" cache="1"/> |
317 |
<datasource name="searchProductByCodeDataSource" cache="1"/> |
<datasource name="searchProductByCodeDataSource" cache="1"/> |
318 |
<trigger name="searchProductTrigger" type="NAMED"> |
<trigger name="searchProductTrigger" type="NAMED"> |
319 |
|
print 'searchProductTrigger' |
320 |
#armado de la lista de recorrido del arbol |
#armado de la lista de recorrido del arbol |
321 |
search_id = str(pricePriceTypeBlock.priceTypeId) |
search_id = str(pricePriceTypeBlock.priceTypeId) |
322 |
priceListsChain=[] |
priceListsChain=[] |
323 |
while search_id != "" : |
while search_id != "" : |
324 |
treePriceTypeBlock.initQuery() |
treePriceTypeBlock.initQuery() |
325 |
treePriceTypeBlock.treePriceTypeId = search_id |
treePriceTypeBlock.treePriceTypeId = search_id |
326 |
treePriceTypeBlock.processQuery() |
treePriceTypeBlock.processQuery() |
327 |
search_id = str(treePriceTypeBlock.treePriceTypeParentId) |
search_id = str(treePriceTypeBlock.treePriceTypeParentId) |
328 |
priceListsChain.append("%s" % treePriceTypeBlock.treePriceTypeId) |
priceListsChain.append("%s" % treePriceTypeBlock.treePriceTypeId) |
354 |
resultProductBlock.nextRecord() |
resultProductBlock.nextRecord() |
355 |
</trigger> |
</trigger> |
356 |
<trigger name="priceModifyCommitTrigger" type="NAMED"> |
<trigger name="priceModifyCommitTrigger" type="NAMED"> |
357 |
|
print 'priceModifyCommitTrigger' |
358 |
priceModifyBlock.firstRecord() |
priceModifyBlock.firstRecord() |
359 |
for index in range(priceModifyBlock.getRecordCount()): |
for index in range(priceModifyBlock.getRecordCount()): |
360 |
if ("%s" % priceModifyBlock.priceModifyPriceListEntry) != ("%s" % priceModifyBlock.priceModifyPricePreviousListEntry): |
if ("%s" % priceModifyBlock.priceModifyPriceListEntry) != ("%s" % priceModifyBlock.priceModifyPricePreviousListEntry): |
381 |
callTrigger('searchProductTrigger') |
callTrigger('searchProductTrigger') |
382 |
</trigger> |
</trigger> |
383 |
<trigger name="priceModifyRollbackTrigger" type="NAMED"> |
<trigger name="priceModifyRollbackTrigger" type="NAMED"> |
384 |
|
print 'priceModifyRollbackTrigger' |
385 |
priceCommitDataBlock.processRollback() |
priceCommitDataBlock.processRollback() |
386 |
priceModifyBlock.processRollback() |
priceModifyBlock.processRollback() |
387 |
</trigger> |
</trigger> |
407 |
<button x="47" y="2" width="5" trigger="callProductTrigger" |
<button x="47" y="2" width="5" trigger="callProductTrigger" |
408 |
label=" ... " name="priceTypeBtn" height="1"> |
label=" ... " name="priceTypeBtn" height="1"> |
409 |
<trigger type="NAMED" name="callProductTrigger"> |
<trigger type="NAMED" name="callProductTrigger"> |
410 |
|
print 'callProductTrigger' |
411 |
#runForm('priceType-new.gfd', {'initId': str(clientBlock.priceTypeEntry)}) |
#runForm('priceType-new.gfd', {'initId': str(clientBlock.priceTypeEntry)}) |
412 |
runForm('product.gfd') |
runForm('product.gfd') |
413 |
</trigger> |
</trigger> |