57
57
from stoqlib.gui.wizards.purchasewizard import (PurchaseItemStep,
62
from stoqlib.gui.wizards.receivingwizard import ReceivingInvoiceStep
61
63
from stoqlib.lib.message import info, yesno, warning
62
64
from stoqlib.lib.parameters import sysparam
63
65
from stoqlib.lib.translation import stoqlib_gettext
271
272
selected = self.slave.klist.get_selected()
272
273
supplier = selected.supplier
273
274
branch = self.branch.get_selected()
274
return ItemSelectionStep(self.wizard, self.conn,
276
return ItemSelectionStep(self.wizard, self, self.conn,
277
supplier, branch, selected.consignments)
316
318
class ItemSelectionStep(BaseWizardStep):
317
319
gladefile = 'ItemSelectionStep'
319
def __init__(self, wizard, conn, supplier, branch):
320
self._next_step = None
321
def __init__(self, wizard, previous, conn, supplier, branch, consignments):
321
322
self.supplier = supplier
322
323
self.branch = branch
323
BaseWizardStep.__init__(self, conn, wizard)
324
self.consignments = consignments
325
BaseWizardStep.__init__(self, conn, wizard, previous)
324
326
self._setup_slaves()
326
328
def _setup_slaves(self):
382
387
# add new sale item
383
388
item = order.add_item(consig_item.sellable, consig_item.sold)
384
389
item.cost = consig_item.avg_cost
390
order.receive_item(item, consig_item.sold)
386
392
order.set_valid()
388
394
# Close previous consignments
389
#for c in self.supplier.consigments:
395
for consig in self.consignments:
396
consig = self.conn.get(consig)
397
#consig.purchase_order = order FIXME
393
400
# Create a new one with the remaining items
397
return PurchasePaymentStep(self.wizard, self, self.conn, order)
404
return CloseConsignmentPaymentStep(self.wizard, self, self.conn, order)
407
class CloseConsignmentPaymentStep(PurchasePaymentStep):
409
def _create_receiving_order(self):
410
# since we will create a new receiving order, we should confirm the
414
receiving_model = ReceivingOrder(
415
responsible=get_current_user(self.conn),
417
supplier=self.order.supplier,
418
branch=self.order.branch,
419
transporter=self.order.transporter,
421
connection=self.conn)
423
# Creates ReceivingOrderItem's
424
get_receiving_items_by_purchase_order(self.order, receiving_model)
426
self.wizard.receiving_model = receiving_model
430
# TODO: Create ReceivingOrder
431
#return FinishCloseConsignmentStep(self.wizard, self, self.conn,
434
self._create_receiving_order()
435
return ReceivingInvoiceStep(self.conn, self.wizard,
436
self.wizard.receiving_model)
438
class FinishCloseConsignmentStep(FinishPurchaseStep):
440
def __init__(self, wizard, previous, conn, model):
441
FinishPurchaseStep.__init__(self, wizard, previous, conn, model)
442
self.receive_now.hide()
444
def has_next_step(self):
448
return ReceivingInvoiceStep(self.conn, self.wizard,
449
self.wizard.receiving_model)
400
452
class CloseInConsignmentWizard(BaseWizard):