Skip to content

Commit 0f4ce10

Browse files
author
Austin Schaffer
committed
Refactored ExtractArchivalObjectContainer function to accept a topcontainer object
1 parent 08eb964 commit 0f4ce10

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

Aeon-ArchivesSpace-Addon/Aeon-ArchivesSpace.lua

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,8 @@ function PopulateDataGrid()
391391

392392
for _, v in ipairs(archivalObject.instances) do
393393
local itemRow = itemsDataTable:NewRow();
394-
availableData["ArchivalObjectContainer"] = ExtractArchivalObjectContainer(sessionId, v);
394+
local topContainer = GetTopContainerFromAPI(sessionId, v)
395+
availableData["ArchivalObjectContainer"] = ExtractArchivalObjectContainer(v, topContainer);
395396
itemRow:set_item(mapping["Title"].ItemGridColumn, availableData[mapping["Title"].AspaceData]);
396397
itemRow:set_item(mapping["SubTitle"].ItemGridColumn, availableData[mapping["SubTitle"].AspaceData]);
397398
itemRow:set_item(mapping["CallNumber"].ItemGridColumn, availableData[mapping["CallNumber"].AspaceData]);
@@ -503,7 +504,17 @@ function ExtractDigitalObjectCitation(sessionId, json)
503504
return availableData;
504505
end
505506

506-
function ExtractArchivalObjectContainer(sessionId, archivalObjectInstance)
507+
function GetTopContainerFromAPI(sessionId, archivalObjectInstance)
508+
if (archivalObjectInstance.sub_container ~= nil and archivalObjectInstance.sub_container ~= JsonParser.NIL) then
509+
local topContainerUri = archivalObjectInstance.sub_container.top_container.ref;
510+
local topContainer = ArchivesSpaceGetRequest(sessionId, topContainerUri);
511+
return topContainer
512+
end
513+
514+
return nil
515+
end
516+
517+
function ExtractArchivalObjectContainer(archivalObjectInstance, topContainer)
507518
local container = "";
508519

509520
if (archivalObjectInstance.container ~= nil and archivalObjectInstance.container ~= JsonParser.NIL) then
@@ -514,9 +525,7 @@ function ExtractArchivalObjectContainer(sessionId, archivalObjectInstance)
514525
if (archivalObjectInstance.container.type_2 ~= nil and archivalObjectInstance.container.type_2 ~= JsonParser.NIL) then
515526
container = container .. ', ' .. archivalObjectInstance.container.type_2 .. " " .. archivalObjectInstance.container.indicator_2;
516527
end
517-
elseif(archivalObjectInstance.sub_container ~= nil and archivalObjectInstance.sub_container ~= JsonParser.NIL) then
518-
local topContainerUri = archivalObjectInstance.sub_container.top_container.ref;
519-
local topContainer = ArchivesSpaceGetRequest(sessionId, topContainerUri);
528+
elseif (topContainer) then
520529
container = topContainer.long_display_string;
521530
end
522531

0 commit comments

Comments
 (0)