erp5:8a86bed58fa1ad79258dc037c5d912102e0ec619 commitshttps://lab.nexedi.com/nexedi/erp5/-/commits/8a86bed58fa1ad79258dc037c5d912102e0ec6192013-06-04T16:56:47+02:00https://lab.nexedi.com/nexedi/erp5/-/commit/8a86bed58fa1ad79258dc037c5d912102e0ec619Do not hide non-leaf categories when selecting trade phases on rules2013-06-04T16:56:47+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/0d2e4dd612979428ce98bd101d3dafbd53822d2cDrop unneeded criterion.2013-06-04T15:58:02+02:00Vincent Pelletiervincent@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/5d3ea021fd062856ed7d7dca6a2a7d26bb2362ccUse REPLACE rather than INSERT for DELETE..INSERT indexation pattern.2013-06-04T15:58:01+02:00Vincent Pelletiervincent@nexedi.com
When a document gets rows inserted in category table while there was none
before (typically: first document indexation), it may trigger
IntegrityError: (1062, "Duplicate entry '...' for key 'PRIMARY'")
because in the DELETE..INSERT pattern, DELETE finds no matching rows and
does not gap-lock (because we enable innodb_locks_unsafe_for_binlog), then
the second INSERT happening, chronologically speaking, waits for the
transaction of the first to e committed, and on commit it causes such
duplicate key error.
A transient visible effect of this change is that if both competing
indexations see a different document state (because document got modified
in some 3rd transaction), the union of the resulting set of rows will be
visible until the reindexation which must have been triggered by the 3rd
transaction gets executed, at which point only the latest set will be
visible.
A similar issue exists before this change, with stricter conditions: it
needs the intersection of both sets to be empty, because a non-empty
intersection causes the duplicate key error solved here.
This change has been measured to improve scalability of an invoice building
test case (naturally triggering indexations) starting from ~12 activity
nodes:
8 nodes: +1.4% invoices/hour
12 nodes: +9.5% invoices/hour
16 nodes: +12.3% invoices/hour
(values are the difference between DELETE..INSERT and DELETE..REPLACE)https://lab.nexedi.com/nexedi/erp5/-/commit/4ec6689217ca81fcdd4fe311811bf6e2589cc41bZSQLCatalog: fix identation in EntireQuery2013-06-04T12:08:01+02:00Julien Muchembledjm@nexedi.com
asSQLExpression() failed when executed several times on the same instance,
because too much code was skipped when 'column_map' is cached.https://lab.nexedi.com/nexedi/erp5/-/commit/a5535be1f11b2315e0cdfd0c4297ba6540fc308bSetter argument is required.2013-06-04T12:02:31+02:00Vincent Pelletiervincent@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/0eb3c1e85d2d83f8358e83d9de0b4248a493a220erp5.util: fix reStructuredText errors of README2013-06-04T12:01:58+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/5003b88035e901719aed509db587bf5c38298770Use consistent TALES expression to specify default portal type list.2013-06-03T11:39:03+02:00Vincent Pelletiervincent@nexedi.com
Avoid getting the list twice, follow coding style, explicitly access portal
methods on portal.https://lab.nexedi.com/nexedi/erp5/-/commit/76214f65e850dc42652ff774edd3cf1c741b5f74Remove condition to test if the event path destination predicate applies for...2013-05-31T17:17:09+02:00Gabriel Monneratgabriel@tiolive.comRemove condition to test if the event path destination predicate applies for this destination. On this this case, we can trust on the previous selection using the domain
https://lab.nexedi.com/nexedi/erp5/-/commit/7ae9efc774025cf9e3a1be4bad700fe3ce475a49BusinessProcess: fix isCompleted & getLatest(Partially)CompletedTradeStateLis...2013-05-30T17:55:03+02:00Julien Muchembledjm@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/2a16967d770cea183fda5434ecffd424d15ac980fixup e9b75a2762 (optimise ERP5Site_getKnowledgePadListForUser).2013-05-30T00:04:50+02:00Kazuhiko Shiozakikazuhiko@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/e9b75a2762a69223788b58be65768b748c4b208foptimise ERP5Site_getKnowledgePadListForUser.2013-05-29T15:03:20+02:00Kazuhiko Shiozakikazuhiko@nexedi.com
call getObject() once explicitly to reduce number of calls.https://lab.nexedi.com/nexedi/erp5/-/commit/6824bff5bb9d0b701bf8579fecabbbb8d997a5cdcoding crime : never use the expression "if obj" whenever obj is not a simple...2013-05-29T14:56:40+02:00Kazuhiko Shiozakikazuhiko@nexedi.com
this code was working just by chance because active_knowledge_pad is a brain, not an ERP5 object.https://lab.nexedi.com/nexedi/erp5/-/commit/894e23fdfa64d6727639e54467bc79e0dbcd9a8eRevert commits pushed by mistake2013-05-28T11:36:09+02:00Jérome Perrinjerome@nexedi.com
Revert "fix undefined variables"
This reverts commit <a href="/nexedi/erp5/-/commit/77a53809e6015f41ca84e1154c0ffa5a74958364" data-original="77a53809e6015f41ca84e1154c0ffa5a74958364" data-link="false" data-link-reference="false" data-project="1" data-commit="77a53809e6015f41ca84e1154c0ffa5a74958364" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="fix undefined variables" class="gfm gfm-commit has-tooltip">77a53809</a>.
Revert "Listbox: calculate a mapping uid -> object once"
This reverts commit <a href="/nexedi/erp5/-/commit/84029c01e1c7e45f354aa9f7236772c05e0e1b01" data-original="84029c01e1c7e45f354aa9f7236772c05e0e1b01" data-link="false" data-link-reference="false" data-project="1" data-commit="84029c01e1c7e45f354aa9f7236772c05e0e1b01" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Listbox: calculate a mapping uid -> object once" class="gfm gfm-commit has-tooltip">84029c01</a>.
Revert "fix list method returning duplicate uids"
This reverts commit <a href="/nexedi/erp5/-/commit/386b0e6bf6f6a7251781f2b1e5232d7776619c49" data-original="386b0e6bf6f6a7251781f2b1e5232d7776619c49" data-link="false" data-link-reference="false" data-project="1" data-commit="386b0e6bf6f6a7251781f2b1e5232d7776619c49" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="fix list method returning duplicate uids" class="gfm gfm-commit has-tooltip">386b0e6b</a>.
Revert "test for dialog listbox with editable fields"
This reverts commit <a href="/nexedi/erp5/-/commit/e046d8f51c2bc7ce600a91d901ee7d9c04008d73" data-original="e046d8f51c2bc7ce600a91d901ee7d9c04008d73" data-link="false" data-link-reference="false" data-project="1" data-commit="e046d8f51c2bc7ce600a91d901ee7d9c04008d73" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="test for dialog listbox with editable fields" class="gfm gfm-commit has-tooltip">e046d8f5</a>.https://lab.nexedi.com/nexedi/erp5/-/commit/77a53809e6015f41ca84e1154c0ffa5a74958364fix undefined variables2013-05-28T11:23:13+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/84029c01e1c7e45f354aa9f7236772c05e0e1b01Listbox: calculate a mapping uid -> object once2013-05-27T12:37:32+02:00Jérome Perrinjerome@nexedi.com
Instead of looping through the list each time.
Also check that the list method does not return duplicate uids.https://lab.nexedi.com/nexedi/erp5/-/commit/386b0e6bf6f6a7251781f2b1e5232d7776619c49fix list method returning duplicate uids2013-05-27T12:37:31+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/e046d8f51c2bc7ce600a91d901ee7d9c04008d73test for dialog listbox with editable fields2013-05-27T11:25:03+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/ee7d674f11e5e1857a64a4478312225ec681c116rename dialog to respect naming conventions2013-05-27T11:25:03+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/a137b213d8a04b3cf975c51dfa93a7f0407aa943erp5_accounting_ui_test: clear the cache when we validate a new account2013-05-27T11:24:32+02:00Jérome Perrinjerome@nexedi.com
This cache is used by AccountingTransactionLine_getNodeItemListhttps://lab.nexedi.com/nexedi/erp5/-/commit/38a21ef275d2100a2b5a9ae76ac5428a8bada028raise NotImplementedError, because implementation does not match comments2013-05-24T17:37:15+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/3498e8f4d92e05449d51731eadded6b55ac173dbFollowup f3f738ffca6ecbb19f9f67e32fb7ce2e8671a2c92013-05-24T17:37:15+02:00Jérome Perrinjerome@nexedi.com
It is useless to clear the cache in activities, because this would only work when using only one zope instance. Instead, clear the cache in the test for now.https://lab.nexedi.com/nexedi/erp5/-/commit/cc18a34425b0cb05a88c9028c277ea1b24f2b441ExplanationCache: do not create new business link closure if unnecessary2013-05-24T16:45:46+02:00Julien Muchembledjm@nexedi.com
Also do not hardcode 'business_process_module'.https://lab.nexedi.com/nexedi/erp5/-/commit/bdb5085a69833e343db9526d425cf01a441ff412ExplanationCache: fix update of closure cache2013-05-24T14:31:42+02:00Julien Muchembledjm@nexedi.com
>>> self.closure_cache[business_link] = new_business_process
was done after 'business_link' was overridden by the for loop.https://lab.nexedi.com/nexedi/erp5/-/commit/0d3b3181082aeb93d586d22041db1da1864abe27ExplanationCache: optimizations2013-05-23T19:59:28+02:00Julien Muchembledjm@nexedi.com
This also the following line in getBusinessLinkClosure():
if simulation_path.startswith(path):
For example, '/erp5/portal_simulation/1/10'
should not match '/erp5/portal_simulation/1/1'https://lab.nexedi.com/nexedi/erp5/-/commit/40714c14fba949a160e96f0757039acb786f14efamendments to dd69a61c90548297cf62e3f892486ab984b5252e, unsubcribe / subscrib...2013-05-23T17:00:35+02:00Jérome Perrinjerome@nexedi.comamendments to <a href="/brackenburyn/erp5/-/commit/dd69a61c90548297cf62e3f892486ab984b5252e" data-original="dd69a61c90548297cf62e3f892486ab984b5252e" data-link="false" data-link-reference="false" data-project="622" data-commit="dd69a61c90548297cf62e3f892486ab984b5252e" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="disable alarms while reindexing all site" class="gfm gfm-commit has-tooltip">dd69a61c</a>, unsubcribe / subscribe instead of changing alarm node
https://lab.nexedi.com/nexedi/erp5/-/commit/818dd922467cba389432b66913d56367b8675c27fix TALES, relation field needs to have a list of tuple for portal_type2013-05-23T14:59:52+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/c221a41f59ef842f839c9d62152c00250f288da9Only index a group if the role is allowed to view2013-05-23T14:47:31+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/dd69a61c90548297cf62e3f892486ab984b5252edisable alarms while reindexing all site2013-05-23T14:47:30+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/c3d1133debcb20f0c631597520b17c0113bfa30cManage add portal content in ticket workflow2013-05-23T14:47:29+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/eb3ebc37f6f236916cfe7e1f11c520f149f11112AlarmTool: restore security manager after tic2013-05-22T13:36:15+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/0edd03d91fd218e9319660393706521a0f0969a6Restore validation_state parameter2013-05-22T10:55:13+02:00Jérome Perrinjerome@nexedi.com
mistakenly removed in <a href="/nexedi/erp5/-/commit/a8b2267c0b8b7bfe1047f6301d86fc6a24add9ab" data-original="a8b2267c0b8b7bfe1047f6301d86fc6a24add9ab" data-link="false" data-link-reference="false" data-project="1" data-commit="a8b2267c0b8b7bfe1047f6301d86fc6a24add9ab" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Budget Consumption Report: allow filtering by budget model and budget type" class="gfm gfm-commit has-tooltip">a8b2267c</a>https://lab.nexedi.com/nexedi/erp5/-/commit/76213b54dec1267e0d10874f78c93aa889876ceemake zsqlbrain's activate() return an ActiveWrapper object without calling ge...2013-05-21T21:37:05+02:00Kazuhiko Shiozakikazuhiko@nexedi.com
With this change, code like the following will use much less memory.
for i in portal_catalog(...):
i.activate().method()
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="23"><a href="https://lab.nexedi.com/vpelletier" title="vincent@nexedi.com"><img alt="Vincent Pelletier's avatar" src="https://secure.gravatar.com/avatar/827d4f3a555dce68184674f23bcc3f5c?s=32&d=identicon" class="avatar s16 avatar-inline" title="Vincent Pelletier"></a><a href="https://lab.nexedi.com/vpelletier" title="vincent@nexedi.com">Vincent Pelletier</a> <<a href="mailto:vincent@nexedi.com" title="vincent@nexedi.com">vincent@nexedi.com</a>></span>https://lab.nexedi.com/nexedi/erp5/-/commit/6c3fa4f10997296512aac41ca891f28c8797a1ebmake ActivityTool.activateObject() public.2013-05-21T21:37:04+02:00Kazuhiko Shiozakikazuhiko@nexedi.com
so that we can register activity by path from restricted environment.
also set default parameters just same as ActiveObject.activate().https://lab.nexedi.com/nexedi/erp5/-/commit/c6d6ef7536e9a0348a072fff89f734f4f24ef307put activity_tool and request values in ActiveWrapper.2013-05-21T21:37:04+02:00Kazuhiko Shiozakikazuhiko@nexedi.com
so that we can call ActivityTool.activateObject() with not only by
object but also by it's path.
Signed-off-by: <span data-trailer="Signed-off-by:" data-user="23"><a href="https://lab.nexedi.com/vpelletier" title="vincent@nexedi.com"><img alt="Vincent Pelletier's avatar" src="https://secure.gravatar.com/avatar/827d4f3a555dce68184674f23bcc3f5c?s=32&d=identicon" class="avatar s16 avatar-inline" title="Vincent Pelletier"></a><a href="https://lab.nexedi.com/vpelletier" title="vincent@nexedi.com">Vincent Pelletier</a> <<a href="mailto:vincent@nexedi.com" title="vincent@nexedi.com">vincent@nexedi.com</a>></span>https://lab.nexedi.com/nexedi/erp5/-/commit/362842c57033448d614c1b8054f3fdae6edb8910fix test by passing a real request2013-05-21T17:44:02+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/50bcc2cf038761bf6754e560c65e7463f807a97aBase_callDialogMethod should not fail if a request key is not a string2013-05-21T17:05:35+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/79f99a147879b855586fd195dedc3b392839a85bdisplay translated title of CRM resources2013-05-21T16:50:53+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/a8b2267c0b8b7bfe1047f6301d86fc6a24add9abBudget Consumption Report: allow filtering by budget model and budget type2013-05-21T16:47:07+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/e5be9d4f9381f1378f1967cec1ce8a1b17721658Allow deletion on embedded workflow2013-05-21T16:46:26+02:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/f3f738ffca6ecbb19f9f67e32fb7ce2e8671a2c9use bigger cache for the list of accounts2013-05-21T16:46:25+02:00Jérome Perrinjerome@nexedi.com