dr_catalog_pricelist release
This commit is contained in:
parent
20a94b3f26
commit
da2c25fca3
BIN
dr_catalog_pricelist/.DS_Store
vendored
Normal file
BIN
dr_catalog_pricelist/.DS_Store
vendored
Normal file
Binary file not shown.
1
dr_catalog_pricelist/__init__.py
Normal file
1
dr_catalog_pricelist/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import report, wizard
|
24
dr_catalog_pricelist/__manifest__.py
Normal file
24
dr_catalog_pricelist/__manifest__.py
Normal file
@ -0,0 +1,24 @@
|
||||
{
|
||||
# Module information
|
||||
'name': 'Catalog Pricelist Report',
|
||||
'sequence': 100,
|
||||
"license": "AGPL-3",
|
||||
'category': 'Report',
|
||||
'author': "devrave",
|
||||
'website': "http://www.devrave.xyz",
|
||||
'summary': 'Generate the Product Catalog Report.',
|
||||
'description': 'Product Catalog report with Image and \
|
||||
Stock Availability and Incoming Stock.\
|
||||
Catalog Product, Barcode, Image catalog report.',
|
||||
'version': '17.0.1.0.0',
|
||||
|
||||
# Dependencies
|
||||
'depends': ['sale_management', 'stock', 'purchase'],
|
||||
|
||||
# Views
|
||||
'data': ['security/ir.model.access.csv',
|
||||
'wizard/catalog_pricelist_wizard_view.xml',
|
||||
'report/catalog_report_view.xml',
|
||||
'report/report_registration.xml',
|
||||
],
|
||||
}
|
BIN
dr_catalog_pricelist/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
dr_catalog_pricelist/__pycache__/__init__.cpython-310.pyc
Normal file
Binary file not shown.
332
dr_catalog_pricelist/i18n/dr_catalog_pricelist.pot
Normal file
332
dr_catalog_pricelist/i18n/dr_catalog_pricelist.pot
Normal file
@ -0,0 +1,332 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * dr_catalog_pricelist
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-03-12 10:42+0000\n"
|
||||
"PO-Revision-Date: 2024-03-12 10:42+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "<span style=\"font-size:8pt;\">Unit(s)</span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__image
|
||||
msgid "Add Logo In Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Advanced Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__attribute_bg_color
|
||||
msgid "Attribute background Color"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Attributes"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Available:"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_height
|
||||
msgid "Barcode Height"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_type
|
||||
msgid "Barcode Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_width
|
||||
msgid "Barcode Width"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.actions.act_window,name:dr_catalog_pricelist.action_catalog_pricelist_wizard
|
||||
#: model:ir.model,name:dr_catalog_pricelist.model_catalog_pricelist_report_wizard
|
||||
msgid "Catalog Pricelist Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model,name:dr_catalog_pricelist.model_report_dr_catalog_pricelist_catalog_report
|
||||
msgid "Catalog report."
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codabar
|
||||
msgid "Codabar"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codell
|
||||
msgid "Code11"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__code128
|
||||
msgid "Code128"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Менеджер"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Дата создания"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Currency:"
|
||||
msgstr "Валюта:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__custom_title
|
||||
msgid "Custom Title"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean13
|
||||
msgid "EAN13"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean8
|
||||
msgid "EAN8"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__valid_until
|
||||
msgid "Expiration Date"
|
||||
msgstr "Действителен до"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Expiration Date:"
|
||||
msgstr "Действителен до:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended39
|
||||
msgid "Extended39"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended93
|
||||
msgid "Extended93"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__fim
|
||||
msgid "FIM"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Incoming:"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__language_id
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__msi
|
||||
msgid "MSI"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Main Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__postnet
|
||||
msgid "Postnet"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_id
|
||||
msgid "Pricelist"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_date
|
||||
msgid "Pricelist Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Pricelist Date:"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Prices"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Print"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_attributes
|
||||
msgid "Print Attributes"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__available_quantity
|
||||
msgid "Print Available Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_print
|
||||
msgid "Print Barcode"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_brands
|
||||
msgid "Print Brands"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_images
|
||||
msgid "Print Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__incoming_quantity
|
||||
msgid "Print Incoming Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Print Options"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.actions.report,name:dr_catalog_pricelist.action_catalog_report
|
||||
msgid "Product Catalog"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__qr
|
||||
msgid "QR"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_1
|
||||
msgid "Qty 1"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_2
|
||||
msgid "Qty 2"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_3
|
||||
msgid "Qty 3"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Quantities"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard39
|
||||
msgid "Standard39"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard93
|
||||
msgid "Standard93"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__usps_4stater
|
||||
msgid "USPS_4Stater"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Unit(s)"
|
||||
msgstr "Штук"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__i2of5
|
||||
msgid "i2of5"
|
||||
msgstr ""
|
343
dr_catalog_pricelist/i18n/ru.po
Normal file
343
dr_catalog_pricelist/i18n/ru.po
Normal file
@ -0,0 +1,343 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * dr_catalog_pricelist
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-03-12 10:42+0000\n"
|
||||
"PO-Revision-Date: 2024-03-12 10:42+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "<span style=\"font-size:8pt;\">Unit(s)</span>"
|
||||
msgstr "<span style=\"font-size:8pt;\">шт.</span>"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__image
|
||||
msgid "Add Logo In Report"
|
||||
msgstr "Добавить логотип в отчет"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Advanced"
|
||||
msgstr "Дополнительные"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Advanced Options"
|
||||
msgstr "Дополнительные опции"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__attribute_bg_color
|
||||
msgid "Attribute background Color"
|
||||
msgstr "Цвет фона атрибута"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Attributes"
|
||||
msgstr "Атрибуты"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Available:"
|
||||
msgstr "Доступно:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Forecasted:"
|
||||
msgstr "Прогноз:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_height
|
||||
msgid "Barcode Height"
|
||||
msgstr "Высота штрих-кода"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_type
|
||||
msgid "Barcode Type"
|
||||
msgstr "Тип штрих-кода"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_width
|
||||
msgid "Barcode Width"
|
||||
msgstr "Ширина штрих-кода"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.actions.act_window,name:dr_catalog_pricelist.action_catalog_pricelist_wizard
|
||||
#: model:ir.model,name:dr_catalog_pricelist.model_catalog_pricelist_report_wizard
|
||||
msgid "Catalog Pricelist Report"
|
||||
msgstr "Коммерческое предложение"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model,name:dr_catalog_pricelist.model_report_dr_catalog_pricelist_catalog_report
|
||||
msgid "Catalog report."
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codabar
|
||||
msgid "Codabar"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__codell
|
||||
msgid "Code11"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__code128
|
||||
msgid "Code128"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Создано пользователем"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Дата создания"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Currency:"
|
||||
msgstr "Валюта:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__custom_title
|
||||
msgid "Custom Title"
|
||||
msgstr "Заголовок"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Description"
|
||||
msgstr "Описание"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Отображаемое имя"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean13
|
||||
msgid "EAN13"
|
||||
msgstr "EAN13"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__ean8
|
||||
msgid "EAN8"
|
||||
msgstr "EAN8"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__valid_until
|
||||
msgid "Expiration Date"
|
||||
msgstr "Срок действия"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Expiration Date:"
|
||||
msgstr "Срок действия:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended39
|
||||
msgid "Extended39"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__extended93
|
||||
msgid "Extended93"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__fim
|
||||
msgid "FIM"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Incoming:"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__language_id
|
||||
msgid "Language"
|
||||
msgstr "Язык"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Исправлено"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Обновил"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Обновлено"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__msi
|
||||
msgid "MSI"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Main Settings"
|
||||
msgstr "Основные настройки"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__postnet
|
||||
msgid "Postnet"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_id
|
||||
msgid "Pricelist"
|
||||
msgstr "Прайс-лист"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__pricelist_date
|
||||
msgid "Pricelist Date"
|
||||
msgstr "Дата КП"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Pricelist Date:"
|
||||
msgstr "Дата КП:"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Prices"
|
||||
msgstr "Цены"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Print"
|
||||
msgstr "Печать"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_attributes
|
||||
msgid "Print Attributes"
|
||||
msgstr "Печать атрибутов"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__available_quantity
|
||||
msgid "Print Available Quantity"
|
||||
msgstr "Печатать доступное кол-во"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__forecasted_quantity
|
||||
msgid "Print Forecasted Quantity"
|
||||
msgstr "Печатать прогнозируемое кол-во"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__barcode_print
|
||||
msgid "Print Barcode"
|
||||
msgstr "Печать штрих-кода"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_brands
|
||||
msgid "Print Brands"
|
||||
msgstr "Печать брендов"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__print_images
|
||||
msgid "Print Image"
|
||||
msgstr "Печать изображения"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__incoming_quantity
|
||||
msgid "Print Incoming Quantity"
|
||||
msgstr "Печатать ожидаемое кол-во"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Print Options"
|
||||
msgstr "Настройки печати"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Product"
|
||||
msgstr "Наименование"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.actions.report,name:dr_catalog_pricelist.action_catalog_report
|
||||
msgid "Product Catalog"
|
||||
msgstr "Каталог продукции"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__qr
|
||||
msgid "QR"
|
||||
msgstr "QR"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_1
|
||||
msgid "Qty 1"
|
||||
msgstr "Кол-во 1"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_2
|
||||
msgid "Qty 2"
|
||||
msgstr "Кол-во 2"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields,field_description:dr_catalog_pricelist.field_catalog_pricelist_report_wizard__qty_3
|
||||
msgid "Qty 3"
|
||||
msgstr "Кол-во 3"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Quantities"
|
||||
msgstr "Количество"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_pricelist_wizard_form_view
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard39
|
||||
msgid "Standard39"
|
||||
msgstr "Стандарт39"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__standard93
|
||||
msgid "Standard93"
|
||||
msgstr "Стандарт93"
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__usps_4stater
|
||||
msgid "USPS_4Stater"
|
||||
msgstr ""
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model_terms:ir.ui.view,arch_db:dr_catalog_pricelist.catalog_main_report
|
||||
msgid "Unit(s)"
|
||||
msgstr "шт."
|
||||
|
||||
#. module: dr_catalog_pricelist
|
||||
#: model:ir.model.fields.selection,name:dr_catalog_pricelist.selection__catalog_pricelist_report_wizard__barcode_type__i2of5
|
||||
msgid "i2of5"
|
||||
msgstr ""
|
BIN
dr_catalog_pricelist/report/.DS_Store
vendored
Normal file
BIN
dr_catalog_pricelist/report/.DS_Store
vendored
Normal file
Binary file not shown.
1
dr_catalog_pricelist/report/__init__.py
Normal file
1
dr_catalog_pricelist/report/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import catalog_report_parser
|
BIN
dr_catalog_pricelist/report/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
dr_catalog_pricelist/report/__pycache__/__init__.cpython-310.pyc
Normal file
Binary file not shown.
Binary file not shown.
81
dr_catalog_pricelist/report/catalog_report_parser.py
Normal file
81
dr_catalog_pricelist/report/catalog_report_parser.py
Normal file
@ -0,0 +1,81 @@
|
||||
from odoo import api, models
|
||||
from odoo.tools import float_round
|
||||
|
||||
class CatalogReport(models.AbstractModel):
|
||||
"""Catalog report."""
|
||||
|
||||
_name = 'report.dr_catalog_pricelist.catalog_report'
|
||||
_description = "Catalog report."
|
||||
|
||||
def _get_categorie_data(self, products, product_quantities, pricelist):
|
||||
categ_lst = []
|
||||
categories_data = self.env['product.category']
|
||||
for product in products:
|
||||
categories_data |= product.categ_id
|
||||
|
||||
for category in categories_data:
|
||||
products_categ = products.filtered(
|
||||
lambda product: product.categ_id == category)
|
||||
prices = {}
|
||||
for categ_product in products_categ:
|
||||
prices[categ_product.id] = dict.fromkeys(
|
||||
product_quantities, 0.0)
|
||||
for quantity in product_quantities:
|
||||
prices[categ_product.id][quantity] = self._get_price_data(
|
||||
pricelist, categ_product, quantity)
|
||||
categ_lst.append({
|
||||
'category': category,
|
||||
'products': products_categ,
|
||||
'prices': prices,
|
||||
})
|
||||
return categ_lst
|
||||
|
||||
def _quantity(self, data):
|
||||
"""Get Product Quantity."""
|
||||
form = data and data.get('form') or {}
|
||||
return sorted([form[key] for key in form if key.startswith('qty') and
|
||||
form[key]])
|
||||
|
||||
@api.model
|
||||
def _get_report_values(self, docids, data = None):
|
||||
rate = 0.0
|
||||
pricelist = False
|
||||
symbol = ''
|
||||
currency_name = ''
|
||||
lang = zip(self.env['res.lang'].browse(data['form']['language_id']))
|
||||
docs = self.env['product.product'].browse(data.get('ids')).with_context(lang = lang)
|
||||
product_quantities = self._quantity(data)
|
||||
if data['form']['pricelist_id']:
|
||||
pricelist = self.env['product.pricelist'].browse(
|
||||
data['form']['pricelist_id'][0])
|
||||
currency_name = pricelist and \
|
||||
pricelist.currency_id.name or False
|
||||
symbol = pricelist.currency_id.symbol or False
|
||||
|
||||
return {
|
||||
'doc_ids': docs,
|
||||
'doc_model': 'product.product',
|
||||
'docs': docs,
|
||||
'test': data,
|
||||
'rate': rate or 00,
|
||||
'symbol': symbol or False,
|
||||
'currency_name': currency_name or False,
|
||||
'lang': lang,
|
||||
'data': dict(
|
||||
data,
|
||||
quantities = product_quantities,
|
||||
categories_data = self._get_categorie_data(
|
||||
docs, product_quantities, pricelist)
|
||||
),
|
||||
|
||||
}
|
||||
|
||||
def _get_price_data(self, pricelist, prod, qty):
|
||||
sale_price = self.env[
|
||||
'decimal.precision'].precision_get('Product Price')
|
||||
price = {}
|
||||
if pricelist:
|
||||
price = pricelist._get_product_price(prod, qty, False)
|
||||
if not price:
|
||||
price = prod.list_price
|
||||
return float_round(price, precision_digits = sale_price)
|
175
dr_catalog_pricelist/report/catalog_report_view.xml
Normal file
175
dr_catalog_pricelist/report/catalog_report_view.xml
Normal file
@ -0,0 +1,175 @@
|
||||
<odoo>
|
||||
|
||||
<template id="catalog_report">
|
||||
<t t-call="web.html_container">
|
||||
<t t-call="web.external_layout">
|
||||
<t t-call="dr_catalog_pricelist.catalog_main_report" t-lang="test['form']['language_id']"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<template id="catalog_main_report">
|
||||
<div class="page">
|
||||
<table class="table table-sm table-borderless mt-4" width="100%">
|
||||
<tr>
|
||||
<td width="20%" style="vertical-align: middle">
|
||||
Currency:
|
||||
<b>
|
||||
<span t-out="currency_name"/>
|
||||
</b>
|
||||
</td>
|
||||
<td width="50%" style="vertical-align: middle">
|
||||
<b>
|
||||
<center>
|
||||
<span t-out="test['form']['custom_title']"/>
|
||||
</center>
|
||||
</b>
|
||||
</td>
|
||||
<td width="30%" style="vertical-align: middle">
|
||||
<p style="margin-bottom:0">Pricelist Date:
|
||||
<b>
|
||||
<span t-out="test['form']['pricelist_date']"/>
|
||||
</b>
|
||||
</p>
|
||||
<p style="margin-bottom:0">Expiration Date:
|
||||
<b>
|
||||
<span t-out="test['form']['valid_until']"/>
|
||||
</b>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<table class="table table-sm o_main_table table-borderless mt-4" style="width: 100%; table-layout: auto; border-collapse: collapse;">
|
||||
<thead style="display: table-row-group; text-align:left;">
|
||||
<tr style="page-break-inside: avoid;">
|
||||
<th style="border-bottom: 1px solid black;width: 40%;">Product</th>
|
||||
<th style="border-bottom: 1px solid black;width: 20%;">Description</th>
|
||||
<!-- <th t-if="test['form']['print_brands']" style="border-bottom: 1px solid black;">Brand
|
||||
</th> -->
|
||||
<th t-if="test['form']['print_attributes']" style="border-bottom: 1px solid black;width: 20%;">Attributes
|
||||
</th>
|
||||
<th style="border-bottom: 1px solid black;width: 20%;">Prices</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="data['categories_data']" t-as="categ_data">
|
||||
<tr style="page-break-inside: avoid;">
|
||||
<td colspan="100" style="padding-top: 0;padding-bottom: 0">
|
||||
<strong t-out="categ_data['category'].name"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr t-foreach="categ_data['products']" t-as="product" style="page-break-inside: avoid;">
|
||||
<td style="padding: 0 12px 0 0; width: auto;" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
|
||||
<t t-if="test['form']['print_images']">
|
||||
<t t-if="product.image_1920">
|
||||
<img style="float: left;padding: 10px 12px 0 0;" t-att-src="image_data_uri(product.image_1920)" width="80px"/>
|
||||
</t>
|
||||
<t t-else="else">
|
||||
<img style="float: left;padding: 10px 12px 0 0;" src="dr_catalog_pricelist/static/description/no_img.png" width="80px"/>
|
||||
</t>
|
||||
</t>
|
||||
<div style="float: left;width: 40%;padding-top: 0; overflow-x:auto;">
|
||||
<p t-field="product.display_name"/>
|
||||
<div>
|
||||
<t t-if="test['form']['available_quantity']">
|
||||
Available:
|
||||
<span t-field="product.qty_available"/>
|
||||
</t>
|
||||
<br/>
|
||||
<t t-if="test['form']['forecasted_quantity']">
|
||||
Forecasted:
|
||||
<span t-field="product.incoming_qty"/>
|
||||
</t>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="padding: 0 12px 0 12px; table-layout: auto" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
|
||||
<div style="float: left; padding-top: 0;">
|
||||
<p t-out="product.description_sale"/>
|
||||
</div>
|
||||
</td>
|
||||
<!-- <td t-if="test['form']['print_brands']" style="border-bottom: 1px solid gray;padding: 0 12px 0 12px;">
|
||||
<div style="float: left;width: 100%;padding-top: 0;">
|
||||
<p t-out="product.dr_brand_value_id.name"/>
|
||||
</div>
|
||||
</td> -->
|
||||
<td t-if="test['form']['print_attributes']" t-attf-style="text-align:left; font-size:11pt; padding: 0;">
|
||||
<div style="float: left;max-width: 120px;padding-top: 0;">
|
||||
<t t-foreach="product.product_template_attribute_value_ids" t-as="line">
|
||||
<span t-field="line.attribute_id.name"/>:
|
||||
<span t-field="line.name"/>
|
||||
<br/>
|
||||
</t>
|
||||
</div>
|
||||
</td>
|
||||
<td style="text-align:left; font-size:12pt; padding: 0 12px 0 12px;">
|
||||
<t t-if="test['form']['pricelist_id']">
|
||||
<t t-set="previous_price" t-value="None" />
|
||||
<t t-foreach="data['quantities']" t-as="quantity">
|
||||
<t t-set="current_price" t-value="categ_data['prices'][product.id][quantity]" />
|
||||
<t t-if="previous_price == None or previous_price != current_price">
|
||||
<div>
|
||||
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
|
||||
<span style="font-size:8pt;">
|
||||
<t t-out="quantity"/>
|
||||
Unit(s)
|
||||
</span>
|
||||
</p>
|
||||
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
|
||||
<strong t-out="current_price" t-options="{'widget': 'float','decimal_precision': 'Product Price'}"/>
|
||||
<span t-out="symbol" style="font-size:10pt"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
<t t-set="previous_price" t-value="current_price" />
|
||||
</t>
|
||||
</t>
|
||||
<t t-else="else">
|
||||
<t t-if="test['form']['qty_1']">
|
||||
<div>
|
||||
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="test['form']['qty_1']" style="font-size:10pt"/>
|
||||
<span style="font-size:8pt;">Unit(s)</span>
|
||||
</p>
|
||||
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="(test['form']['qty_1'] * product.standard_price)" style="font-size:10pt"/>
|
||||
<span t-out="symbol" style="font-size:10pt"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
<t t-if="test['form']['qty_2']">
|
||||
<div>
|
||||
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="test['form']['qty_2']" style="font-size:10pt"/>
|
||||
<span style="font-size:8pt;">Unit(s)</span>
|
||||
</p>
|
||||
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="(test['form']['qty_2'] * product.standard_price)" style="font-size:10pt"/>
|
||||
<span t-out="symbol" style="font-size:10pt"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
<t t-if="test['form']['qty_3']">
|
||||
<div>
|
||||
<p style="text-align: left;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="test['form']['qty_3']" style="font-size:10pt"/>
|
||||
<span style="font-size:8pt;">Unit(s)</span>
|
||||
</p>
|
||||
<p style="text-align: right;float:left;width: 50%;margin-bottom:0">
|
||||
<span t-out="(test['form']['qty_3'] * product.standard_price)" style="font-size:10pt"/>
|
||||
<span t-out="symbol" style="font-size:10pt"/>
|
||||
</p>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</odoo>
|
28
dr_catalog_pricelist/report/report_registration.xml
Normal file
28
dr_catalog_pricelist/report/report_registration.xml
Normal file
@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="paperformat_catalog_report" model="report.paperformat">
|
||||
<field name="name">Legal Catalog Report</field>
|
||||
<field name="default" eval="True"/>
|
||||
<field name="format">A4</field>
|
||||
<field name="page_height">0</field>
|
||||
<field name="page_width">0</field>
|
||||
<field name="orientation">Portrait</field>
|
||||
<field name="margin_top">50</field>
|
||||
<field name="margin_bottom">30</field>
|
||||
<field name="margin_left">7</field>
|
||||
<field name="margin_right">7</field>
|
||||
<field name="header_line" eval="False" />
|
||||
<field name="header_spacing">45</field>
|
||||
<field name="dpi">90</field>
|
||||
</record>
|
||||
|
||||
<record id="action_catalog_report" model="ir.actions.report">
|
||||
<field name="model">catalog.pricelist.report.wizard</field>
|
||||
<field name="name">Product Catalog</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">dr_catalog_pricelist.catalog_report</field>
|
||||
<field name="paperformat_id" ref="dr_catalog_pricelist.paperformat_catalog_report"/>
|
||||
<field name="report_file">dr_catalog_pricelist.catalog_report</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
2
dr_catalog_pricelist/security/ir.model.access.csv
Normal file
2
dr_catalog_pricelist/security/ir.model.access.csv
Normal file
@ -0,0 +1,2 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
dr_catalog_pricelist.access_catalog_pricelist_report_wizard,access_catalog_pricelist_report_wizard,dr_catalog_pricelist.model_catalog_pricelist_report_wizard,base.group_user,1,1,1,1
|
|
BIN
dr_catalog_pricelist/static/.DS_Store
vendored
Normal file
BIN
dr_catalog_pricelist/static/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
dr_catalog_pricelist/static/description/icon.png
Normal file
BIN
dr_catalog_pricelist/static/description/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
dr_catalog_pricelist/static/description/no_img.png
Normal file
BIN
dr_catalog_pricelist/static/description/no_img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
BIN
dr_catalog_pricelist/wizard/.DS_Store
vendored
Normal file
BIN
dr_catalog_pricelist/wizard/.DS_Store
vendored
Normal file
Binary file not shown.
1
dr_catalog_pricelist/wizard/__init__.py
Normal file
1
dr_catalog_pricelist/wizard/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from . import catalog_pricelist_wizard
|
BIN
dr_catalog_pricelist/wizard/__pycache__/__init__.cpython-310.pyc
Normal file
BIN
dr_catalog_pricelist/wizard/__pycache__/__init__.cpython-310.pyc
Normal file
Binary file not shown.
Binary file not shown.
67
dr_catalog_pricelist/wizard/catalog_pricelist_wizard.py
Normal file
67
dr_catalog_pricelist/wizard/catalog_pricelist_wizard.py
Normal file
@ -0,0 +1,67 @@
|
||||
from odoo import _, api, fields, models
|
||||
|
||||
class CatalogPricelistReport(models.TransientModel):
|
||||
_name = "catalog.pricelist.report.wizard"
|
||||
_description = 'Catalog Pricelist Report'
|
||||
|
||||
@api.onchange('pricelist_id')
|
||||
def _onchange_pricelist_id(self):
|
||||
if self.pricelist_id:
|
||||
pricelist_item_records = self.env['product.pricelist.item'].search([('pricelist_id', '=', self.pricelist_id.id)])
|
||||
min_quantities = sorted([record.min_quantity for record in pricelist_item_records])
|
||||
self.qty_1 = min_quantities[0] if len(min_quantities) >= 1 else 0
|
||||
self.qty_2 = min_quantities[1] if len(min_quantities) >= 2 else 0
|
||||
self.qty_3 = min_quantities[2] if len(min_quantities) >= 3 else 0
|
||||
|
||||
@api.model
|
||||
def _lang_get(self):
|
||||
return self.env["res.lang"].get_installed()
|
||||
|
||||
pricelist_id = fields.Many2one('product.pricelist')
|
||||
language_id = fields.Selection(_lang_get, string="Language", default=lambda self: self.env.user.lang)
|
||||
custom_title = fields.Char(string="Custom Title")
|
||||
qty_1 = fields.Integer(default=lambda self: self.qty_1)
|
||||
qty_2 = fields.Integer(default=lambda self: self.qty_2)
|
||||
qty_3 = fields.Integer(default=lambda self: self.qty_3)
|
||||
print_images = fields.Boolean(string="Print Image", default=True)
|
||||
print_attributes = fields.Boolean(string="Print Attributes", default=False)
|
||||
attribute_bg_color = fields.Char(string="Attribute background Color")
|
||||
|
||||
# barcode_print = fields.Boolean(string="Print Barcode", default=False)
|
||||
# barcode_type = fields.Selection([('codabar', 'Codabar'),
|
||||
# ('codell', 'Code11'),
|
||||
# ('code128', 'Code128'),
|
||||
# ('ean13', 'EAN13'), ('ean8', 'EAN8'),
|
||||
# ('extended39', 'Extended39'),
|
||||
# ('extended93', 'Extended93'),
|
||||
# ('fim', 'FIM'),
|
||||
# ('i2of5', 'i2of5'),
|
||||
# ('msi', 'MSI'),
|
||||
# ('postnet', 'Postnet'),
|
||||
# ('qr', 'QR'),
|
||||
# ('standard39', 'Standard39'),
|
||||
# ('standard93', 'Standard93'),
|
||||
# ('usps_4stater', 'USPS_4Stater')],
|
||||
# default="ean13", string="Barcode Type")
|
||||
# barcode_height = fields.Integer(string="Barcode Height", default='200')
|
||||
# barcode_width = fields.Integer(string="Barcode Width", default='50')
|
||||
|
||||
available_quantity = fields.Boolean(string="Print Available Quantity")
|
||||
forecasted_quantity = fields.Boolean(string="Print Forecasted Quantity")
|
||||
image = fields.Binary(string='Add Logo In Report')
|
||||
|
||||
pricelist_date = fields.Date('Pricelist Date', default=lambda self: fields.Date.context_today(self))
|
||||
valid_until = fields.Date('Expiration Date', default=lambda self: fields.Date.context_today(self))
|
||||
# print_brands = fields.Boolean(string="Print Brands", default = False)
|
||||
|
||||
def print_report(self):
|
||||
active_ids = self.env.context.get('active_ids', [])
|
||||
data = self.read()[0]
|
||||
datas = {
|
||||
'ids': active_ids,
|
||||
'model': 'product.product',
|
||||
'form': data,
|
||||
}
|
||||
return self.env.ref(
|
||||
'dr_catalog_pricelist.action_catalog_report').report_action(
|
||||
[], data=datas)
|
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="catalog_pricelist_wizard_form_view" model="ir.ui.view">
|
||||
<field name="name">Catalog Report Wizard</field>
|
||||
<field name="model">catalog.pricelist.report.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<notebook>
|
||||
<page string="Settings">
|
||||
<group>
|
||||
<group string="Main Settings">
|
||||
<field name="pricelist_id"/>
|
||||
<field name="language_id"/>
|
||||
<field name="custom_title"/>
|
||||
<field name="pricelist_date"/>
|
||||
<field name="valid_until"/>
|
||||
</group>
|
||||
<group string="Quantities">
|
||||
<field name="qty_1"/>
|
||||
<field name="qty_2"/>
|
||||
<field name="qty_3"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Advanced">
|
||||
<group>
|
||||
<group string="Advanced Options">
|
||||
<field name="available_quantity"/>
|
||||
<field name="forecasted_quantity"/>
|
||||
</group>
|
||||
<group string="Print Options">
|
||||
<field name="print_images"/>
|
||||
<!-- <field name="print_brands"/> -->
|
||||
<field name="print_attributes"/>
|
||||
<!-- <field name="image" widget="image" attrs="{'invisible': [('print_images', '=', False)]}" nolabel="1" img_width="150" img_height="200"/> -->
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<!-- <page string="Barcode">
|
||||
<group col="2">
|
||||
<field name="barcode_print"/>
|
||||
<field name="barcode_type" required="1"/>
|
||||
<field name="barcode_height" required="1"/>
|
||||
<field name="barcode_width" required="1"/>
|
||||
</group>
|
||||
</page> -->
|
||||
</notebook>
|
||||
<footer>
|
||||
<button name="print_report" string="Print" type="object" class="oe_highlight"/>
|
||||
<button string='Cancel' special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_catalog_pricelist_wizard" model="ir.actions.act_window">
|
||||
<field name="name">Catalog Pricelist Report</field>
|
||||
<field name="res_model">catalog.pricelist.report.wizard</field>
|
||||
<field name="binding_model_id" ref="product.model_product_product"/>
|
||||
<field name="binding_type">report</field>
|
||||
<field name="binding_view_types">list</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</odoo>
|
Loading…
x
Reference in New Issue
Block a user