1. 01 Oct, 2019 2 commits
  2. 02 Oct, 2019 1 commit
  3. 19 Sep, 2019 1 commit
  4. 27 Jun, 2019 1 commit
  5. 26 Jun, 2019 3 commits
  6. 02 May, 2019 3 commits
    • Denis Laxalde's avatar
      Added tag 0.17.0 for changeset 0a565615f0d5 · c339778239a5
      Denis Laxalde authored
    • Denis Laxalde's avatar
      [pkg] Version 0.17.0 · 0a565615f0d5
      Denis Laxalde authored
    • Denis Laxalde's avatar
      [profile gen] Account for bdo's user cardinality or its parent's in... · fcb890e6d9d7
      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
  7. 23 Apr, 2019 1 commit
    • Denis Laxalde's avatar
      [test] Specify bdo's user_cardinality in test_seda_0_2_bordereau_ref · 1fe87336af7c
      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.
  8. 26 Apr, 2019 1 commit
  9. 24 Apr, 2019 1 commit
  10. 08 Mar, 2019 3 commits
  11. 20 Dec, 2018 2 commits
  12. 14 Dec, 2018 2 commits
    • Denis Laxalde's avatar
      [hooks] Delete binary DO when deleting an archive unit not related to a profile · 30e67f4f9e29
      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
      Accordingly, we rename hook and operation classes and update their
      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
    • Denis Laxalde's avatar
      Refactor conditional logic in SimplifiedProfileDelRefROHook a bit · 049322b9d8ee
      Denis Laxalde authored
      This is a preparatory refactoring to ease introduction of a functional
      change in the next changeset.
  13. 29 Nov, 2018 3 commits
    • Denis Laxalde's avatar
      Added tag 0.15.1 for changeset c44cc9226387 · 181f83e6b545
      Denis Laxalde authored
    • Denis Laxalde's avatar
      [pkg] Version 0.15.1 · c44cc9226387
      Denis Laxalde authored
    • Denis Laxalde's avatar
      Make "seda.tree" component selectable for all items of the SEDA tree · 820fbe858027
      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.
  14. 29 Oct, 2018 4 commits
  15. 19 Oct, 2018 1 commit
    • Denis Laxalde's avatar
      Delete "container" relation on archive unit when unlinked from a profile · 359177d6a1c8
      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
      - 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
      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
  16. 09 Oct, 2018 2 commits
  17. 01 Oct, 2018 1 commit
    • Frank Bessou's avatar
      Import cubicweb_skos instead of cubes.skos · 9e6614f4159d
      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.
  18. 27 Sep, 2018 2 commits
    • Frank Bessou's avatar
      Make ProfileTreeComponent abstract · 0b663b4c509f
      Frank Bessou authored
      We make ProfileTreeComponent abstract to avoid selecting it for any
      entity that can be adapted to ITreeBase. Indeed, we don't want Concepts
      to be rendered as contextual components in cube saem.
      We then create a TransferTreeComponent extending ProfileTreeComponent
      the same way we made the UnitTreeComponent.
    • Frank Bessou's avatar
      Make the component_unit predicate work with non seda entities · 4f0b259e419e
      Frank Bessou authored
      In the component_unit predicate, we handle the case where
      _seda_container_from_context returns None by returning 0.
      This can be the case when the predicate is called with a non seda
  19. 26 Jun, 2018 2 commits
  20. 19 Jun, 2018 1 commit
    • Denis Laxalde's avatar
      Make generation of xml:id attribute configurable through an adapter · d945aaa3f821
      Denis Laxalde authored
      The idea is to have the generation of xml:id attribute configurable
      based on entity context. So we create an entity adapter IXmlId that
      default to the current implementation. This will be extended in
      cubicweb-saem_ref where we'd want to use the ARK identifier to produce
      this xml:id attribute.
      In profile_generation module, we rename eid2xmlid function as xmlid and
      make it accept an entity.
  21. 20 Feb, 2018 3 commits
    • Denis Laxalde's avatar
      Added tag 0.13.2 for changeset f30a729c4a9d · 97b06a36d104
      Denis Laxalde authored
    • Denis Laxalde's avatar
      [pkg] Version 0.13.2 · f30a729c4a9d
      Denis Laxalde authored
    • Denis Laxalde's avatar
      Rely on cubicweb-skos's extid2eid mapping during LCSV data import · 960c8c66cfc2
      Denis Laxalde authored
      We drop monkeypatches and hacks introduced in 49d118aa8254 in 2016 which
      were supposed to be transient waiting for a cubicweb-skos release which
      came a long time ago now.
      Now we build the extid2eid dict before importing LCSV concept schemes
      and pass it to store_skos_extentities() so that it will be re-used for
      all files instead of re-built. Both lcsv_import and lcsv_check functions
      are updated, as the latter is used in test_dataimport.py as a kind of
      "mock" but must respect the former's interface. Also note that we now
      have to update 'extid2eid' dict after creating a new concept scheme
      (with init_seda_scheme()): while this sounds perfectly reasonable, I
      don't completely understand how this works without this before...
      We update requirement on cubicweb-skos so that the latest release is
      used (though some previous release would probably work as well, but I'm
      not sure which and it's not so easy to test).