- 20 Dec, 2024 2 commits
-
-
Titouan Soulard authored
Also: add `getTotalQuantity`. Why?
-
Titouan Soulard authored
-
- 19 Dec, 2024 1 commit
-
-
Titouan Soulard authored
…and delete unused `z_catalog_stock_list_without_delete_for_inventory_virtual_movement`
-
- 06 Nov, 2024 2 commits
-
-
Titouan Soulard authored
-
Titouan Soulard authored
-
- 30 Sep, 2024 6 commits
-
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
- 18 Sep, 2024 3 commits
-
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Xiaowu Zhang authored
-
- 17 Sep, 2024 7 commits
-
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
-
Titouan Soulard authored
In order to have Inventory Offset Lines, we want the user to be able to check the generated lines before validating. This commit therefore adds an intermediate state `planned`, which will be used to trigger generation of Simulation Movements and building of the offset lines. Some other small changes have been done to make the actions' names more clear and adhere to ERP5 standards, but all keep backward compatiblity: previous states have been kept, and previously validated inventories are now recorded so that no Simulation Movements will be generated that would impact stock values.
-
Titouan Soulard authored
-
- 02 Aug, 2024 2 commits
-
-
Jérome Perrin authored
-
Arnaud Fontaine authored
-
- 01 Aug, 2024 4 commits
-
-
Rafael Monnerat authored
See merge request nexedi/erp5!1963
-
Rafael Monnerat authored
-
Rafael Monnerat authored
The script is supposed to be called on portal context (or any context) and not on MailevaSOAPConnector, and it should return a MailevaSOAPConnector for a given reference.
-
Rafael Monnerat authored
In the implementation where the user cannot directly insert holidays (by an specialised role/implementation) it allow the accountant insert the values more easily. Using a simple action. Add simple jump for navigate to the holidays/leave This helps to review value on the print out
-
- 30 Jul, 2024 1 commit
-
-
Léo-Paul Géneau authored
See merge request nexedi/erp5!1959
-
- 29 Jul, 2024 4 commits
-
-
Léo-Paul Géneau authored
Fix UI tests error introduced by f159d4f2. As it checks for timeout, simulation finished state cannot be reached anymore.
-
Léo-Paul Géneau authored
-
Léo-Paul Géneau authored
-
Léo-Paul Géneau authored
Fix projection by not making a square map from non square limits (width != depth). This way rotation does not result anymore in deformed shapes (it was the case until now because proportionality was not respected between width and depth).
-
- 25 Jul, 2024 2 commits
-
-
Arnaud Fontaine authored
Fix typo (cbe50b0f): erp5_accounting_l10n_fr: the French Fiscal Report (FEC) can be generated for different ledgers.
-
Nicolas Wavrant authored
WebSection.getDocumentValueList() returns absolutely all the documents (as catalog brains) reachable by the web section. Then, calling .getUid() on them load all the objects in memory. The number of documents is of the order of hundreds, even on a small ERP5 (web pages, web scripts, etc.). Limit the documents to retrieve in WebSection_getLatestDiscussionPostList by filtering on the portal_type, and do not load them needlessly in memory.
-
- 23 Jul, 2024 2 commits
-
-
Rafael Monnerat authored
This aims to add compatibility with BTreeFolder2 API, even it is not required. Since some checkConsistency may call self._cleanup() regardless expecting that the folder is a [H]BTreeFolder2 always. This was detected when a post upgrade constrant was included to portal_categories
-
Jérome Perrin authored
The methods used in indexing did not make a difference between the case where the price is None (ie. price is not set) or where the price is set to 0 - in both cases this was saved as NULL in stock.total_price column. This is incorrect, we need to keep the distinction between these two cases also for inventory calculation. We had some places where we select IFNULL(stock.total_price, 0) to work around this, we don't plan to change the existing ones for now, but while discussing on nexedi/erp5!1974 we concluded that a newly idenfified case of a problem consequence of these NULL should be handled by fixing the indexation. To benefit from the fix, impacted instances will have to reindex documents present in the stock table with stock.total_price is null.
-
- 18 Jul, 2024 1 commit
-
-
Nicolas Wavrant authored
-
- 17 Jul, 2024 2 commits
-
-
Arnaud Fontaine authored
__import__ `fromlist` argument was wrong. It was working anyway with Python2 but not anymore with Python3, raising a `ModuleNotFoundError` exception. According to Python `__import__(name, globals, locals, fromlist)` documentation: When the `name` variable is of the form `package.module`, normally, the top-level package (the `name` up till the first dot) is returned, *not* the module named by `name`. However, when a non-empty `fromlist` argument is given, the module named by `name` is returned. Thus, the following patterns were wrong: * __import__(MODULE_NAME, globals(), locals(), MODULE_NAME) => Iterate through each character of MODULE_NAME as fromlist is expected to be a list/tuple. * __import__(MODULE_NAME, globals(), locals(), [MODULE_NAME]) => This works but actually tries to import MODULE_NAME object from MODULE_NAME module (no error if it cannot). The goal of such __import__ calls were for __import__ to return the right-end module instead of the top-level package. In such case, `fromlist=['']` is the way to go as it __import__ does not check if the object exists in the module if it's an empty string. However, it is even better and easier to read to use importlib.import_module() for that... Also, add `from __future__ import absolute_import` because python2 tries both relative and absolute import (level=-1 __import__ parameter) whereas python3 does absolute import by default (level=0). Co-authored-by: Kazuhiko SHIOZAKI <kazuhiko@nexedi.com>
-
Nicolas Wavrant authored
-
- 15 Jul, 2024 1 commit
-
-
Jérome Perrin authored
When under a pinDateTime context, d.isPast() was comparing d with the actual current date, not the fake date from the pinned context. Also, make the methods class methods, so that they can be used as external methods in Zelenium tests.
-