Numeric Data Types error on bulk edit job


#1

Hello all,

I have Omeka S v1.3.0 and recently upgraded to Numeric Data Type v1.3.0. I am getting this job error while making bulk edits to a non-numeric data field:

2019-05-03T17:11:02+00:00 ERR (3): Doctrine\ORM\ORMInvalidArgumentException: A new entity was found through the relationship 'NumericDataTypes\Entity\NumericDataTypesTimestamp#resource' that was not configured to cascade persist operations for entity: Omeka\Entity\Item@00000000555ae4550000000057864ed7. To solve this issue: Either explicitly call EntityManager#persist() on this unknown entity or configure cascade persist  this association in the mapping for example @ManyToOne(..,cascade={"persist"}). If you cannot find out which entity causes the problem implement 'Omeka\Entity\Resource#__toString()' to get a clue. in .../public_html/vendor/doctrine/orm/lib/Doctrine/ORM/ORMInvalidArgumentException.php:92

If I deactivate the Numeric module, the bulk edit job goes through just fine. Am I correct in thinking there’s data in the field that’s not Numeric (from before I installed the module) and that is causing the error?


#2

I can’t reproduce this bug. We’ve encountered errors similar to this one before so I think we can fix it, but I would like to reproduce the bug to verify. Could you take me through the exact steps that lead to this error?


#3

After further testing, it seems to work with ‘Edited selected’ if I select just the items on the first page, but not ‘Edit all’:

  1. Go to ‘Items’ and under ‘Batch actions’ select ‘Edit all’
  2. Click on ‘Add text value’ and for property, select ‘DC: Type’ and input “Text.” Hit ‘Save’
  3. The green alert says ‘Editing items. This may take a while.’
  4. Go to Admin > Jobs. The status indicates ‘Error’
  5. If I go to View Log, that’s when I get the error posted in the original post.

If in step 1, I only select items on the first page, I don’t get the error at all.

Thanks for taking a look at this!


#4

I’ve opened an issue in our issue tracker and will continue to troubleshoot the problem.