Skip to content

Commit a6b5855

Browse files
committed
fix: add data-collection-action attrib. to send data into pipeline
This is peculiar to the batch edit all in that it breaks the request into three bundles based on the type of action and unless this attribute is declared then the data will either be discarded or there will be no key to access it with.
1 parent 170510b commit a6b5855

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

Module.php

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,12 +1894,11 @@ public function itemUpdate(Event $event)
18941894
$logger = $this->getServiceLocator()->get('Omeka\Logger');
18951895
$teamAuth = new TeamAuth($em, $logger);
18961896
if ($operation == 'update') {
1897-
18981897
if(array_key_exists('remove_team', $request->getContent())) {
1899-
if (!is_array($request->getContent()['remove_team'])) {
1898+
if (!is_array($request->getContent()['remove_team'])) {
19001899
$remove = array($request->getContent()['remove_team']);
1901-
} else {
1902-
$remove = $request->getContent()['remove_team'];
1900+
} else {
1901+
$remove = $request->getContent()['remove_team'];
19031902
}
19041903
} else {
19051904
$remove = [];
@@ -1923,8 +1922,6 @@ public function itemUpdate(Event $event)
19231922
foreach ($entity->getMedia() as $media) {
19241923
$resource_ids[$media->getId()] = true;
19251924
}
1926-
1927-
19281925
foreach ($add as $team_id) {
19291926
//if the user is authorized to add items to that team
19301927
if ($teamAuth->teamAuthorized($this->getUser(),'add', 'resource', $team_id)) {
@@ -2509,12 +2506,15 @@ public function siteSettingsRemoveAutoAssign(Event $event)
25092506
//Add Team options to Batch Edit
25102507

25112508
/**
2512-
* Add "Add Team" and "Remove Team" select elements to the batch edit forme
2509+
* Add "Add Team" and "Remove Team" select elements to the batch edit form
25132510
* @param Event $event
25142511
* @return void
25152512
*/
25162513
public function addTeamToBatchEditForm(Event $event) {
25172514
$form = $event->getTarget();
2515+
if ('item' !== $form->getOption('resource_type')) {
2516+
return; // Include elements only on item batch edit.
2517+
}
25182518

25192519
$groups = $form->getOption('element_groups');
25202520
$groups['teams'] = 'Teams'; // @translate
@@ -2530,6 +2530,7 @@ public function addTeamToBatchEditForm(Event $event) {
25302530
],
25312531
'attributes' => [
25322532
'multiple' => true,
2533+
'data-collection-action' => 'append'
25332534
]
25342535

25352536
]);
@@ -2543,6 +2544,8 @@ public function addTeamToBatchEditForm(Event $event) {
25432544
],
25442545
'attributes' => [
25452546
'multiple' => true,
2547+
'data-collection-action' => 'append'
2548+
25462549
]
25472550
]);
25482551
$inputFilter = $form->getInputFilter();
@@ -2557,6 +2560,7 @@ public function addTeamToBatchEditForm(Event $event) {
25572560
}
25582561

25592562
public function processTeamBatchEditData (Event $event) {
2563+
$logger = $this->getServiceLocator()->get('Omeka\Logger');
25602564
$data = $event->getParam('data');
25612565
$rawData = $event->getParam('request')->getContent();
25622566

@@ -2573,25 +2577,6 @@ public function processTeamBatchEditData (Event $event) {
25732577
}
25742578

25752579

2576-
// public function batchAddRemoveTeam (Event $event) {
2577-
// $data = $event->getParam('request')->getContent();
2578-
// $item = $event->getParam('response')->getContent();
2579-
//
2580-
// if (!(isset($data['add_team']) && $data['add_team'])) {
2581-
// return;
2582-
// }
2583-
//
2584-
// $services = $this->getServiceLocator();
2585-
// $entityManager = $services->get('Omeka\EntityManager');
2586-
//
2587-
// $dql = 'DELETE FROM Mapping\Entity\MappingFeature m WHERE m.item = :item_id';
2588-
// $entityManager->createQuery($dql)
2589-
// ->setParameter('item_id', $item->getId())
2590-
// ->execute();
2591-
//
2592-
//
2593-
// }
2594-
25952580
public function bypassTeamFilterOnAdvancedSearch(Event $event)
25962581
{
25972582
$globalSettings = $this->getServiceLocator()->get('Omeka\Settings');
@@ -2613,6 +2598,7 @@ public function bypassTeamFilterOnAdvancedSearch(Event $event)
26132598
public function attachListeners(SharedEventManagerInterface $sharedEventManager)
26142599
{
26152600
$services = $this->getServiceLocator();
2601+
26162602
$sharedEventManager->attach(
26172603
'Omeka\Controller\Admin\Item',
26182604
'view.advanced_search',
@@ -2845,6 +2831,7 @@ public function attachListeners(SharedEventManagerInterface $sharedEventManager)
28452831
[$this, 'itemUpdate']
28462832
);
28472833

2834+
28482835
$sharedEventManager->attach(
28492836
'Teams\Controller\IndexController',
28502837
'api.execute.post',

0 commit comments

Comments
 (0)