/** * Delete listmapping * * @param \Aijko\SharepointConnector\Domain\Model\Mapping\Lists $list * @return void */ public function deleteListAction(\Aijko\SharepointConnector\Domain\Model\Mapping\Lists $list) { $this->mappingListsRepository->remove($list); $this->flashMessageContainer->add('ListMapping "' . $list->getSharepointListTitle() . '" was deleted.'); Logger::info('MappingController:deleteAction', array('listMappingUid' => $list->getUid(), 'sharepointListIdentifier' => $list->getSharepointListIdentifier(), 'typo3ListTitle' => $list->getTypo3ListTitle())); $this->redirect('list'); }
/** * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Aijko\SharepointConnector\Domain\Model\Sharepoint\RecordResult> $resultObject * @return array */ public function process(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $resultObject) { $this->objectManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager'); $this->mappingListsRepository = $this->objectManager->get('Aijko\\SharepointConnector\\Domain\\Repository\\Mapping\\ListsRepository'); $this->sharepointListsRepository = $this->objectManager->get('Aijko\\SharepointConnector\\Domain\\Repository\\Sharepoint\\ListsRepository'); $updateResults = array(); foreach ($resultObject as $recordResult) { $list = $recordResult->getList(); $listMapping = $this->mappingListsRepository->findByUid($list->getUid()); foreach ($listMapping->getAttributes() as $attribute) { if ('Lookup' != $attribute->getType()) { continue; } $targetUidFromLookup = $this->getTargetUidFromLookup($attribute->getLookuplist(), clone $resultObject); if (!$targetUidFromLookup) { continue; } $updateResults[] = $this->sharepointListsRepository->updateRecord($list->getSharepointListIdentifier(), $recordResult->getId(), array($attribute->getSharepointFieldName() => $targetUidFromLookup)); } } return $updateResults; }
/** * Add to multiple lists * * $data[LIST_UID][ATTRIBUTE_NAME] * * @param array $data * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Aijko\SharepointConnector\Domain\Model\Sharepoint\RecordResult> */ public function addToMultipleLists(array $data) { $objectStorage = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\ObjectStorage'); if (!is_array($data) || empty($data)) { return $objectStorage; } foreach ($data as $listUid => $postData) { $record = $this->objectManager->get('Aijko\\SharepointConnector\\Domain\\Model\\Sharepoint\\Record'); $list = $this->mappingListsRepository->findByUid($listUid); $record->setList($list); $record->setData($postData); $objectStorage->attach($this->addRecordToList($record)); } return $objectStorage; }