Skip to content
Snippets Groups Projects
Commit d2de21a2 authored by Torsten Oppermann's avatar Torsten Oppermann
Browse files

[TASK]Migrating edited templates in database

parent 4e649d71
No related branches found
No related tags found
No related merge requests found
......@@ -209,13 +209,13 @@ class ConfigurationController extends ActionController {
$templateName = $configuration['templateName'];
$extensionKey = $configuration['extensionKey'];
$oldTemplateName = $configuration['oldTemplateName'];
$oldExtensionKey = $configuration['oldExtensionKey'];
$csv = str_replace("\r", '', $configuration['csv']);
$subject = $configuration['subject'];
$description = $configuration['description'];
$markersCsv = \explode("\n", $csv);
$markers = [];
foreach ($markersCsv as $markerCsv) {
$rowArray = str_getcsv($markerCsv, ';');
if (!$rowArray[0]) {
......@@ -227,7 +227,9 @@ class ConfigurationController extends ActionController {
'description' => $rowArray[2]
];
}
$registerService = $this->objectManager->get(RegisterService::class);
$registerService->migrateTemplateEntries($oldTemplateName, $oldExtensionKey, $templateName, $extensionKey);
$registerService->deleteRegisterFile($oldTemplateName);
$registerService->writeRegisterFile(
$templateName, $extensionKey, $markers, $subject, $description
......
......@@ -386,4 +386,35 @@ class RegisterService implements \TYPO3\CMS\Core\SingletonInterface {
return TRUE;
}
/**
* Update an edited template entry, so that it uses the new keys
*
* @param string $oldTemplateName
* @param string $oldExtensionKey
* @param string $newTemplateName
* @param string $newExtensionKey
*/
public function migrateTemplateEntries(
string $oldTemplateName, string $oldExtensionKey,
string $newTemplateName, string $newExtensionKey
): void {
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable(
'tx_sgmail_domain_model_template'
);
$queryBuilder->update('tx_sgmail_domain_model_template')
->where(
$queryBuilder->expr()->eq('extension_key', '"' . $oldExtensionKey . '"')
)
->andWhere(
$queryBuilder->expr()->eq('template_name', '"' . $oldTemplateName . '"')
)
->set(
'extension_key', $newExtensionKey
)
->set(
'template_name', $newTemplateName
)
->execute();
}
}
......@@ -28,6 +28,7 @@
<div class="col-xs-12 col-md-10 col-md-offset-1">
<f:form.hidden name="extensionKey" value="{selectedExtensionKey}"/>
<f:form.hidden name="oldTemplateName" property="oldTemplateName" value="{templateName}"/>
<f:form.hidden name="oldExtensionKey" property="oldExtensionKey" value="{selectedExtensionKey}"/>
<div class="form-group">
<label for="extensionKey"><f:translate key="backend.create.extensionKey" /></label>
<f:form.textfield class="form-control" property="extensionKey" id="extensionKey" required="TRUE" value="{extensionKey}" />
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment