summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfixco_custom/__manifest__.py1
-rwxr-xr-xfixco_custom/models/__init__.py1
-rw-r--r--fixco_custom/models/account_move.py4
-rw-r--r--fixco_custom/models/purchase_pricelist.py18
-rwxr-xr-xfixco_custom/models/sale.py4
-rwxr-xr-xfixco_custom/security/ir.model.access.csv3
-rw-r--r--fixco_custom/views/account_move.xml7
-rw-r--r--fixco_custom/views/purchase_pricelist.xml57
8 files changed, 93 insertions, 2 deletions
diff --git a/fixco_custom/__manifest__.py b/fixco_custom/__manifest__.py
index 62a199e..4abf544 100755
--- a/fixco_custom/__manifest__.py
+++ b/fixco_custom/__manifest__.py
@@ -22,6 +22,7 @@
'views/account_move.xml',
'views/upload_payments.xml',
'views/ir_sequence.xml',
+ 'views/purchase_pricelist.xml',
],
'demo': [],
'css': [],
diff --git a/fixco_custom/models/__init__.py b/fixco_custom/models/__init__.py
index a6fc1c9..c362a04 100755
--- a/fixco_custom/models/__init__.py
+++ b/fixco_custom/models/__init__.py
@@ -8,3 +8,4 @@ from . import barcoding_product
from . import sale_order_multi_invoices
from . import account_move
from . import upload_payments
+from . import purchase_pricelist
diff --git a/fixco_custom/models/account_move.py b/fixco_custom/models/account_move.py
index bf7ffc9..3f52319 100644
--- a/fixco_custom/models/account_move.py
+++ b/fixco_custom/models/account_move.py
@@ -15,4 +15,6 @@ class AccountMove(models.Model):
_inherit = 'account.move'
invoice_marketplace = fields.Char('Invoice Marketplace')
- address = fields.Char('Address') \ No newline at end of file
+ address = fields.Char('Address')
+ sale_id = fields.Many2one('sale.order', string='Sale Order')
+ picking_id = fields.Many2one('stock.picking', string='Picking') \ No newline at end of file
diff --git a/fixco_custom/models/purchase_pricelist.py b/fixco_custom/models/purchase_pricelist.py
new file mode 100644
index 0000000..2d0a77c
--- /dev/null
+++ b/fixco_custom/models/purchase_pricelist.py
@@ -0,0 +1,18 @@
+from odoo import fields, models, api, _
+from odoo.exceptions import AccessError, UserError, ValidationError
+from datetime import datetime, timedelta
+from pytz import timezone
+
+class PurchasePricelist(models.Model):
+ _name = 'purchase.pricelist'
+ _rec_name = 'product_id'
+ _inherit = ['mail.thread', 'mail.activity.mixin']
+
+ name = fields.Char(string='Name', compute="_compute_name")
+ product_id = fields.Many2one('product.product', string="Product", required=True)
+ vendor_id = fields.Many2one('res.partner', string="Vendor", required=True)
+ price = fields.Float(string='Price', required=True)
+
+ @api.depends('product_id', 'vendor_id')
+ def _compute_name(self):
+ self.name = self.vendor_id.name + ', ' + self.product_id.name \ No newline at end of file
diff --git a/fixco_custom/models/sale.py b/fixco_custom/models/sale.py
index 6d7a7e6..b36f4b5 100755
--- a/fixco_custom/models/sale.py
+++ b/fixco_custom/models/sale.py
@@ -29,11 +29,15 @@ class SaleOrder(models.Model):
if not journal:
raise UserError(_('Please define an accounting sales journal for the company %s (%s).') % (self.company_id.name, self.company_id.id))
+ done_pickings = self.picking_ids.filtered(lambda p: p.state == 'done').sorted(key='create_date')
invoice_vals = {
'ref': self.client_order_ref or '',
'move_type': 'out_invoice',
'narration': self.note,
'invoice_marketplace': self.invoice_mp,
+ 'address': self.address,
+ 'sale_id': self.id,
+ 'picking_id': done_pickings[0] if done_pickings else False,
'currency_id': self.pricelist_id.currency_id.id,
'campaign_id': self.campaign_id.id,
'medium_id': self.medium_id.id,
diff --git a/fixco_custom/security/ir.model.access.csv b/fixco_custom/security/ir.model.access.csv
index 3556565..a5a3434 100755
--- a/fixco_custom/security/ir.model.access.csv
+++ b/fixco_custom/security/ir.model.access.csv
@@ -8,4 +8,5 @@ access_barcoding_product_line,access.barcoding.product.line,model_barcoding_prod
access_sale_order_multi_invoices,access.sale.order.multi_invoices,model_sale_order_multi_invoices,,1,1,1,1
access_account_move,access.account.move,model_account_move,,1,1,1,1
access_upload_payments,access.upload.payments,model_upload_payments,,1,1,1,1
-access_upload_payments_line,access.upload.payments.line,model_upload_payments_line,,1,1,1,1 \ No newline at end of file
+access_upload_payments_line,access.upload.payments.line,model_upload_payments_line,,1,1,1,1
+access_purchase_pricelist,access.purchase.pricelist,model_purchase_pricelist,,1,1,1,1 \ No newline at end of file
diff --git a/fixco_custom/views/account_move.xml b/fixco_custom/views/account_move.xml
index c7d4cf1..7e24873 100644
--- a/fixco_custom/views/account_move.xml
+++ b/fixco_custom/views/account_move.xml
@@ -9,6 +9,13 @@
<field name="payment_reference" position="after">
<field name="invoice_marketplace" readonly="1"/>
</field>
+ <field name="partner_id" position="after">
+ <field name="address" readonly="1"/>
+ </field>
+ <field name="invoice_date" position="after">
+ <field name="sale_id" readonly="1"/>
+ <field name="picking_id" readonly="1"/>
+ </field>
</field>
</record>
</data>
diff --git a/fixco_custom/views/purchase_pricelist.xml b/fixco_custom/views/purchase_pricelist.xml
new file mode 100644
index 0000000..b4e70f6
--- /dev/null
+++ b/fixco_custom/views/purchase_pricelist.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+ <record id="purchase_pricelist_tree" model="ir.ui.view">
+ <field name="name">purchase.pricelist.tree</field>
+ <field name="model">purchase.pricelist</field>
+ <field name="arch" type="xml">
+ <tree>
+ <field name="product_id"/>
+ <field name="vendor_id"/>
+ <field name="price"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="purchase_pricelist_form" model="ir.ui.view">
+ <field name="name">purchase.pricelist.form</field>
+ <field name="model">purchase.pricelist</field>
+ <field name="arch" type="xml">
+ <form>
+ <sheet>
+ <group>
+ <group>
+ <field name="product_id"/>
+ <field name="vendor_id" context="{'res_partner_search_mode': 'supplier'}"/>
+ <field name="price"/>
+ </group>
+ </group>
+ </sheet>
+ <div class="oe_chatter">
+ <field name="message_follower_ids" widget="mail_followers"/>
+ <field name="activity_ids" widget="mail_activity"/>
+ <field name="message_ids" widget="mail_thread"/>
+ </div>
+ </form>
+ </field>
+ </record>
+
+ <record id="purchase_pricelist_action" model="ir.actions.act_window">
+ <field name="name">Purchase Pricelist</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">purchase.pricelist</field>
+ <field name="view_mode">tree,form</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Add Purchase Pricelist!
+ </p>
+ </field>
+ </record>
+
+ <menuitem
+ id="menu_purchase_pricelist"
+ name="Purchase Pricelist"
+ parent="purchase.menu_purchase_products"
+ sequence="3"
+ action="purchase_pricelist_action"
+ />
+</odoo> \ No newline at end of file