Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CreatePurchaseRequestQuotation(Wizard):
- 'Create Purchase Request Quotation'
- __name__ = 'purchase.request.quotation.create'
- start_state = 'start'
- start = StateTransition()
- ask_suppliers = StateView(
- 'purchase.request.quotation.create.ask_suppliers',
- 'purchase_requeste_quotation_create_ask_suppliers', [
- Button('Cancel', 'end', 'tryton-cancel'),
- Button('Process', 'create_quotations', 'tryton-ok', default=True),
- ])
- create_quotations = StateTransition()
- @classmethod
- def __setup__(cls):
- super(CreatePurchaseRequestQuotation, cls).__setup__()
- cls._error_messages.update({
- 'previous_quotation': ('A quotation was already made with '
- 'this request: "%(request)s".'),
- 'no_request': ('No request selected or wrong state to '
- 'proceed'),
- })
- def transition_start(self):
- pool = Pool()
- Request = pool.get('purchase.request')
- suppliers = []
- requests = []
- request_ids = Transaction().context['active_ids']
- for request_id in request_ids:
- request = Request(request_id)
- if request.state in ('draft', 'quotation'):
- if request.state == 'quotation':
- self.raise_user_warning(str(request),
- 'previous_quotation',
- {'request': request.rec_name, })
- requests.append(request.id)
- if request.party:
- suppliers.append(request.party.id)
- if requests:
- self.ask_suppliers.requests = requests
- self.ask_suppliers.suppliers = suppliers
- return 'ask_suppliers'
- self.raise_user_error('no_request')
- return 'end'
- def default_ask_suppliers(self, fields):
- defaults = {}
- defaults['requests'] = [r.id for r in self.ask_suppliers.requests]
- defaults['suppliers'] = [s.id for s in self.ask_suppliers.suppliers]
- return defaults
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement