profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/simahawk/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Simone Orsi simahawk @OCA Rome Full stack senior python developer in love with open source. OdooCommunity board member.

domsense/web_export_view 3

an OpenERP web module for exporting current view to XLS as is

guewen/odoo-prestashop-dev 1

Odoo - Prestashop Development environment

sebalix/wms 1

Warehouse Management System for advance logistic with Odoo

simahawk/cioppino.twothumbs 1

Plone product base on like and dislike thumbs

simahawk/collective.blueprint.usersandgroups 1

transmogrifier blueprints for importing users and groups into plone

camptocamp/brand 0

Manage brands for products and companies

camptocamp/connector 0

Odoo generic connector framework (jobs queue, asynchronous tasks, channels)

PR opened OCA/product-attribute

product_packaging_type: split qty per type data enhancement needs review

Makes qty per type data reusable from outside.

+14 -3

0 comment

1 changed file

pr created time in an hour

create barnchcamptocamp/product-attribute

branch : 13-pkg-type-imp

created branch time in an hour

pull request commentOCA/stock-logistics-warehouse

[MIG] stock_orderpoint_route: Migration to 14.0

/ocabot merge nobump

dzungtran89

comment created time in 3 hours

pull request commentOCA/stock-logistics-warehouse

[MIG] stock_orderpoint_purchase_link: Migration to 14.0

/ocabot merge nobump

dzungtran89

comment created time in 4 hours

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentOCA/stock-logistics-warehouse

[MIG] stock_orderpoint_purchase_link: Migration to 14.0

+<?xml version="1.0" ?>+<!-- Copyright 2018 ForgeFlow S.L.+     License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->+<odoo>+    <record id="purchase_order_form" model="ir.ui.view">+        <field name="name">purchase.order.form</field>+        <field name="model">purchase.order</field>+        <field name="inherit_id" ref="purchase.purchase_order_form" />+        <field name="arch" type="xml">+            <xpath expr="//div[@name='button_box']" position="inside">

is this needed?

dzungtran89

comment created time in 6 hours

PullRequestReviewEvent
PullRequestReviewEvent

pull request commentOCA/stock-logistics-warehouse

14.0 [MIG] stock_packaging_calculator_packaging_type: Migration to 14.0

can you check runbot?

hiepnh97

comment created time in 6 hours

pull request commentOCA/stock-logistics-warehouse

[14.0][MIG] stock_product_qty_by_packaging: Migration to 14.0

can you check runbot?

hiepnh97

comment created time in 6 hours

pull request commentOCA/server-tools

[13.0][FIX] base_time_window: Disallow hours > 23

/ocabot merge patch

mmequignon

comment created time in 6 hours

pull request commentOCA/stock-logistics-workflow

[12.0] Add stock_quant_package_dimension

shall we close this?

grindtildeath

comment created time in 6 hours

pull request commentOCA/stock-logistics-warehouse

[14.0][MIG] stock_vertical_lift_server_env

/ocabot merge nobump

HoKhanhNguyen99

comment created time in 6 hours

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentOCA/sale-workflow

[13.0] Add sale_warehouse_calendar

 jobs:       after_success:     - stage: test       env:-        - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"+        - TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" EXCLUDE="sale_warehouse_calendar"     - stage: test       env:-        - TESTS="1" ODOO_REPO="OCA/OCB"+        - TESTS="1" ODOO_REPO="OCA/OCB" EXCLUDE="sale_warehouse_calendar"

are you sure you are running your tests w/ this settings?

mmequignon

comment created time in 10 hours

Pull request review commentOCA/sale-workflow

[13.0] Add sale_warehouse_calendar

+# Copyright 2021 Camptocamp SA+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)++from datetime import timedelta++from odoo import models+++class SaleOrderLine(models.Model):+    _inherit = "sale.order.line"++    def _delay_to_days(self, number_of_days):+        """Converts a delay to a number of days."""+        return number_of_days + 1++    def _expected_date(self):+        # Computes the expected date with respect to the WH calendar, if any.+        expected_date = super()._expected_date()+        return self._sale_warehouse_calendar_expected_date(expected_date)++    def _sale_warehouse_calendar_expected_date(self, expected_date):+        calendar = self.order_id.warehouse_id.calendar_id+        if calendar:+            # customer_lead is security_lead + workload, as explained on the field+            customer_lead = self.customer_lead or 0.0+            td_customer_lead = timedelta(days=customer_lead)+            security_lead = self.company_id.security_lead or 0.0+            td_security_lead = timedelta(days=security_lead)+            workload = customer_lead - security_lead+            # plan_days() expect a number of days instead of a delay+            workload_days = self._delay_to_days(workload)+            # Remove customer_lead added to order_date in sale_stock+            expected_date -= td_customer_lead+            # compute date given date_order and the actual workload+            expected_date = calendar.plan_days(workload_days, expected_date)+            # add back the security lead+            expected_date += td_security_lead+        return expected_date++    def _prepare_procurement_values(self, group_id=False):+        res = super()._prepare_procurement_values(group_id=group_id)+        return self._sale_warehouse_calendar_prepare_procurement_values(res)++    def _sale_warehouse_calendar_prepare_procurement_values(self, res):+        date_planned = res.get("date_planned")+        calendar = self.order_id.warehouse_id.calendar_id+        if date_planned and calendar:+            # customer_lead is security_lead + workload, as explained on the field+            customer_lead = self.customer_lead or 0.0+            security_lead = self.company_id.security_lead or 0.0+            workload = customer_lead - security_lead+            # plan_days() expect a number of days instead of a delay+            workload_days = self._delay_to_days(workload)

The part for the workload looks the same as the method above: can't you move this to a reusable method?

mmequignon

comment created time in 10 hours

PullRequestReviewEvent
PullRequestReviewEvent
PullRequestReviewEvent

issue commentshopinvader/odoo-shopinvader

[14.0] Unable to connect Odoo backend with locomotive server (neither test the api)

@Mat-moran how have you set up the services? Using docker-compose?

Mat-moran

comment created time in 11 hours

issue commentacsone/setuptools-odoo

Generate requirements: duplicated entries when specific version pinned

The final result seems correct anyway but in the case of lower pinning you get 2 downloads. Eg:

$ cat test-bad-requirements.txt 
apispec
apispec<5.1.0

$ pip install -r test-bad-requirements.txt --no-cache-dir
Collecting apispec
  Downloading apispec-5.1.0-py2.py3-none-any.whl (28 kB)
  Downloading apispec-5.0.0-py2.py3-none-any.whl (28 kB)
Installing collected packages: apispec
Successfully installed apispec-5.0.0

Greater pinning (same case as base_rest):

$ cat test-bad-requirements.txt 
apispec
apispec>=4.0.0

$ pip install -r test-bad-requirements.txt --no-cache-dir
Collecting apispec
  Downloading apispec-5.1.0-py2.py3-none-any.whl (28 kB)
Installing collected packages: apispec
Successfully installed apispec-5.1.0

So, not really harmful, but still weird and sub-optimal if we have many duplicated entries. In fact, this does not happen that often...

simahawk

comment created time in 11 hours

PullRequestReviewEvent

Pull request review commentOCA/stock-logistics-warehouse

[14.0][MIG] stock_vertical_lift_server_env

+# Copyright 2020 Camptocamp SA+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).++from odoo import models+++class VerticalLiftShuttle(models.Model):+    _name = "vertical.lift.shuttle"+    _inherit = ["vertical.lift.shuttle", "server.env.mixin"]++    @property+    def _server_env_fields(self):+        base_fields = super()._server_env_fields+        sftp_fields = {+            "hardware": {"compute_default": "_compute_default_hardware"},+            "server": {},+            "port": {},+            "use_tls": {},+        }+        sftp_fields.update(base_fields)+        return sftp_fields++    def _compute_default_hardware(self):+        self.hardware = "simulation"

does this work with multiple records? I'd use self.update({"hardware": "simulation"})

HoKhanhNguyen99

comment created time in 12 hours

PullRequestReviewEvent

pull request commentOCA/stock-logistics-warehouse

[14.0][MIG] stock_vertical_lift_server_env

runbot is :red_circle: because of this:

2021-09-21 03:48:11,106 174 INFO openerp_test odoo.modules.loading: loading stock_location_tray/demo/stock_location_tray_type_demo.xml
2021-09-21 03:48:11,127 174 WARNING openerp_test odoo.modules.loading: Module stock_location_tray demo data failed to install, installed without demo data
Traceback (most recent call last):
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 677, in _tag_root
f(rec)
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 580, in _tag_record
record = model._load_records([data], self.mode == 'update')
File "/home/odoo/odoo-14.0/odoo/models.py", line 4202, in _load_records
data['record']._load_records_write(data['values'])
File "/home/odoo/odoo-14.0/odoo/models.py", line 4139, in _load_records_write
self.write(values)
File "/home/odoo/odoo-14.0/odoo/models.py", line 3687, in write
real_recs._validate_fields(vals, inverse_fields)
File "/home/odoo/odoo-14.0/odoo/models.py", line 1266, in _validate_fields
check(self)
File "/home/odoo/build/OCA/stock-logistics-warehouse/setup/stock_location_tray/odoo/addons/stock_location_tray/models/stock_location_tray_type.py", line 105, in _location_check_rows_cols
).format(record.name, "\n".join(location_bullets))
odoo.exceptions.ValidationError: The tray type Small 8x is used by the following locations, it's size cannot be changed:

- WH/Stock/Tray
- WH/Stock/Vertical Lift/Shuttle 1/Tray 1A
- WH/Stock/Vertical Lift/Shuttle 2/Tray 2D

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/home/odoo/odoo-14.0/odoo/modules/loading.py", line 86, in load_demo
load_data(cr, idref, mode, kind='demo', package=package)
File "/home/odoo/odoo-14.0/odoo/modules/loading.py", line 69, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 733, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate)
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 799, in convert_xml_import
obj.parse(doc.getroot())
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 719, in parse
self._tag_root(de)
File "/home/odoo/odoo-14.0/odoo/tools/convert.py", line 685, in _tag_root
)) from e
odoo.tools.convert.ParseError: while parsing /home/odoo/build/OCA/stock-logistics-warehouse/setup/stock_location_tray/odoo/addons/stock_location_tray/demo/stock_location_tray_type_demo.xml:15, near
<record model="stock.location.tray.type" id="stock_location_tray_type_small_8x">
<field name="name">Small 8x</field>
<field name="code">B20402</field>
<field name="rows">2</field>
<field name="cols">4</field>
</record>

could you have a look?

HoKhanhNguyen99

comment created time in 12 hours

pull request commentshopinvader/odoo-shopinvader

[14.0][ADD] shopinvader_customer_multi_user_company_group

/ocabot merge nobump

ivantodorovich

comment created time in 12 hours

PullRequestReviewEvent