mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-22 23:52:04 +02:00
Initial commit: Core packages
This commit is contained in:
commit
12c29a983b
9512 changed files with 8379910 additions and 0 deletions
63
odoo-bringout-oca-ocb-purchase/purchase/README.md
Normal file
63
odoo-bringout-oca-ocb-purchase/purchase/README.md
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
Odoo Supply Chain
|
||||
-----------------
|
||||
|
||||
Automate requisition-to-pay, control invoicing with the Odoo
|
||||
<a href="https://www.odoo.com/app/purchase">Open Source Supply Chain</a>.
|
||||
|
||||
Automate procurement propositions, launch request for quotations, track
|
||||
purchase orders, manage vendors' information, control products reception and
|
||||
check vendors' invoices.
|
||||
|
||||
Automated Procurement Propositions
|
||||
----------------------------------
|
||||
|
||||
Reduce inventory level with procurement rules. Get the right purchase
|
||||
proposition at the right time to reduce your inventory level. Improve your
|
||||
purchase and inventory performance with procurement rules depending on stock
|
||||
levels, logistic rules, sales orders, forecasted manufacturing orders, etc.
|
||||
|
||||
Send requests for quotations or purchase orders to your vendor in one click.
|
||||
Get access to product receptions and invoices from your purchase order.
|
||||
|
||||
Purchase Tenders
|
||||
----------------
|
||||
|
||||
Launch purchase tenders, integrate vendor's answers in the process and
|
||||
compare propositions. Choose the best offer and send purchase orders easily.
|
||||
Use reporting to analyse the quality of your vendors afterwards.
|
||||
|
||||
|
||||
Email integrations
|
||||
------------------
|
||||
|
||||
Integrate all vendor's communications on the purchase orders (or RfQs) to get
|
||||
a strong traceability on the negotiation or after sales service issues. Use the
|
||||
claim management module to track issues related to vendors.
|
||||
|
||||
Standard Price, Average Price, FIFO
|
||||
-----------------------------------
|
||||
|
||||
Use the costing method that reflects your business: standard price, average
|
||||
price, fifo or lifo. Get your accounting entries and the right inventory
|
||||
valuation in real-time; Odoo manages everything for you, transparently.
|
||||
|
||||
Import Vendor Pricelists
|
||||
--------------------------
|
||||
|
||||
Take smart purchase decisions using the best prices. Easily import vendor's
|
||||
pricelists to make smarter purchase decisions based on promotions, prices
|
||||
depending on quantities and special contract conditions. You can even base your
|
||||
sale price depending on your vendor's prices.
|
||||
|
||||
Control Products and Invoices
|
||||
-----------------------------
|
||||
|
||||
No product or order is left behind, the inventory control allows you to manage
|
||||
back orders, refunds, product reception and quality control. Choose the right
|
||||
control method according to your need.
|
||||
|
||||
Control vendor bills with no effort. Choose the right method according to
|
||||
your need: pre-generate draft invoices based on purchase orders, on products
|
||||
receptions, create invoices manually and import lines from purchase orders,
|
||||
etc.
|
||||
|
||||
7
odoo-bringout-oca-ocb-purchase/purchase/__init__.py
Normal file
7
odoo-bringout-oca-ocb-purchase/purchase/__init__.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import controllers
|
||||
from . import models
|
||||
from . import report
|
||||
from . import populate
|
||||
53
odoo-bringout-oca-ocb-purchase/purchase/__manifest__.py
Normal file
53
odoo-bringout-oca-ocb-purchase/purchase/__manifest__.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': 'Purchase',
|
||||
'version': '1.2',
|
||||
'category': 'Inventory/Purchase',
|
||||
'sequence': 35,
|
||||
'summary': 'Purchase orders, tenders and agreements',
|
||||
'website': 'https://www.odoo.com/app/purchase',
|
||||
'depends': ['account'],
|
||||
'data': [
|
||||
'security/purchase_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'data/digest_data.xml',
|
||||
'views/account_move_views.xml',
|
||||
'data/purchase_data.xml',
|
||||
'data/ir_cron_data.xml',
|
||||
'report/purchase_reports.xml',
|
||||
'views/purchase_views.xml',
|
||||
'views/res_config_settings_views.xml',
|
||||
'views/product_views.xml',
|
||||
'views/res_partner_views.xml',
|
||||
'report/purchase_bill_views.xml',
|
||||
'report/purchase_report_views.xml',
|
||||
'data/mail_templates.xml',
|
||||
'data/mail_template_data.xml',
|
||||
'views/portal_templates.xml',
|
||||
'report/purchase_order_templates.xml',
|
||||
'report/purchase_quotation_templates.xml',
|
||||
'views/product_packaging_views.xml',
|
||||
'views/analytic_account_views.xml',
|
||||
],
|
||||
'demo': [
|
||||
'data/purchase_demo.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'application': True,
|
||||
'assets': {
|
||||
'web.assets_backend': [
|
||||
'purchase/static/src/toaster_button/*',
|
||||
'purchase/static/src/views/*.js',
|
||||
'purchase/static/src/js/purchase_toaster_button.js',
|
||||
'purchase/static/src/js/tours/purchase.js',
|
||||
'purchase/static/src/**/*.xml',
|
||||
],
|
||||
'web.assets_frontend': [
|
||||
'purchase/static/src/js/purchase_datetimepicker.js',
|
||||
'purchase/static/src/js/purchase_portal_sidebar.js',
|
||||
],
|
||||
},
|
||||
'license': 'LGPL-3',
|
||||
}
|
||||
Binary file not shown.
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import portal
|
||||
Binary file not shown.
Binary file not shown.
198
odoo-bringout-oca-ocb-purchase/purchase/controllers/portal.py
Normal file
198
odoo-bringout-oca-ocb-purchase/purchase/controllers/portal.py
Normal file
|
|
@ -0,0 +1,198 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import base64
|
||||
from collections import OrderedDict
|
||||
from datetime import datetime
|
||||
|
||||
from odoo import http
|
||||
from odoo.exceptions import AccessError, MissingError
|
||||
from odoo.http import request, Response
|
||||
from odoo.tools import image_process
|
||||
from odoo.tools.translate import _
|
||||
from odoo.addons.portal.controllers import portal
|
||||
from odoo.addons.portal.controllers.portal import pager as portal_pager
|
||||
|
||||
|
||||
class CustomerPortal(portal.CustomerPortal):
|
||||
|
||||
def _prepare_home_portal_values(self, counters):
|
||||
values = super()._prepare_home_portal_values(counters)
|
||||
PurchaseOrder = request.env['purchase.order']
|
||||
if 'rfq_count' in counters:
|
||||
values['rfq_count'] = PurchaseOrder.search_count([
|
||||
('state', 'in', ['sent'])
|
||||
]) if PurchaseOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
if 'purchase_count' in counters:
|
||||
values['purchase_count'] = PurchaseOrder.search_count([
|
||||
('state', 'in', ['purchase', 'done', 'cancel'])
|
||||
]) if PurchaseOrder.check_access_rights('read', raise_exception=False) else 0
|
||||
return values
|
||||
|
||||
def _get_purchase_searchbar_sortings(self):
|
||||
return {
|
||||
'date': {'label': _('Newest'), 'order': 'create_date desc, id desc'},
|
||||
'name': {'label': _('Name'), 'order': 'name asc, id asc'},
|
||||
'amount_total': {'label': _('Total'), 'order': 'amount_total desc, id desc'},
|
||||
}
|
||||
|
||||
def _render_portal(self, template, page, date_begin, date_end, sortby, filterby, domain, searchbar_filters, default_filter, url, history, page_name, key):
|
||||
values = self._prepare_portal_layout_values()
|
||||
PurchaseOrder = request.env['purchase.order']
|
||||
|
||||
if date_begin and date_end:
|
||||
domain += [('create_date', '>', date_begin), ('create_date', '<=', date_end)]
|
||||
|
||||
searchbar_sortings = self._get_purchase_searchbar_sortings()
|
||||
# default sort
|
||||
if not sortby:
|
||||
sortby = 'date'
|
||||
order = searchbar_sortings[sortby]['order']
|
||||
|
||||
if searchbar_filters:
|
||||
# default filter
|
||||
if not filterby:
|
||||
filterby = default_filter
|
||||
domain += searchbar_filters[filterby]['domain']
|
||||
|
||||
# count for pager
|
||||
count = PurchaseOrder.search_count(domain)
|
||||
|
||||
# make pager
|
||||
pager = portal_pager(
|
||||
url=url,
|
||||
url_args={'date_begin': date_begin, 'date_end': date_end, 'sortby': sortby, 'filterby': filterby},
|
||||
total=count,
|
||||
page=page,
|
||||
step=self._items_per_page
|
||||
)
|
||||
|
||||
# search the purchase orders to display, according to the pager data
|
||||
orders = PurchaseOrder.search(
|
||||
domain,
|
||||
order=order,
|
||||
limit=self._items_per_page,
|
||||
offset=pager['offset']
|
||||
)
|
||||
request.session[history] = orders.ids[:100]
|
||||
|
||||
values.update({
|
||||
'date': date_begin,
|
||||
key: orders,
|
||||
'page_name': page_name,
|
||||
'pager': pager,
|
||||
'searchbar_sortings': searchbar_sortings,
|
||||
'sortby': sortby,
|
||||
'searchbar_filters': OrderedDict(sorted(searchbar_filters.items())),
|
||||
'filterby': filterby,
|
||||
'default_url': url,
|
||||
})
|
||||
return request.render(template, values)
|
||||
|
||||
def _purchase_order_get_page_view_values(self, order, access_token, **kwargs):
|
||||
#
|
||||
def resize_to_48(source):
|
||||
if not source:
|
||||
source = request.env['ir.binary']._placeholder()
|
||||
else:
|
||||
source = base64.b64decode(source)
|
||||
return base64.b64encode(image_process(source, size=(48, 48)))
|
||||
|
||||
values = {
|
||||
'order': order,
|
||||
'resize_to_48': resize_to_48,
|
||||
'report_type': 'html',
|
||||
}
|
||||
if order.state in ('sent'):
|
||||
history = 'my_rfqs_history'
|
||||
else:
|
||||
history = 'my_purchases_history'
|
||||
return self._get_page_view_values(order, access_token, values, history, False, **kwargs)
|
||||
|
||||
@http.route(['/my/rfq', '/my/rfq/page/<int:page>'], type='http', auth="user", website=True)
|
||||
def portal_my_requests_for_quotation(self, page=1, date_begin=None, date_end=None, sortby=None, filterby=None, **kw):
|
||||
return self._render_portal(
|
||||
"purchase.portal_my_purchase_rfqs",
|
||||
page, date_begin, date_end, sortby, filterby,
|
||||
[('state', '=', 'sent')],
|
||||
{},
|
||||
None,
|
||||
"/my/rfq",
|
||||
'my_rfqs_history',
|
||||
'rfq',
|
||||
'rfqs'
|
||||
)
|
||||
|
||||
@http.route(['/my/purchase', '/my/purchase/page/<int:page>'], type='http', auth="user", website=True)
|
||||
def portal_my_purchase_orders(self, page=1, date_begin=None, date_end=None, sortby=None, filterby=None, **kw):
|
||||
return self._render_portal(
|
||||
"purchase.portal_my_purchase_orders",
|
||||
page, date_begin, date_end, sortby, filterby,
|
||||
[],
|
||||
{
|
||||
'all': {'label': _('All'), 'domain': [('state', 'in', ['purchase', 'done', 'cancel'])]},
|
||||
'purchase': {'label': _('Purchase Order'), 'domain': [('state', '=', 'purchase')]},
|
||||
'cancel': {'label': _('Cancelled'), 'domain': [('state', '=', 'cancel')]},
|
||||
'done': {'label': _('Locked'), 'domain': [('state', '=', 'done')]},
|
||||
},
|
||||
'all',
|
||||
"/my/purchase",
|
||||
'my_purchases_history',
|
||||
'purchase',
|
||||
'orders'
|
||||
)
|
||||
|
||||
@http.route(['/my/purchase/<int:order_id>'], type='http', auth="public", website=True)
|
||||
def portal_my_purchase_order(self, order_id=None, access_token=None, **kw):
|
||||
try:
|
||||
order_sudo = self._document_check_access('purchase.order', order_id, access_token=access_token)
|
||||
except (AccessError, MissingError):
|
||||
return request.redirect('/my')
|
||||
|
||||
report_type = kw.get('report_type')
|
||||
if report_type in ('html', 'pdf', 'text'):
|
||||
return self._show_report(model=order_sudo, report_type=report_type, report_ref='purchase.action_report_purchase_order', download=kw.get('download'))
|
||||
|
||||
confirm_type = kw.get('confirm')
|
||||
if confirm_type == 'reminder':
|
||||
order_sudo.confirm_reminder_mail(kw.get('confirmed_date'))
|
||||
if confirm_type == 'reception':
|
||||
order_sudo._confirm_reception_mail()
|
||||
|
||||
values = self._purchase_order_get_page_view_values(order_sudo, access_token, **kw)
|
||||
update_date = kw.get('update')
|
||||
if order_sudo.company_id:
|
||||
values['res_company'] = order_sudo.company_id
|
||||
if update_date == 'True':
|
||||
return request.render("purchase.portal_my_purchase_order_update_date", values)
|
||||
return request.render("purchase.portal_my_purchase_order", values)
|
||||
|
||||
@http.route(['/my/purchase/<int:order_id>/update'], type='http', methods=['POST'], auth="public", website=True)
|
||||
def portal_my_purchase_order_update_dates(self, order_id=None, access_token=None, **kw):
|
||||
"""User update scheduled date on purchase order line.
|
||||
"""
|
||||
try:
|
||||
order_sudo = self._document_check_access('purchase.order', order_id, access_token=access_token)
|
||||
except (AccessError, MissingError):
|
||||
return request.redirect('/my')
|
||||
|
||||
updated_dates = []
|
||||
for id_str, date_str in kw.items():
|
||||
try:
|
||||
line_id = int(id_str)
|
||||
except ValueError:
|
||||
return request.redirect(order_sudo.get_portal_url())
|
||||
line = order_sudo.order_line.filtered(lambda l: l.id == line_id)
|
||||
if not line:
|
||||
return request.redirect(order_sudo.get_portal_url())
|
||||
|
||||
try:
|
||||
updated_date = line._convert_to_middle_of_day(datetime.strptime(date_str, '%Y-%m-%d'))
|
||||
except ValueError:
|
||||
continue
|
||||
|
||||
updated_dates.append((line, updated_date))
|
||||
|
||||
if updated_dates:
|
||||
order_sudo._update_date_planned_for_lines(updated_dates)
|
||||
return Response(status=204)
|
||||
28
odoo-bringout-oca-ocb-purchase/purchase/data/digest_data.xml
Normal file
28
odoo-bringout-oca-ocb-purchase/purchase/data/digest_data.xml
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="digest_tip_purchase_0" model="digest.tip">
|
||||
<field name="name">Tip: How to keep late receipts under control?</field>
|
||||
<field name="sequence">100</field>
|
||||
<field name="group_id" ref="purchase.group_purchase_user" />
|
||||
<field name="tip_description" type="html">
|
||||
<div>
|
||||
<p class="tip_title">Tip: How to keep late receipts under control?</p>
|
||||
<p class="tip_content">When creating a purchase order, have a look at the vendor's <i>On Time Delivery</i> rate: the percentage of products shipped on time. If it is too low, activate the <i>automated reminders</i>. A few days before the due shipment, Odoo will send the vendor an email to ask confirmation of shipment dates and keep you informed in case of any delays. To get the vendor's performance statistics, click on the OTD rate.</p>
|
||||
<img src="https://download.odoocdn.com/digests/purchase/static/src/img/OTDPurchase.gif" class="illustration_border" />
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
<record id="digest_tip_purchase_1" model="digest.tip">
|
||||
<field name="name">Tip: Never miss a purchase order</field>
|
||||
<field name="sequence">2000</field>
|
||||
<field name="group_id" ref="purchase.group_purchase_user" />
|
||||
<field name="tip_description" type="html">
|
||||
<div>
|
||||
<p class="tip_title">Tip: Never miss a purchase order</p>
|
||||
<p class="tip_content">When sending a purchase order by email, Odoo asks the vendor to acknowledge the reception of the order. When the vendor acknowledges the order by clicking on a button in the email, the information is added on the purchase order. Use filters to track orders that have not been acknowledged.</p>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<odoo noupdate="1">
|
||||
<record forcecreate="True" id="purchase_send_reminder_mail" model="ir.cron">
|
||||
<field name="name">Purchase reminder</field>
|
||||
<field name="user_id" ref="base.user_root" />
|
||||
<field name="interval_number">1</field>
|
||||
<field name="interval_type">days</field>
|
||||
<field name="numbercall">-1</field>
|
||||
<field name="doall">1</field>
|
||||
<field name="model_id" ref="model_purchase_order"/>
|
||||
<field name="state">code</field>
|
||||
<field name="code">model._send_reminder_mail()</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<record id="email_template_edi_purchase" model="mail.template">
|
||||
<field name="name">Purchase: Request For Quotation</field>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="subject">{{ object.company_id.name }} Order (Ref {{ object.name or 'n/a' }})</field>
|
||||
<field name="partner_to">{{ object.partner_id.id }}</field>
|
||||
<field name="description">Sent manually to vendor to request a quotation</field>
|
||||
<field name="body_html" type="html">
|
||||
<div style="margin: 0px; padding: 0px;">
|
||||
<p style="margin: 0px; padding: 0px; font-size: 13px;">
|
||||
Dear <t t-out="object.partner_id.name or ''">Brandon Freeman</t>
|
||||
<t t-if="object.partner_id.parent_id">
|
||||
(<t t-out="object.partner_id.parent_id.name or ''">Azure Interior</t>)
|
||||
</t>
|
||||
<br/><br/>
|
||||
Here is in attachment a request for quotation <span style="font-weight:bold;" t-out="object.name or ''">P00015</span>
|
||||
<t t-if="object.partner_ref">
|
||||
with reference: <t t-out="object.partner_ref or ''">REF_XXX</t>
|
||||
</t>
|
||||
from <t t-out="object.company_id.name or ''">YourCompany</t>.
|
||||
<br/><br/>
|
||||
If you have any questions, please do not hesitate to contact us.
|
||||
<br/><br/>
|
||||
Best regards,
|
||||
<t t-if="not is_html_empty(object.user_id.signature)">
|
||||
<br/><br/>
|
||||
<t t-out="object.user_id.signature or ''">--<br/>Mitchell Admin</t>
|
||||
</t>
|
||||
</p>
|
||||
</div></field>
|
||||
<field name="report_template" ref="report_purchase_quotation"/>
|
||||
<field name="report_name">RFQ_{{ (object.name or '').replace('/','_') }}</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record id="email_template_edi_purchase_done" model="mail.template">
|
||||
<field name="name">Purchase: Purchase Order</field>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="subject">{{ object.company_id.name }} Order (Ref {{ object.name or 'n/a' }})</field>
|
||||
<field name="partner_to">{{ object.partner_id.id }}</field>
|
||||
<field name="description">Sent to vendor with the purchase order in attachment</field>
|
||||
<field name="body_html" type="html">
|
||||
<div style="margin: 0px; padding: 0px;">
|
||||
<p style="margin: 0px; padding: 0px; font-size: 13px;">
|
||||
Dear <t t-out="object.partner_id.name or ''">Brandon Freeman</t>
|
||||
<t t-if="object.partner_id.parent_id">
|
||||
(<t t-out="object.partner_id.parent_id.name or ''">Azure Interior</t>)
|
||||
</t>
|
||||
<br/><br/>
|
||||
Here is in attachment a purchase order <span style="font-weight:bold;" t-out="object.name or ''">P00015</span>
|
||||
<t t-if="object.partner_ref">
|
||||
with reference: <t t-out="object.partner_ref or ''">REF_XXX</t>
|
||||
</t>
|
||||
amounting in <span style="font-weight:bold;" t-out="format_amount(object.amount_total, object.currency_id) or ''">$ 10.00</span>
|
||||
from <t t-out="object.company_id.name or ''">YourCompany</t>.
|
||||
<br/><br/>
|
||||
<t t-if="object.date_planned">
|
||||
The receipt is expected for <span style="font-weight:bold;" t-out="format_date(object.get_localized_date_planned()) or ''">05/05/2021</span>.
|
||||
<br/><br/>
|
||||
Could you please acknowledge the receipt of this order?
|
||||
</t>
|
||||
<t t-if="not is_html_empty(object.user_id.signature)">
|
||||
<br/><br/>
|
||||
<t t-out="object.user_id.signature or ''">--<br/>Mitchell Admin</t>
|
||||
</t>
|
||||
<br/><br/>
|
||||
</p>
|
||||
</div></field>
|
||||
<field name="report_template" ref="action_report_purchase_order"/>
|
||||
<field name="report_name">PO_{{ (object.name or '').replace('/','_') }}</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
<record id="email_template_edi_purchase_reminder" model="mail.template">
|
||||
<field name="name">Purchase: Vendor Reminder</field>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="email_from">{{ (object.user_id.email_formatted or user.email_formatted) }}</field>
|
||||
<field name="subject">{{ object.company_id.name }} Order (Ref {{ object.name or 'n/a' }})</field>
|
||||
<field name="partner_to">{{ object.partner_id.id }}</field>
|
||||
<field name="description">Sent to vendors before expected arrival, based on the purchase order setting</field>
|
||||
<field name="body_html" type="html">
|
||||
<div style="margin: 0px; padding: 0px;">
|
||||
<p style="margin: 0px; padding: 0px; font-size: 13px;">
|
||||
Dear <t t-out="object.partner_id.name or ''">Brandon Freeman</t>
|
||||
<t t-if="object.partner_id.parent_id">
|
||||
(<t t-out="object.partner_id.parent_id.name or ''">Azure Interior</t>)
|
||||
</t>
|
||||
<br/><br/>
|
||||
Here is a reminder that the delivery of the purchase order <span style="font-weight:bold;" t-out="object.name or ''">P00015</span>
|
||||
<t t-if="object.partner_ref">
|
||||
<span style="font-weight:bold;">(<t t-out="object.partner_ref or ''">REF_XXX</t>)</span>
|
||||
</t>
|
||||
is expected for
|
||||
<t t-if="object.date_planned">
|
||||
<span style="font-weight:bold;" t-out="format_date(object.get_localized_date_planned()) or ''">05/05/2021</span>.
|
||||
</t>
|
||||
<t t-else="">
|
||||
<span style="font-weight:bold;">undefined</span>.
|
||||
</t>
|
||||
Could you please confirm it will be delivered on time?
|
||||
<t t-if="not is_html_empty(object.user_id.signature)">
|
||||
<br/><br/>
|
||||
<t t-out="object.user_id.signature or ''">--<br/>Mitchell Admin</t>
|
||||
</t>
|
||||
<br/><br/>
|
||||
</p>
|
||||
</div></field>
|
||||
<field name="report_template" ref="action_report_purchase_order"/>
|
||||
<field name="report_name">PO_{{ (object.name or '').replace('/','_') }}</field>
|
||||
<field name="lang">{{ object.partner_id.lang }}</field>
|
||||
<field name="auto_delete" eval="True"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo><data noupdate="1">
|
||||
|
||||
<template id="track_po_line_template">
|
||||
<div>
|
||||
<strong>The ordered quantity has been updated.</strong>
|
||||
<ul>
|
||||
<li><t t-esc="line.product_id.display_name"/>:</li>
|
||||
Ordered Quantity: <t t-esc="line.product_qty" /> -> <t t-esc="float(product_qty)"/><br/>
|
||||
<t t-if='line.order_id.product_id.type in ("consu", "product")'>
|
||||
Received Quantity: <t t-esc="line.qty_received" /><br/>
|
||||
</t>
|
||||
Billed Quantity: <t t-esc="line.qty_invoiced"/>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template id="track_po_line_qty_received_template">
|
||||
<div>
|
||||
<strong>The received quantity has been updated.</strong>
|
||||
<ul>
|
||||
<li><t t-esc="line.product_id.display_name"/>:</li>
|
||||
Received Quantity: <t t-esc="line.qty_received" /> -> <t t-esc="float(qty_received)"/><br/>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</data></odoo>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
<!-- Purchase-related subtypes for messaging / Chatter -->
|
||||
<record id="mt_rfq_confirmed" model="mail.message.subtype">
|
||||
<field name="name">RFQ Confirmed</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="res_model">purchase.order</field>
|
||||
</record>
|
||||
<record id="mt_rfq_approved" model="mail.message.subtype">
|
||||
<field name="name">RFQ Approved</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="res_model">purchase.order</field>
|
||||
</record>
|
||||
<record id="mt_rfq_done" model="mail.message.subtype">
|
||||
<field name="name">RFQ Done</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="res_model">purchase.order</field>
|
||||
</record>
|
||||
<record id="mt_rfq_sent" model="mail.message.subtype">
|
||||
<field name="name">RFQ Sent</field>
|
||||
<field name="default" eval="False"/>
|
||||
<field name="res_model">purchase.order</field>
|
||||
</record>
|
||||
|
||||
<!-- Sequences for purchase.order -->
|
||||
<record id="seq_purchase_order" model="ir.sequence">
|
||||
<field name="name">Purchase Order</field>
|
||||
<field name="code">purchase.order</field>
|
||||
<field name="prefix">P</field>
|
||||
<field name="padding">5</field>
|
||||
<field name="company_id" eval="False"/>
|
||||
</record>
|
||||
|
||||
<!-- Share Button in action menu -->
|
||||
<record id="model_purchase_order_action_share" model="ir.actions.server">
|
||||
<field name="name">Share</field>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="binding_model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="binding_view_types">form</field>
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = records.action_share()</field>
|
||||
</record>
|
||||
|
||||
<!-- Default value for company_dependant field -->
|
||||
<record forcecreate="True" id="receipt_reminder_email" model="ir.property">
|
||||
<field name="name">receipt_reminder_email</field>
|
||||
<field name="type" eval="'boolean'"/>
|
||||
<field name="fields_id" search="[('model','=','res.partner'),('name','=','receipt_reminder_email')]"/>
|
||||
<field eval="False" name="value"/>
|
||||
</record>
|
||||
<record forcecreate="True" id="reminder_date_before_receipt" model="ir.property">
|
||||
<field name="name">reminder_date_before_receipt</field>
|
||||
<field name="type" eval="'integer'"/>
|
||||
<field name="fields_id" search="[('model','=','res.partner'),('name','=','reminder_date_before_receipt')]"/>
|
||||
<field eval="1" name="value"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
232
odoo-bringout-oca-ocb-purchase/purchase/data/purchase_demo.xml
Normal file
232
odoo-bringout-oca-ocb-purchase/purchase/data/purchase_demo.xml
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data noupdate="1">
|
||||
|
||||
<record id="base.user_demo" model="res.users">
|
||||
<field eval="[(4, ref('group_purchase_user'))]" name="groups_id"/>
|
||||
</record>
|
||||
|
||||
<record id="base.res_partner_1" model="res.partner">
|
||||
<field name="receipt_reminder_email">True</field>
|
||||
</record>
|
||||
|
||||
<record id="base.res_partner_2" model="res.partner">
|
||||
<field name="receipt_reminder_email">True</field>
|
||||
</record>
|
||||
|
||||
<record id="base.res_partner_12" model="res.partner">
|
||||
<field name="receipt_reminder_email">True</field>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_1" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_01'),
|
||||
'name': obj().env.ref('product.product_delivery_01').partner_ref,
|
||||
'price_unit': 79.80,
|
||||
'product_qty': 15.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=3)}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_25'),
|
||||
'name': obj().env.ref('product.product_product_25').partner_ref,
|
||||
'price_unit': 286.70,
|
||||
'product_qty': 5.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=3)}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_27'),
|
||||
'name': obj().env.ref('product.product_product_27').partner_ref,
|
||||
'price_unit': 99.00,
|
||||
'product_qty': 4.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=3)})
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_2" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_3"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_02'),
|
||||
'name': obj().env.ref('product.product_delivery_02').partner_ref,
|
||||
'price_unit': 132.50,
|
||||
'product_qty': 20.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=1)}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_01'),
|
||||
'name': obj().env.ref('product.product_delivery_01').partner_ref,
|
||||
'price_unit': 89.0,
|
||||
'product_qty': 5.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=1)}),
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_3" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_12"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_2'),
|
||||
'name': obj().env.ref('product.product_product_2').partner_ref,
|
||||
'price_unit': 25.50,
|
||||
'product_qty': 10.0,
|
||||
'product_uom': ref('uom.product_uom_hour'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=1)}),
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_4" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_4"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_02'),
|
||||
'name': obj().env.ref('product.product_delivery_02').partner_ref,
|
||||
'price_unit': 85.50,
|
||||
'product_qty': 6.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=5)}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_20'),
|
||||
'name': obj().env.ref('product.product_product_20').partner_ref,
|
||||
'price_unit': 1690.0,
|
||||
'product_qty': 5.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=5)}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_6'),
|
||||
'name': obj().env.ref('product.product_product_6').partner_ref,
|
||||
'price_unit': 800.0,
|
||||
'product_qty': 7.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today() + relativedelta(days=5)})
|
||||
]"/>
|
||||
</record>
|
||||
<function model="purchase.order" name="write">
|
||||
<value eval="[ref('purchase_order_4')]"/>
|
||||
<value eval="{'state': 'sent'}"/>
|
||||
</function>
|
||||
|
||||
<record id="purchase_order_5" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_2"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_22'),
|
||||
'name': obj().env.ref('product.product_product_22').partner_ref,
|
||||
'price_unit': 2010.0,
|
||||
'product_qty': 3.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_24'),
|
||||
'name': obj().env.ref('product.product_product_24').partner_ref,
|
||||
'price_unit': 876.0,
|
||||
'product_qty': 3.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_6" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_1"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_02'),
|
||||
'name': obj().env.ref('product.product_delivery_02').partner_ref,
|
||||
'price_unit': 58.0,
|
||||
'product_qty': 9.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_01'),
|
||||
'name': obj().env.ref('product.product_delivery_01').partner_ref,
|
||||
'price_unit': 65.0,
|
||||
'product_qty': 3.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.consu_delivery_01'),
|
||||
'name': obj().env.ref('product.consu_delivery_01').partner_ref,
|
||||
'price_unit': 154.5,
|
||||
'product_qty': 4.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_order_7" model="purchase.order">
|
||||
<field name="partner_id" ref="base.res_partner_4"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
<field name="state">draft</field>
|
||||
<field name="order_line" model="purchase.order.line" eval="[(5, 0, 0),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_product_12'),
|
||||
'name': obj().env.ref('product.product_product_12').partner_ref,
|
||||
'price_unit': 130.5,
|
||||
'product_qty': 5.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
(0, 0, {
|
||||
'product_id': ref('product.product_delivery_02'),
|
||||
'name': obj().env.ref('product.product_delivery_02').partner_ref,
|
||||
'price_unit': 38.0,
|
||||
'product_qty': 15.0,
|
||||
'product_uom': ref('uom.product_uom_unit'),
|
||||
'date_planned': DateTime.today()}),
|
||||
]"/>
|
||||
</record>
|
||||
|
||||
<record id="purchase_activity_1" model="mail.activity">
|
||||
<field name="res_id" ref="purchase.purchase_order_2"/>
|
||||
<field name="res_model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_email"/>
|
||||
<field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="summary">Send specifications</field>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
<record id="purchase_activity_2" model="mail.activity">
|
||||
<field name="res_id" ref="purchase.purchase_order_5"/>
|
||||
<field name="res_model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
|
||||
<field name="date_deadline" eval="DateTime.today().strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="summary">Get approval</field>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
<record id="purchase_activity_3" model="mail.activity">
|
||||
<field name="res_id" ref="purchase.purchase_order_6"/>
|
||||
<field name="res_model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
|
||||
<field name="date_deadline" eval="(DateTime.today() - relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="summary">Check optional products</field>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
<record id="purchase_activity_4" model="mail.activity">
|
||||
<field name="res_id" ref="purchase.purchase_order_7"/>
|
||||
<field name="res_model_id" ref="purchase.model_purchase_order"/>
|
||||
<field name="activity_type_id" ref="mail.mail_activity_data_todo"/>
|
||||
<field name="date_deadline" eval="(DateTime.today() + relativedelta(days=5)).strftime('%Y-%m-%d %H:%M')"/>
|
||||
<field name="summary">Check competitors</field>
|
||||
<field name="create_uid" ref="base.user_admin"/>
|
||||
<field name="user_id" ref="base.user_admin"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
||||
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/af.po
Normal file
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/af.po
Normal file
File diff suppressed because it is too large
Load diff
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/am.po
Normal file
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/am.po
Normal file
File diff suppressed because it is too large
Load diff
3302
odoo-bringout-oca-ocb-purchase/purchase/i18n/ar.po
Normal file
3302
odoo-bringout-oca-ocb-purchase/purchase/i18n/ar.po
Normal file
File diff suppressed because it is too large
Load diff
3264
odoo-bringout-oca-ocb-purchase/purchase/i18n/az.po
Normal file
3264
odoo-bringout-oca-ocb-purchase/purchase/i18n/az.po
Normal file
File diff suppressed because it is too large
Load diff
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/be.po
Normal file
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/be.po
Normal file
File diff suppressed because it is too large
Load diff
3305
odoo-bringout-oca-ocb-purchase/purchase/i18n/bg.po
Normal file
3305
odoo-bringout-oca-ocb-purchase/purchase/i18n/bg.po
Normal file
File diff suppressed because it is too large
Load diff
3136
odoo-bringout-oca-ocb-purchase/purchase/i18n/bs.po
Normal file
3136
odoo-bringout-oca-ocb-purchase/purchase/i18n/bs.po
Normal file
File diff suppressed because it is too large
Load diff
3408
odoo-bringout-oca-ocb-purchase/purchase/i18n/ca.po
Normal file
3408
odoo-bringout-oca-ocb-purchase/purchase/i18n/ca.po
Normal file
File diff suppressed because it is too large
Load diff
3375
odoo-bringout-oca-ocb-purchase/purchase/i18n/cs.po
Normal file
3375
odoo-bringout-oca-ocb-purchase/purchase/i18n/cs.po
Normal file
File diff suppressed because it is too large
Load diff
3310
odoo-bringout-oca-ocb-purchase/purchase/i18n/da.po
Normal file
3310
odoo-bringout-oca-ocb-purchase/purchase/i18n/da.po
Normal file
File diff suppressed because it is too large
Load diff
3394
odoo-bringout-oca-ocb-purchase/purchase/i18n/de.po
Normal file
3394
odoo-bringout-oca-ocb-purchase/purchase/i18n/de.po
Normal file
File diff suppressed because it is too large
Load diff
2061
odoo-bringout-oca-ocb-purchase/purchase/i18n/el.po
Normal file
2061
odoo-bringout-oca-ocb-purchase/purchase/i18n/el.po
Normal file
File diff suppressed because it is too large
Load diff
1756
odoo-bringout-oca-ocb-purchase/purchase/i18n/en_GB.po
Normal file
1756
odoo-bringout-oca-ocb-purchase/purchase/i18n/en_GB.po
Normal file
File diff suppressed because it is too large
Load diff
3397
odoo-bringout-oca-ocb-purchase/purchase/i18n/es.po
Normal file
3397
odoo-bringout-oca-ocb-purchase/purchase/i18n/es.po
Normal file
File diff suppressed because it is too large
Load diff
1671
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_BO.po
Normal file
1671
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_BO.po
Normal file
File diff suppressed because it is too large
Load diff
553
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CL.po
Normal file
553
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CL.po
Normal file
|
|
@ -0,0 +1,553 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * purchase
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 15.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-05-23 08:22+0000\n"
|
||||
"PO-Revision-Date: 2016-07-22 02:00+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Chile) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_CL/)\n"
|
||||
"Language: es_CL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__nbr_lines
|
||||
msgid "# of Lines"
|
||||
msgstr "# de líneas"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_needaction
|
||||
msgid "Action Needed"
|
||||
msgstr "Acción necesaria"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model,name:purchase.model_account_analytic_account
|
||||
msgid "Analytic Account"
|
||||
msgstr "Cuenta analítica"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_calendar
|
||||
msgid "Calendar View"
|
||||
msgstr "Vista calendario"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/controllers/portal.py:0
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__purchase_order__state__cancel
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__purchase_report__state__cancel
|
||||
#, python-format
|
||||
msgid "Cancelled"
|
||||
msgstr "Cancelado"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__commercial_partner_id
|
||||
msgid "Commercial Entity"
|
||||
msgstr "Entidad comercial"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model,name:purchase.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr "Compañías"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__company_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__company_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__company_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__company_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Company"
|
||||
msgstr "Compañía"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/models/purchase.py:0
|
||||
#, python-format
|
||||
msgid "Compose Email"
|
||||
msgstr "Componer correo electrónico"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_config
|
||||
msgid "Configuration"
|
||||
msgstr "Configuración"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__create_uid
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__create_date
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__currency_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Moneda"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__name
|
||||
msgid "Description"
|
||||
msgstr "Descripción"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__display_name
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__display_name
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__display_name
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nombre mostrado"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__purchase_report__state__done
|
||||
msgid "Done"
|
||||
msgstr "Realizado"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model,name:purchase.model_mail_compose_message
|
||||
msgid "Email composition wizard"
|
||||
msgstr "Asistente de redacción de correo electrónico."
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__fiscal_position_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__fiscal_position_id
|
||||
msgid "Fiscal Position"
|
||||
msgstr "Posición fiscal"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_follower_ids
|
||||
msgid "Followers"
|
||||
msgstr "Seguidores"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_partner_ids
|
||||
msgid "Followers (Partners)"
|
||||
msgstr "Seguidores (Empresas)"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Group By"
|
||||
msgstr "Agrupar por"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__id
|
||||
msgid "ID"
|
||||
msgstr "ID (identificación)"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,help:purchase.field_purchase_order__message_needaction
|
||||
msgid "If checked, new messages require your attention."
|
||||
msgstr "Si está marcado, hay nuevos mensajes que requieren su atención."
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__incoterm_id
|
||||
msgid "Incoterm"
|
||||
msgstr "Incoterm"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_is_follower
|
||||
msgid "Is Follower"
|
||||
msgstr "Es un seguidor"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union____last_update
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order____last_update
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line____last_update
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Última modificación en"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__write_uid
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización de"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__write_date
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización en"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_form2
|
||||
msgid "Manual Invoices"
|
||||
msgstr "Facturas manuales"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_ids
|
||||
msgid "Messages"
|
||||
msgstr "Mensajes"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
msgid "Notes"
|
||||
msgstr "Notas"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__message_needaction_counter
|
||||
msgid "Number of Actions"
|
||||
msgstr "Número de acciones"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__date_order
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__date_order
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Order Date"
|
||||
msgstr "Fecha orden"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__order_line
|
||||
msgid "Order Lines"
|
||||
msgstr "Líneas del pedido"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__name
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__order_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
msgid "Order Reference"
|
||||
msgstr "Referencia de pedido"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_procurement_management
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.res_config_settings_view_form_purchase
|
||||
msgid "Orders"
|
||||
msgstr "Pedidos"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__partner_id
|
||||
msgid "Partner"
|
||||
msgstr "Empresa"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model,name:purchase.model_product_template
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__product_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__product_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__product_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Product"
|
||||
msgstr "Producto"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_product_category_config_purchase
|
||||
msgid "Product Categories"
|
||||
msgstr "Categorías de productos"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__category_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Product Category"
|
||||
msgstr "Categoría de producto"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__product_tmpl_id
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla producto"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.product_normal_action_puchased
|
||||
#: model:ir.ui.menu,name:purchase.menu_procurement_partner_contact_form
|
||||
#: model:ir.ui.menu,name:purchase.menu_product_in_config_purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_products
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.res_config_settings_view_form_purchase
|
||||
msgid "Products"
|
||||
msgstr "Productos"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_product_packaging__purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_root
|
||||
#: model:ir.ui.menu,name:purchase.purchase_report
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.res_config_settings_view_form_purchase
|
||||
msgid "Purchase"
|
||||
msgstr "Compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.action_purchase_order_report_all
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_report_view_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_graph
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_pivot
|
||||
msgid "Purchase Analysis"
|
||||
msgstr "Análisis compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_res_company__po_lead
|
||||
#: model:ir.model.fields,field_description:purchase.field_res_config_settings__po_lead
|
||||
msgid "Purchase Lead Time"
|
||||
msgstr "Plazo de tiempo de compra"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/controllers/portal.py:0
|
||||
#: code:addons/purchase/models/purchase.py:0
|
||||
#: model:ir.actions.report,name:purchase.action_report_purchase_order
|
||||
#: model:ir.model,name:purchase.model_purchase_order
|
||||
#: model:ir.model.fields,field_description:purchase.field_account_bank_statement_line__purchase_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_account_move__purchase_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_account_move_line__purchase_order_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_account_payment__purchase_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__purchase_order_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_res_partner__purchase_warn
|
||||
#: model:ir.model.fields,field_description:purchase.field_res_users__purchase_warn
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__account_analytic_applicability__business_domain__purchase_order
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__purchase_order__state__purchase
|
||||
#: model:ir.model.fields.selection,name:purchase.selection__purchase_report__state__purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_graph
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_kpis_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_pivot
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_activity
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_tree
|
||||
#, python-format
|
||||
msgid "Purchase Order"
|
||||
msgstr "Órden de Compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.action_purchase_history
|
||||
#: model:ir.model,name:purchase.model_purchase_order_line
|
||||
#: model:ir.model.fields,field_description:purchase.field_account_move_line__purchase_line_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_form2
|
||||
msgid "Purchase Order Line"
|
||||
msgstr "Línea pedido de compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_tree
|
||||
msgid "Purchase Order Lines"
|
||||
msgstr "Líneas orden de compra"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/models/analytic_account.py:0
|
||||
#: model:ir.actions.act_window,name:purchase.purchase_form_action
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_form_action
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.account_analytic_account_view_form_purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_home_menu_purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_home_purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_purchase_orders
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_bill_union_filter
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
#, python-format
|
||||
msgid "Purchase Orders"
|
||||
msgstr "Pedidos de compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_buttons
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_move_form_inherit_purchase
|
||||
msgid "Purchases"
|
||||
msgstr "Compras"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__product_qty
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
msgid "Quantity"
|
||||
msgstr "Cantidad"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__qty_received
|
||||
msgid "Received Qty"
|
||||
msgstr "Ctdad recibida"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__name
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_kpis_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_bill_union_filter
|
||||
msgid "Reference"
|
||||
msgstr "Referencia"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/models/purchase.py:0
|
||||
#: model:ir.actions.report,name:purchase.report_purchase_quotation
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.report_purchasequotation_document
|
||||
#, python-format
|
||||
msgid "Request for Quotation"
|
||||
msgstr "Solicitud de presupuesto"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.action_rfq_form
|
||||
#: model:ir.actions.act_window,name:purchase.purchase_rfq
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_rfq
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_home_menu_purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_home_purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Requests for Quotation"
|
||||
msgstr "Solicitudes de presupuesto"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
msgid "Scheduled Date"
|
||||
msgstr "Fecha prevista"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
|
||||
msgid "Search Purchase Order"
|
||||
msgstr "Buscar pedido de compra"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
msgid "Set to Draft"
|
||||
msgstr "Cambiar a borrador"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.action_purchase_configuration
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_general_settings
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__origin
|
||||
msgid "Source Document"
|
||||
msgstr "Documento origen"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__state
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__state
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__state
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__price_subtotal
|
||||
msgid "Subtotal"
|
||||
msgstr "Subtotal"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model,name:purchase.model_product_supplierinfo
|
||||
msgid "Supplier Pricelist"
|
||||
msgstr "Tarifa de proveedor"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__price_tax
|
||||
msgid "Tax"
|
||||
msgstr "Impuestos"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__amount_tax
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__taxes_id
|
||||
msgid "Taxes"
|
||||
msgstr "Impuestos"
|
||||
|
||||
#. module: purchase
|
||||
#. odoo-python
|
||||
#: code:addons/purchase/controllers/portal.py:0
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__amount_total
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__price_total
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__price_total
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_purchase_orders
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.portal_my_purchase_rfqs
|
||||
#, python-format
|
||||
msgid "Total"
|
||||
msgstr "Total"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_kpis_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_tree
|
||||
msgid "Total Untaxed amount"
|
||||
msgstr "Total neto"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_kpis_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_tree
|
||||
msgid "Total amount"
|
||||
msgstr "Importe total"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order_line__price_unit
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_portal_content
|
||||
msgid "Unit Price"
|
||||
msgstr "Precio un."
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.ui.menu,name:purchase.menu_purchase_uom_form_action
|
||||
msgid "Units of Measure"
|
||||
msgstr "Unidades de medida"
|
||||
|
||||
#. module: purchase
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_kpis_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_tree
|
||||
msgid "Untaxed"
|
||||
msgstr "Base"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__amount_untaxed
|
||||
msgid "Untaxed Amount"
|
||||
msgstr "Total neto"
|
||||
|
||||
#. module: purchase
|
||||
#: model:res.groups,name:purchase.group_purchase_user
|
||||
msgid "User"
|
||||
msgstr "Usuario"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_bill_union__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__partner_id
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_report__partner_id
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_line_tree
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_view_search
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_filter
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_order_search
|
||||
msgid "Vendor"
|
||||
msgstr "Vendedor"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.actions.act_window,name:purchase.act_res_partner_2_supplier_invoices
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.purchase_order_form
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.res_partner_view_purchase_account_buttons
|
||||
#: model_terms:ir.ui.view,arch_db:purchase.view_purchase_bill_union_filter
|
||||
msgid "Vendor Bills"
|
||||
msgstr "Facturas del Proveedor"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,field_description:purchase.field_purchase_order__website_message_ids
|
||||
msgid "Website Messages"
|
||||
msgstr "Mensajes del sitio web"
|
||||
|
||||
#. module: purchase
|
||||
#: model:ir.model.fields,help:purchase.field_purchase_order__website_message_ids
|
||||
msgid "Website communication history"
|
||||
msgstr "Historial de comunicaciones del sitio web"
|
||||
2133
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CO.po
Normal file
2133
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CO.po
Normal file
File diff suppressed because it is too large
Load diff
1652
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CR.po
Normal file
1652
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_CR.po
Normal file
File diff suppressed because it is too large
Load diff
1584
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_DO.po
Normal file
1584
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_DO.po
Normal file
File diff suppressed because it is too large
Load diff
2136
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_EC.po
Normal file
2136
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_EC.po
Normal file
File diff suppressed because it is too large
Load diff
3392
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_MX.po
Normal file
3392
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_MX.po
Normal file
File diff suppressed because it is too large
Load diff
1716
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_PE.po
Normal file
1716
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_PE.po
Normal file
File diff suppressed because it is too large
Load diff
1664
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_PY.po
Normal file
1664
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_PY.po
Normal file
File diff suppressed because it is too large
Load diff
1652
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_VE.po
Normal file
1652
odoo-bringout-oca-ocb-purchase/purchase/i18n/es_VE.po
Normal file
File diff suppressed because it is too large
Load diff
3326
odoo-bringout-oca-ocb-purchase/purchase/i18n/et.po
Normal file
3326
odoo-bringout-oca-ocb-purchase/purchase/i18n/et.po
Normal file
File diff suppressed because it is too large
Load diff
1675
odoo-bringout-oca-ocb-purchase/purchase/i18n/eu.po
Normal file
1675
odoo-bringout-oca-ocb-purchase/purchase/i18n/eu.po
Normal file
File diff suppressed because it is too large
Load diff
3253
odoo-bringout-oca-ocb-purchase/purchase/i18n/fa.po
Normal file
3253
odoo-bringout-oca-ocb-purchase/purchase/i18n/fa.po
Normal file
File diff suppressed because it is too large
Load diff
3391
odoo-bringout-oca-ocb-purchase/purchase/i18n/fi.po
Normal file
3391
odoo-bringout-oca-ocb-purchase/purchase/i18n/fi.po
Normal file
File diff suppressed because it is too large
Load diff
1649
odoo-bringout-oca-ocb-purchase/purchase/i18n/fo.po
Normal file
1649
odoo-bringout-oca-ocb-purchase/purchase/i18n/fo.po
Normal file
File diff suppressed because it is too large
Load diff
3395
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr.po
Normal file
3395
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr.po
Normal file
File diff suppressed because it is too large
Load diff
2934
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr_BE.po
Normal file
2934
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr_BE.po
Normal file
File diff suppressed because it is too large
Load diff
1659
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr_CA.po
Normal file
1659
odoo-bringout-oca-ocb-purchase/purchase/i18n/fr_CA.po
Normal file
File diff suppressed because it is too large
Load diff
1648
odoo-bringout-oca-ocb-purchase/purchase/i18n/gl.po
Normal file
1648
odoo-bringout-oca-ocb-purchase/purchase/i18n/gl.po
Normal file
File diff suppressed because it is too large
Load diff
3158
odoo-bringout-oca-ocb-purchase/purchase/i18n/gu.po
Normal file
3158
odoo-bringout-oca-ocb-purchase/purchase/i18n/gu.po
Normal file
File diff suppressed because it is too large
Load diff
3268
odoo-bringout-oca-ocb-purchase/purchase/i18n/he.po
Normal file
3268
odoo-bringout-oca-ocb-purchase/purchase/i18n/he.po
Normal file
File diff suppressed because it is too large
Load diff
3156
odoo-bringout-oca-ocb-purchase/purchase/i18n/hi.po
Normal file
3156
odoo-bringout-oca-ocb-purchase/purchase/i18n/hi.po
Normal file
File diff suppressed because it is too large
Load diff
3293
odoo-bringout-oca-ocb-purchase/purchase/i18n/hr.po
Normal file
3293
odoo-bringout-oca-ocb-purchase/purchase/i18n/hr.po
Normal file
File diff suppressed because it is too large
Load diff
3229
odoo-bringout-oca-ocb-purchase/purchase/i18n/hu.po
Normal file
3229
odoo-bringout-oca-ocb-purchase/purchase/i18n/hu.po
Normal file
File diff suppressed because it is too large
Load diff
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/hy.po
Normal file
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/hy.po
Normal file
File diff suppressed because it is too large
Load diff
3307
odoo-bringout-oca-ocb-purchase/purchase/i18n/id.po
Normal file
3307
odoo-bringout-oca-ocb-purchase/purchase/i18n/id.po
Normal file
File diff suppressed because it is too large
Load diff
3159
odoo-bringout-oca-ocb-purchase/purchase/i18n/is.po
Normal file
3159
odoo-bringout-oca-ocb-purchase/purchase/i18n/is.po
Normal file
File diff suppressed because it is too large
Load diff
3383
odoo-bringout-oca-ocb-purchase/purchase/i18n/it.po
Normal file
3383
odoo-bringout-oca-ocb-purchase/purchase/i18n/it.po
Normal file
File diff suppressed because it is too large
Load diff
3225
odoo-bringout-oca-ocb-purchase/purchase/i18n/ja.po
Normal file
3225
odoo-bringout-oca-ocb-purchase/purchase/i18n/ja.po
Normal file
File diff suppressed because it is too large
Load diff
1659
odoo-bringout-oca-ocb-purchase/purchase/i18n/ka.po
Normal file
1659
odoo-bringout-oca-ocb-purchase/purchase/i18n/ka.po
Normal file
File diff suppressed because it is too large
Load diff
1696
odoo-bringout-oca-ocb-purchase/purchase/i18n/kab.po
Normal file
1696
odoo-bringout-oca-ocb-purchase/purchase/i18n/kab.po
Normal file
File diff suppressed because it is too large
Load diff
3170
odoo-bringout-oca-ocb-purchase/purchase/i18n/km.po
Normal file
3170
odoo-bringout-oca-ocb-purchase/purchase/i18n/km.po
Normal file
File diff suppressed because it is too large
Load diff
3236
odoo-bringout-oca-ocb-purchase/purchase/i18n/ko.po
Normal file
3236
odoo-bringout-oca-ocb-purchase/purchase/i18n/ko.po
Normal file
File diff suppressed because it is too large
Load diff
2167
odoo-bringout-oca-ocb-purchase/purchase/i18n/lb.po
Normal file
2167
odoo-bringout-oca-ocb-purchase/purchase/i18n/lb.po
Normal file
File diff suppressed because it is too large
Load diff
3148
odoo-bringout-oca-ocb-purchase/purchase/i18n/lo.po
Normal file
3148
odoo-bringout-oca-ocb-purchase/purchase/i18n/lo.po
Normal file
File diff suppressed because it is too large
Load diff
3257
odoo-bringout-oca-ocb-purchase/purchase/i18n/lt.po
Normal file
3257
odoo-bringout-oca-ocb-purchase/purchase/i18n/lt.po
Normal file
File diff suppressed because it is too large
Load diff
3218
odoo-bringout-oca-ocb-purchase/purchase/i18n/lv.po
Normal file
3218
odoo-bringout-oca-ocb-purchase/purchase/i18n/lv.po
Normal file
File diff suppressed because it is too large
Load diff
1749
odoo-bringout-oca-ocb-purchase/purchase/i18n/mk.po
Normal file
1749
odoo-bringout-oca-ocb-purchase/purchase/i18n/mk.po
Normal file
File diff suppressed because it is too large
Load diff
3149
odoo-bringout-oca-ocb-purchase/purchase/i18n/ml.po
Normal file
3149
odoo-bringout-oca-ocb-purchase/purchase/i18n/ml.po
Normal file
File diff suppressed because it is too large
Load diff
3249
odoo-bringout-oca-ocb-purchase/purchase/i18n/mn.po
Normal file
3249
odoo-bringout-oca-ocb-purchase/purchase/i18n/mn.po
Normal file
File diff suppressed because it is too large
Load diff
3158
odoo-bringout-oca-ocb-purchase/purchase/i18n/ms.po
Normal file
3158
odoo-bringout-oca-ocb-purchase/purchase/i18n/ms.po
Normal file
File diff suppressed because it is too large
Load diff
3239
odoo-bringout-oca-ocb-purchase/purchase/i18n/nb.po
Normal file
3239
odoo-bringout-oca-ocb-purchase/purchase/i18n/nb.po
Normal file
File diff suppressed because it is too large
Load diff
3383
odoo-bringout-oca-ocb-purchase/purchase/i18n/nl.po
Normal file
3383
odoo-bringout-oca-ocb-purchase/purchase/i18n/nl.po
Normal file
File diff suppressed because it is too large
Load diff
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/no.po
Normal file
3142
odoo-bringout-oca-ocb-purchase/purchase/i18n/no.po
Normal file
File diff suppressed because it is too large
Load diff
3338
odoo-bringout-oca-ocb-purchase/purchase/i18n/pl.po
Normal file
3338
odoo-bringout-oca-ocb-purchase/purchase/i18n/pl.po
Normal file
File diff suppressed because it is too large
Load diff
3392
odoo-bringout-oca-ocb-purchase/purchase/i18n/pt.po
Normal file
3392
odoo-bringout-oca-ocb-purchase/purchase/i18n/pt.po
Normal file
File diff suppressed because it is too large
Load diff
3330
odoo-bringout-oca-ocb-purchase/purchase/i18n/pt_BR.po
Normal file
3330
odoo-bringout-oca-ocb-purchase/purchase/i18n/pt_BR.po
Normal file
File diff suppressed because it is too large
Load diff
3136
odoo-bringout-oca-ocb-purchase/purchase/i18n/purchase.pot
Normal file
3136
odoo-bringout-oca-ocb-purchase/purchase/i18n/purchase.pot
Normal file
File diff suppressed because it is too large
Load diff
3334
odoo-bringout-oca-ocb-purchase/purchase/i18n/ro.po
Normal file
3334
odoo-bringout-oca-ocb-purchase/purchase/i18n/ro.po
Normal file
File diff suppressed because it is too large
Load diff
3344
odoo-bringout-oca-ocb-purchase/purchase/i18n/ru.po
Normal file
3344
odoo-bringout-oca-ocb-purchase/purchase/i18n/ru.po
Normal file
File diff suppressed because it is too large
Load diff
3239
odoo-bringout-oca-ocb-purchase/purchase/i18n/sk.po
Normal file
3239
odoo-bringout-oca-ocb-purchase/purchase/i18n/sk.po
Normal file
File diff suppressed because it is too large
Load diff
3193
odoo-bringout-oca-ocb-purchase/purchase/i18n/sl.po
Normal file
3193
odoo-bringout-oca-ocb-purchase/purchase/i18n/sl.po
Normal file
File diff suppressed because it is too large
Load diff
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/sq.po
Normal file
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/sq.po
Normal file
File diff suppressed because it is too large
Load diff
3301
odoo-bringout-oca-ocb-purchase/purchase/i18n/sr.po
Normal file
3301
odoo-bringout-oca-ocb-purchase/purchase/i18n/sr.po
Normal file
File diff suppressed because it is too large
Load diff
2108
odoo-bringout-oca-ocb-purchase/purchase/i18n/sr@latin.po
Normal file
2108
odoo-bringout-oca-ocb-purchase/purchase/i18n/sr@latin.po
Normal file
File diff suppressed because it is too large
Load diff
3333
odoo-bringout-oca-ocb-purchase/purchase/i18n/sv.po
Normal file
3333
odoo-bringout-oca-ocb-purchase/purchase/i18n/sv.po
Normal file
File diff suppressed because it is too large
Load diff
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/sw.po
Normal file
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/sw.po
Normal file
File diff suppressed because it is too large
Load diff
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/ta.po
Normal file
3134
odoo-bringout-oca-ocb-purchase/purchase/i18n/ta.po
Normal file
File diff suppressed because it is too large
Load diff
3298
odoo-bringout-oca-ocb-purchase/purchase/i18n/th.po
Normal file
3298
odoo-bringout-oca-ocb-purchase/purchase/i18n/th.po
Normal file
File diff suppressed because it is too large
Load diff
3312
odoo-bringout-oca-ocb-purchase/purchase/i18n/tr.po
Normal file
3312
odoo-bringout-oca-ocb-purchase/purchase/i18n/tr.po
Normal file
File diff suppressed because it is too large
Load diff
3331
odoo-bringout-oca-ocb-purchase/purchase/i18n/uk.po
Normal file
3331
odoo-bringout-oca-ocb-purchase/purchase/i18n/uk.po
Normal file
File diff suppressed because it is too large
Load diff
3305
odoo-bringout-oca-ocb-purchase/purchase/i18n/vi.po
Normal file
3305
odoo-bringout-oca-ocb-purchase/purchase/i18n/vi.po
Normal file
File diff suppressed because it is too large
Load diff
3281
odoo-bringout-oca-ocb-purchase/purchase/i18n/zh_CN.po
Normal file
3281
odoo-bringout-oca-ocb-purchase/purchase/i18n/zh_CN.po
Normal file
File diff suppressed because it is too large
Load diff
3228
odoo-bringout-oca-ocb-purchase/purchase/i18n/zh_TW.po
Normal file
3228
odoo-bringout-oca-ocb-purchase/purchase/i18n/zh_TW.po
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,35 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
def convert_field(cr, model, field, target_model):
|
||||
table = model.replace('.', '_')
|
||||
|
||||
cr.execute("""SELECT 1
|
||||
FROM information_schema.columns
|
||||
WHERE table_name = %s
|
||||
AND column_name = %s
|
||||
""", (table, field))
|
||||
if not cr.fetchone():
|
||||
return
|
||||
|
||||
cr.execute("SELECT id FROM ir_model_fields WHERE model=%s AND name=%s", (model, field))
|
||||
[fields_id] = cr.fetchone()
|
||||
|
||||
cr.execute("""
|
||||
INSERT INTO ir_property(name, type, fields_id, company_id, res_id, value_reference)
|
||||
SELECT %(field)s, 'many2one', %(fields_id)s, company_id, CONCAT('{model},', id),
|
||||
CONCAT('{target_model},', {field})
|
||||
FROM {table} t
|
||||
WHERE {field} IS NOT NULL
|
||||
AND NOT EXISTS(SELECT 1
|
||||
FROM ir_property
|
||||
WHERE fields_id=%(fields_id)s
|
||||
AND company_id=t.company_id
|
||||
AND res_id=CONCAT('{model},', t.id))
|
||||
""".format(**locals()), locals())
|
||||
|
||||
cr.execute('ALTER TABLE "{0}" DROP COLUMN "{1}" CASCADE'.format(table, field))
|
||||
|
||||
def migrate(cr, version):
|
||||
convert_field(cr, 'res.partner', 'property_purchase_currency_id', 'res.currency')
|
||||
convert_field(cr, 'product.template',
|
||||
'property_account_creditor_price_difference', 'account.account')
|
||||
12
odoo-bringout-oca-ocb-purchase/purchase/models/__init__.py
Normal file
12
odoo-bringout-oca-ocb-purchase/purchase/models/__init__.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import account_invoice
|
||||
from . import analytic_account
|
||||
from . import analytic_applicability
|
||||
from . import purchase
|
||||
from . import product
|
||||
from . import res_company
|
||||
from . import res_config_settings
|
||||
from . import res_partner
|
||||
from . import mail_compose_message
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue