- 02 Oct, 2019 8 commits
-
-
Denis Laxalde authored
`max(maxc, maxvalue)` would evaluate to `max("Infinity", <some integer>)` when maxc is graph_nodes.INFINITY. While this works on python2 (by chance, since strings and integers can be compared), this does not on python3. We thus move the "if" that checks for graph_nodes.INFINITY inside the "for" loop.
-
Denis Laxalde authored
-
Denis Laxalde authored
In python3, lxml.etree.tostring returns bytes but we expect text in tests. By passing six.text_type as encoding parameter to this function, it returns a unicode string.
-
Denis Laxalde authored
-
Denis Laxalde authored
-
Denis Laxalde authored
* Use io.BytesIO instead of StringIO.StringIO. * Explicitly encode strings before writing to stream. * Decode results before string comparisons in tests.
-
Denis Laxalde authored
-
Denis Laxalde authored
-
- 01 Oct, 2019 2 commits
-
-
Denis Laxalde authored
Still avoid 0.9.0 version of cubicweb-eac which contains breaking changes.
-
Denis Laxalde authored
-
- 02 Oct, 2019 1 commit
-
-
Denis Laxalde authored
-
- 19 Sep, 2019 1 commit
-
-
Denis Laxalde authored
-
- 27 Jun, 2019 1 commit
-
-
Denis Laxalde authored
-
- 26 Jun, 2019 3 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
We change the translation of this field for archive transfer, archive unit and binary data object entity types. Indeed, this actually corresponds to the entity label not a description of expected value in generated profile.
-
Denis Laxalde authored
-
- 02 May, 2019 3 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
Denis Laxalde authored
[profile gen] Account for bdo's user cardinality or its parent's in "Integrity" element (CONSEJIRA-663) See also https://jira.mtpl.bs.fr.atos.net/browse/CONSEJIRA-663 For more details, quoting verbatim the customer request for future reference: | Sur les documents multi occurrences (0-n ou 1-n) ou même si l’archive | est multi occurrence (0-n ou 1-n), il y a une balise integrity qui est | liée au document dans le bordereau de versement que l’on génère. | Or, dans le XSD du profil, la balise integrity du document ne possède | pas l'attribut : maxOccurs="unbounded" | Donc lors de l'envoi à Asalae du versement, Asalae fait une vérification | par rapport au profil et affiche une erreur a cause de la balise | integrity qui est présente plusieurs fois. | | Pour moi le correctif à faire doit porter sur le XSD et le RNG sur la | balise integrity pour qu'elle soit multi-occurrence possible dans les cas | suivants : | | * Si le document (Document) est en multi occurrence (0-n ou 1-n) | donc avec un attribut maxOccurs="unbounded" | * Si une UA (Contains) supérieure au document est en multi | occurrence (0-n ou 1-n) donc avec un attribut | maxOccurs="unbounded" | si une UA supérieur est en cardinalité max unbounded, alors | l'integrity sur les documents en dessous doit forcément être en | unbounded également | il faut que l'integrity soit en facultative ou multi occurrence si une | UA supérieure est facultative ou en multi occurrence. This is essentially achieved by looking for the upper parent archive units of a data object then their cardinality to produce the Integrity element. Adding tests for new integrity_cardinality() function based on customer examples.
-
- 23 Apr, 2019 1 commit
-
-
Denis Laxalde authored
In the next changeset, binary data object's user_cardinality will be accounted for when inserting the "Integrity" element in profile whereas it is currently hard-coded to "0..1" (see xsd_integrity() method of SEDA1XSDExport and SEDA02XSDExport classes). In order to prevent changes to generated profile with respect to the "seda_02_bordereau_ref.xml" file, we set the value of user_cardinality created bdo in this test.
-
- 26 Apr, 2019 1 commit
-
-
Denis Laxalde authored
-
- 24 Apr, 2019 1 commit
-
-
Denis Laxalde authored
Still log the information, just in case...
-
- 08 Mar, 2019 3 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
Denis Laxalde authored
We only update the file, that will be used in SAEM upon instance creation. We do not handle migration of existing instance.
-
- 20 Dec, 2018 2 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
- 14 Dec, 2018 2 commits
-
-
Denis Laxalde authored
We extend the logic of "seda.doref.del" hook so that it not only handles the case of "simplified profile" but also the case of archive unit not related to a profile. In the later case, we check that the container of "SEDABinaryDataObject" is really a "SEDAArchiveUnit" (not sure what else it could be) and trigger the operation deleting the binary data-object when its parent object reference (SEDADataObjectReference entity) is deleted. Accordingly, we rename hook and operation classes and update their docstring. This resolves CONSEJIRA-643 but making deletion of an archive unit containing a binary data object but not related to profile. New test goes into test_schema.py below other tests related to the hook we modified.
-
Denis Laxalde authored
This is a preparatory refactoring to ease introduction of a functional change in the next changeset.
-
- 29 Nov, 2018 3 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
Denis Laxalde authored
This follows-up on changeset 0b663b4c509f which made ProfileTreeComponent class abstract and introduced a regression in that the component was then only selectable for SEDAArchiveTransfer entities, hence making the tree component disappear when navigating to leafs of the tree. A concrete class of this component must exist for all possible entity types under a SEDAArchiveTransfer entity. We thus extend the selector of TransferTreeComponent (renamed as ProfileTreeComponent) to list all entity types. Accordingly, we make it clearer that the base class is abstract by renameing it.
-
- 29 Oct, 2018 4 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
Philippe Pepiot authored
-
Philippe Pepiot authored
This is known to produce non-reproductible tests. Furthermore we deploy using pip and virtualenv on Centos 7 but we are testing on Debian stretch, so testing global site package on jenkins has no advantage. Thus we can disable some whitelist_externals which are no longer required.
-
- 19 Oct, 2018 1 commit
-
-
Denis Laxalde authored
- Container machinery got introduced in 143ae7a4a964, at that time the "container" relation was mandatory (on subject) for all entity types. - Integrity of this relation relied on the assumption that the relation was mandatory. (I.e. all entities mush have a link to their container and the only way to remove this link is to remove the container entity itself). - In a88deb387b2b, this assumption got broken as "container" relation was made optional for SEDAArchiveUnit as a subject. From there, when an archive unit got unlinked from a profile (through deletion of the "seda_archive_unit" relation), a "container" relation remained set. - This is problem since permission (especially on "delete" action) relies on the presence or absence of this relation. For instance, one would get an error when trying to delete an archive unit they just unlinked from a profile because they have no rights to delete the profile. So we fix this by dropping the "container" relation when a "seda_archive_unit" relation is deleted through a new hook. Additional test goes in test_entities.py as other container-related tests live there. In migration, we drop spurious "container" relation (not sure there are some).
-
- 09 Oct, 2018 2 commits
-
-
Denis Laxalde authored
-
Denis Laxalde authored
-
- 01 Oct, 2018 1 commit
-
-
Frank Bessou authored
When both cubes.skos and cubicweb_skos are used to import the same module, appobjects are registered using the wrong objid. This is particularly problematic in register_and_replace function of registries which relies on the objid of appobjects to find which object to replace.
-