-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ADD] New delivery wizard & link with put_in_pack - stock_delivery
- Loading branch information
Showing
14 changed files
with
301 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,4 @@ | |
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
||
from . import models | ||
from . import wizards |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# -*- coding: utf-8 -*- | ||
# © 2016-TODAY LasLabs Inc. | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
||
from openerp import models, fields | ||
import openerp.addons.decimal_precision as dp | ||
|
||
|
||
class StockDeliveryRate(models.Model): | ||
_name = 'stock.delivery.rate' | ||
_description = 'Stock Delivery Rate' | ||
|
||
group_id = fields.Many2one( | ||
string='Delivery Group', | ||
comodel_name='stock.delivery.group', | ||
required=True, | ||
) | ||
partner_id = fields.Many2one( | ||
string='Carrier Company', | ||
comodel_name='res.partner', | ||
related='service_id.partner_id', | ||
) | ||
service_id = fields.Many2one( | ||
string='Carrier Service', | ||
comodel_name='delivery.carrier', | ||
required=True, | ||
) | ||
date_generated = fields.Datetime( | ||
required=True, | ||
default=lambda s: fields.Datetime.now(), | ||
) | ||
rate_currency_id = fields.Many2one( | ||
string='Rate Currency', | ||
comodel_name='res.currency', | ||
required=True, | ||
) | ||
rate = fields.Float( | ||
digits=dp.get_precision('Product Price'), | ||
required=True, | ||
) | ||
retail_rate = fields.Float( | ||
digits=dp.get_precision('Product Price'), | ||
) | ||
retail_rate_currency_id = fields.Many2one( | ||
string='Retail Rate Currency', | ||
comodel_name='res.currency', | ||
) | ||
list_rate = fields.Float( | ||
digits=dp.get_precision('Product Price'), | ||
) | ||
list_rate_currency_id = fields.Many2one( | ||
string='List Rate Currency', | ||
comodel_name='res.currency', | ||
) | ||
delivery_days = fields.Integer(required=True) | ||
date_delivery = fields.Datetime( | ||
string='Est Delivery Date', | ||
required=True, | ||
) | ||
is_guaranteed = fields.Boolean( | ||
string='Date is Guaranteed?', | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# -*- coding: utf-8 -*- | ||
# © 2016-TODAY LasLabs Inc. | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
||
from . import stock_delivery_new |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
# -*- coding: utf-8 -*- | ||
# © 2016-TODAY LasLabs Inc. | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
||
from openerp import api, models, fields, _ | ||
from openerp.exceptions import ValidationError | ||
|
||
|
||
import logging | ||
_logger = logging.getLogger(__name__) | ||
|
||
|
||
class StockDeliveryNew(models.TransientModel): | ||
""" Create a new stock delivery """ | ||
_name = "stock.delivery.new" | ||
_description = 'Stock Delivery New' | ||
|
||
picking_ids = fields.Many2many( | ||
string='Picking', | ||
comodel_name='stock.picking', | ||
compute='_compute_picking_ids', | ||
) | ||
pack_operation_ids = fields.Many2many( | ||
string='Pack Operations', | ||
comodel_name='stock.pack.operation', | ||
readonly=True, | ||
default=lambda s: s._default_pack_operation_ids(), | ||
) | ||
quant_pack_id = fields.Many2one( | ||
string='Quant Pack', | ||
comodel_name='stock.quant.package', | ||
required=True, | ||
) | ||
delivery_pack_id = fields.Many2one( | ||
string='Delivery Pack', | ||
comodel_name='stock.delivery.pack', | ||
) | ||
|
||
@api.multi | ||
def _compute_picking_ids(self): | ||
for rec_id in self: | ||
rec_id.picking_ids = [(6, 0, [ | ||
op.picking_id.id for op in rec_id.pack_operation_ids | ||
])] | ||
|
||
@api.model | ||
def _default_pack_operation_ids(self): | ||
return [(6, 0, self.env.context.get('active_ids'))] | ||
|
||
@api.multi | ||
def action_create_delivery(self): | ||
""" Create a new delivery """ | ||
self.ensure_one() | ||
if not self.delivery_pack_id: | ||
raise ValidationError(_( | ||
'Must assign or create a delivery pack in order to continue.', | ||
)) | ||
# @TODO: Support for multiple pickings | ||
self.env['stock.delivery.group'].create({ | ||
'picking_id': self.picking_ids[0].id, | ||
'pack_id': self.delivery_pack_id.id, | ||
}) | ||
return True | ||
|
||
@api.multi | ||
def action_show_wizard(self): | ||
""" Utility method to show the wizard | ||
Returns: | ||
Wizard action for completion of delivery packing | ||
""" | ||
self.ensure_one() | ||
model_obj = self.env['ir.model.data'] | ||
form_id = model_obj.xmlid_to_object( | ||
'stock_delivery.stock_delivery_new_view_form', | ||
) | ||
action_id = model_obj.xmlid_to_object( | ||
'stock_delivery.stock_delivery_new_action', | ||
) | ||
return { | ||
'name': action_id.name, | ||
'help': action_id.help, | ||
'type': action_id.type, | ||
'view_mode': 'form', | ||
'view_id': form_id.id, | ||
'views': [ | ||
(form_id.id, 'form'), | ||
], | ||
'target': 'new', | ||
'context': self.env.context, | ||
'res_model': action_id.res_model, | ||
'res_id': self.id, | ||
} |
Oops, something went wrong.