erp5:c88925b1ef8008bb8b3bdbdbb6992aee098e6086 commitshttps://lab.nexedi.com/nexedi/erp5/-/commits/c88925b1ef8008bb8b3bdbdbb6992aee098e60862019-10-24T15:24:23+00:00https://lab.nexedi.com/nexedi/erp5/-/commit/c88925b1ef8008bb8b3bdbdbb6992aee098e6086erp5_project: set project view forms as lists2019-10-24T15:24:23+00:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/6b078aa47e606d6ce255f72359a4dd0a21a50339erp5_project: new support request view and domain2019-10-23T16:01:03+00:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/26a666fad884e86648715150948a02739b1cb798erp5_web_project_ui_test : initial commit2019-10-23T17:55:43+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/6ec4403c57f7ecc38f872490c34b07d83f6d8cc6erp5_project: new portal domains, scripts and forms for project management views2019-10-23T17:55:43+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/5591672a4ab8463c6a14b633f16b22e202a6e67berp5_web_project_ui: initial commit for project.nexedi.net2019-10-23T17:55:45+02:00Roque Porchettoroque.porchetto@nexedi.com- new skin folder with project quick view form, scripts and gadgets
- front page redirects to custom project modulehttps://lab.nexedi.com/nexedi/erp5/-/commit/81cbdb278f02fba83f1a5ed118d691dd8d46e9cf[HARDCODED] run only Project tests2019-10-23T17:55:43+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/12e464cf2fe7465ec9488c6cbfa452e7b9c03cd1[erp5_core/erp5_web_rjs_ui] jIO 3.41.12019-10-10T14:09:43+02:00Klaus Woelfelklaus@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/9604d8b5d3a2f0f450c431bf24c0580298bf5d8aerp5.util: Release erp5.util (0.4.64)2019-10-10T16:17:45+09:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/1172ff04a5457203f1bfbe0b43200da4ef72d81btestERP5TestNode: remove outdated XXX comment2019-10-10T08:53:51+02:00Jérome Perrinjerome@nexedi.com
When running tests the path to git command is just git, because we have
set $PATHhttps://lab.nexedi.com/nexedi/erp5/-/commit/b76875d6cb6428f4900eba82539a6df47cd44916testnode: fix Computer.updateConfiguration call2019-10-10T08:53:32+02:00Jérome Perrinjerome@nexedi.com
updateConfiguration is a method to set the list of partitions, not to
add partitions to an existing computer. The previous (slapos.core
<1.5.0) implementation of slap proxy was incorrect and was adding more
partitions each time it was called, but that was never the indented
behavior.
Prepare the list of partitions and call updateConfiguration only once to
set all partitions.
This should fix SLAPOS-SR-TEST that are still using erp5.utilhttps://lab.nexedi.com/nexedi/erp5/-/commit/0e0e240f461729d6f1fc7b57432bbb93fdf77b8btestERP5TestNode: make tests properly isolated2019-10-10T07:16:34+02:00Jérome Perrinjerome@nexedi.com
Some tests where patching SlapOSControler to replace methods by a no-op,
but this was never reset. I believe we should rewrite this using mock
which takes care of un-doing the patches for us and makes this testing
easier, but for now I'm just reseting the missing methods like all
others were already reseted.https://lab.nexedi.com/nexedi/erp5/-/commit/4b752bdb9ab23f75201b56ed1d03681132823108testERP5TestNode: fix fake config2019-10-10T07:16:25+02:00Jérome Perrinjerome@nexedi.com
configparser read options as strings, node_quantity is not supposed to
be an int.https://lab.nexedi.com/nexedi/erp5/-/commit/dab9e278c1c4cf34f4bc2232595aec568f0c4b81testnode: python3 support2019-10-10T07:16:24+02:00Jérome Perrinjerome@nexedi.com
pkg_resources.resource_string reads the file as binary, if we want to
substitute in this string we need to decode it.https://lab.nexedi.com/nexedi/erp5/-/commit/b58aeb239881368e5269e01020839acc370dbe90ZODB Components: Monkey patch pylint to avoid 'No config file found, using...2019-10-10T07:48:24+09:00Arnaud Fontainearnaud.fontaine@nexedi.comZODB Components: Monkey patch pylint to avoid 'No config file found, using default configuration' on stderr.
Another solution could have been to have a configuration file for pylint instead
of command line arguments but it depends on the type of Component (for example
'Interface Component' has specific arguments).
https://lab.nexedi.com/nexedi/erp5/-/commit/f9e67207d5c3723941bfdd2333d40dc173a149d5Value of text_content is an unicode string whose (inside XML) encoding is...2019-10-09T13:09:43+03:00Ivan Tyagovivan@nexedi.comValue of text_content is an unicode string whose (inside XML) encoding is utf-8. This inconsistency raises in xml library thus it is safer to convert back to utf-8 which is the intended encoding anyway.
https://lab.nexedi.com/nexedi/erp5/-/commit/f83f35e4d6e3c16d4887ab7a18e163ac027fdf92ZODB Components: Migrate ERP5ShortMessage Product and fix pylint warnings.2019-10-09T18:47:53+09:00Arnaud Fontainearnaud.fontaine@nexedi.com
After upgrading bt5s, portal_sms may still ERP5BaseBroken until restarting Zope.https://lab.nexedi.com/nexedi/erp5/-/commit/d8961c5195a214ec1257cfea55762360cba06b14ZODB Components: Allow migration of {Interface,Mixin,Module,Tool} from...2019-10-09T18:47:52+09:00Arnaud Fontainearnaud.fontaine@nexedi.comZODB Components: Allow migration of {Interface,Mixin,Module,Tool} from Business Template UI and on all Products (not only Products.ERP5).
This introduces the following new ZODB Components:
+ Module Component: Non-Documents/non-persistent classes of modules usually
found at the top-level of Products (eg Products.ERP5.XXX) on FS. Considering
that all other Components types are actually Modules, make it the base class.
+ Tool Component: Tool directory of Products on FS (eg Products.ERP5.Tool.XXX).
=> DiffTool and CallableTool are now 'Tool Component' instead of plain
'Document Component' and properly registered as Tools like FS Products Tool.
Skip CMFActivity and HBTreeFolder2 Products for now in migration View for now as
almost many Portal Type classes have ActiveObject or HBTreeFolder2 in their MRO
and these Products will be done at the end anyway...
https://lab.nexedi.com/nexedi/erp5/-/commit/a4e63da9f2227d2e40ff6aba839a3808e1cc35c8erp5_officejs_ooffice: enable readonly view for non-only-office documents2019-10-09T09:19:57+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/20f0dae9bad17cf0861b1398222fe7899ac71ca4erp5_officejs: enable readonly view for non-only-office documents2019-10-09T09:19:57+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/fd45d525bfe237a6e8ac089eb5db617f64421817erp5_officejs: fix sync on every page reload2019-10-09T09:19:57+02:00Roque Porchettoroque.porchetto@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/e5f90f35ce611afa3a1e3ba9a9eaa8ef0d1257e4erp5.util: Release erp5.util (0.4.63)2019-10-08T18:15:34+09:00Jérome Perrinjerome@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/0d6acef7d92363dd13e5c4f3deb444eec7090a8dOptimize pickles of rotated buckets in WorkflowHistoryList2019-10-08T11:04:41+02:00Julien Muchembledjm@nexedi.com
This often divides the size by ~3,
and also memory usage if it is loaded again.https://lab.nexedi.com/nexedi/erp5/-/commit/7a1763a9719ea08963cbe7ebcda161b2a2aedb3b[erp5_core/erp5_web_rjs_ui] jIO 3.41.02019-10-08T09:43:43+02:00Klaus Woelfelklaus@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/2f25a327131cadf93a98ace2ec225df1019f67d1testnode: import xml2dict from its new place2019-10-08T09:11:39+02:00Jérome Perrinjerome@nexedi.com
See <a href="https://lab.nexedi.com/nexedi/slapos.core/commit/42b55b5f5c04b946d1e2f302fcce09d8cdbdaaa0" data-original="https://lab.nexedi.com/nexedi/slapos.core/commit/42b55b5f5c04b946d1e2f302fcce09d8cdbdaaa0" data-link="false" data-link-reference="true" data-project="77" data-commit="42b55b5f5c04b946d1e2f302fcce09d8cdbdaaa0" data-reference-type="commit" data-container="body" data-placement="top" data-html="true" title="Synchronise xml2dict and dict2xml" class="gfm gfm-commit has-tooltip">slapos.core@42b55b5f</a>https://lab.nexedi.com/nexedi/erp5/-/commit/dde46fed9d3c8614da067c6a9ba3a1c9f1f4ff6dGet rid of Products.CMFDefault.utils2019-10-07T17:20:04+02:00Bryton Lacquementbryton.lacquement@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/c21014cde88f5f281a619097b52f178fb1e86edd[erp5_web_renderjs_ui_test] Ensure the content is fully loaded before saving2019-10-07T16:54:29+02:00Romain Courteaudromain@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/7047b7d800d6eb8dd30241d455326500c6534775CSS: add support for hiding the header or footer of Listbox2019-10-07T15:33:28+02:00Georgios Dagkakisgeorgios.dagkakis@nexedi.com
Classes to hide the header or the footer of a Listbox in new render-js and the header in xhtml (since there we have nothing in the footer anyway)
/reviewed-on <a href="https://lab.nexedi.com/nexedi/erp5/merge_requests/947" data-original="https://lab.nexedi.com/nexedi/erp5/merge_requests/947" data-link="false" data-link-reference="true" data-project="1" data-merge-request="3294" data-project-path="nexedi/erp5" data-iid="947" data-mr-title="CSS: add support for hiding the header or footer of Listbox" data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">nexedi/erp5!947</a>https://lab.nexedi.com/nexedi/erp5/-/commit/c6b48d38e358843338ed9ebd67868c4f21259208Speed up getCreationDate2019-10-07T15:32:17+02:00Julien Muchembledjm@nexedi.com
/reviewed-on <a href="https://lab.nexedi.com/nexedi/erp5/merge_requests/934" data-original="https://lab.nexedi.com/nexedi/erp5/merge_requests/934" data-link="false" data-link-reference="true" data-project="1" data-merge-request="3252" data-project-path="nexedi/erp5" data-iid="934" data-mr-title="Speed up getCreationDate" data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">!934</a>https://lab.nexedi.com/nexedi/erp5/-/commit/2e8be7fc0610cd0e7b8e4c2e1c4a974ebeae8b9btestnode: avoid testnode crash when trying to kill a process already dead2019-10-07T12:28:50+02:00Sebastien Robinseb@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/63b943c6bfb9d9f31f6f058c1f4589e635128da2erp5_xhtml_style: CSS: add support for hiding the header of Listbox2019-10-07T09:49:59+02:00Georgios Dagkakisgeorgios.dagkakis@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/7878187764ca0bbb7541373bee5309570fa963aberp5_web_renderjs_ui: CSS: add support for hiding the header or footer of Lis...2019-10-07T09:49:51+02:00Georgios Dagkakisgeorgios.dagkakis@nexedi.comhttps://lab.nexedi.com/nexedi/erp5/-/commit/ddab98f97ff6f4222cd8c104e203825ccddc2037erp5_officejs: minor refactoring and fixes on new officejs approach2019-10-05T11:57:51+02:00Roque Porchettoroque.porchetto@nexedi.com- redirect to sync when app version changes
- fix configuration searchable fields in list form
- fix codemirror editor gadgetField
- fix exception catch in action script
- handle jio not found error for documenthttps://lab.nexedi.com/nexedi/erp5/-/commit/33a1d714ee9bca6c2131aebf0a232bec51eb8b58erp5_officejs_ooffice: refactoring, all only office apps share common gadgets2019-10-05T11:57:51+02:00Roque Porchettoroque.porchetto@nexedi.com- document view
- upload and downloadhttps://lab.nexedi.com/nexedi/erp5/-/commit/1ee08278712bb849fd5463430ba885b166e32ef6ZODB Components: Prepare ERP5ShortMessage Product for migration from FS.2019-10-05T10:17:25+09:00Arnaud Fontainearnaud.fontaine@nexedi.com
* Add erp5_core_proxy_field_legacy to dependencies (because of (at least) my_password).
* Rename ERP5ShortMessage.Errors module because the name is too generic for a 'Module Component'.
* Fix type_class of SMSTool: This should be the name of the class only, excluding the module.
* Add missing __init__.py to tests directory so that it can be migrated.https://lab.nexedi.com/nexedi/erp5/-/commit/1ca655a3099455e5dded1433b20de2ecfc110fb9Optimize WorkflowHistoryList2019-10-04T17:28:21+02:00Julien Muchembledjm@nexedi.com
This is done by inheriting most of the code of ConflictFreeLog,
i.e. using a doubly-linked list:
- for fast iteration of the first elements, and in particular
immediate access to the first element (used for creation date);
- that keeps track of the history length;
- that implement fast reverse iteration (although it could
have been done without changing the data structure).
The size of buckets is not fixed anymore to 16 items:
like ConflictFreeLog, WorkflowHistoryList is also a good candidate
to look at the estimated serialized size of the bucket in order to
decide if elements should be added to a new one or not.
Then developers won't have to care about using Pdata or not.
The size is bigger than the ConflictFreeLog default,
because workflow items look a lot alike and adding
a few more is cheap when the ZODB compresses.
No more optimized __getstate__ (except for workflow histories that
have not been migrated) so BT export will be a bit more verbose.
The BBB code is because of
<a href="https://lab.nexedi.com/nexedi/erp5/merge_requests/934" data-original="https://lab.nexedi.com/nexedi/erp5/merge_requests/934" data-link="false" data-link-reference="true" data-project="1" data-merge-request="3252" data-project-path="nexedi/erp5" data-iid="934" data-mr-title="Speed up getCreationDate" data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">nexedi/erp5!934</a>
/reviewed-on <a href="https://lab.nexedi.com/nexedi/erp5/merge_requests/941" data-original="https://lab.nexedi.com/nexedi/erp5/merge_requests/941" data-link="false" data-link-reference="true" data-project="1" data-merge-request="3280" data-project-path="nexedi/erp5" data-iid="941" data-mr-title="Optimize WorkflowHistoryList" data-reference-type="merge_request" data-container="body" data-placement="top" data-html="true" title="" class="gfm gfm-merge_request">nexedi/erp5!941</a>https://lab.nexedi.com/nexedi/erp5/-/commit/694c9feea0cb546f670246a850677e2a9cd3f757ZODB Components: Before migrating Interfaces from FS, there must be one...2019-10-04T20:17:32+09:00Arnaud Fontainearnaud.fontaine@nexedi.comZODB Components: Before migrating Interfaces from FS, there must be one Interface class per source file matching its name.
Same as Document class: this avoids registering Interfaces at startup and just do it
when using the Interface. In assuming that portal_components/XXX has a class
name equals to XXX.getRference(), it is easier to:
* List all existing Interfaces (for example in Portal Type Class view): getReference()
on all validated 'Interface Component' in portal_components.
* Lookup for an 'Interface Component': 'from erp5.component.interfaces.XXX import XXX'.
https://lab.nexedi.com/nexedi/erp5/-/commit/d9627917c7a901d0c4c47cdf089bffb5d9b66786ZODB Components: Properly handle addition of template_* properties in...2019-10-04T17:43:43+09:00Arnaud Fontainearnaud.fontaine@nexedi.comZODB Components: Properly handle addition of template_* properties in BusinessTemplate PropertySheet.
On the plus side, this avoids an ugly 'except AttributeError: pass' which does
not work anyway with the scenario below.
Assuming the following:
* template_XXX Property (accessor: getTemplateXXX) recently added to BusinessTemplate PropertySheet.
* erp5_YYY sets template_A Property (erp5_YYY/bt/template_XXX.xml).
This commit handles the following:
1. Stop instance with old ERP5 without template_XXX.
2. Update erp5.git.
3. Start instance.
4. Upgrade erp5_property_sheets and erp5_YYY bt5s in *one* transaction from portal_templates UI.
=> When upgrading erp5_YYY, BusinessTemplate.importFile() imports erp5_YYY/bt/*.xml where the
list of files is based on BusinessTemplate class propertyMap(), but at this point accessors
have not been re-generated yet, thus template_XXX is not returned by propertyMap() and
erp5_YYY/bt/template_XXX.xml is not imported.
=> portal_templates/erp5_YYY new BT does not have template_XXX property set at all.
https://lab.nexedi.com/nexedi/erp5/-/commit/0a66e5148d7da78c380fc3e3e2095e1c413f0060Default ERP5 instanciation uses following schema for naming all zope nodes:2019-10-04T09:26:13+03:00Ivan Tyagovivan@nexedi.com <family_name>-0..9 when number of nodes <= 10
<family_name>-01..09 (or n) when number of nodes > 10
In scalability tests instance keeps track of old used nodes and when nodes > 10
will pick by default sort "activity-0" which is NO longer an existing zope process.
This is an ugly fix and real woraround is to have something like activities-000x schema by defaulthttps://lab.nexedi.com/nexedi/erp5/-/commit/a3c40d0b7e717daa9ffe7e1ef7ac97859b2bc32erunUnitTest: 6f1c45c6 wrongly assumed that '--erp5_sql_connection_string' is ...2019-10-04T12:32:35+09:00Arnaud Fontainearnaud.fontaine@nexedi.com
This is the case with runUnitTest wrapper created by SlapOS but is not actually required
as manage_addERP5Site has 'test test' as default value.
This fixes:
File "custom_zodb.py", line 70, in <module>
sql_db = Products.ZMySQLDA.db.DB(os.environ['erp5_sql_connection_string'])
File "UserDict.py", line 40, in __getitem__
raise KeyError(key)
KeyError: 'erp5_sql_connection_string'https://lab.nexedi.com/nexedi/erp5/-/commit/c0b8e03e72df5624a66a2701ec9f4ae175ebab5daccounting_ui_test: fix flaky test_accounting_transaction_module_empty_transa...2019-10-03T06:43:10+02:00Jérome Perrinjerome@nexedi.com
This module is not sorted, we cannot just do assertions based on line
index.
Instead we do two different approaches:
- When there is only one "empty" draft transaction, we check locate the
line based on the state cell and then check each cell relatively to that
first xpath
- After we had a second draft, we just check that we have two lines
matching each cell predicate.