Add XML export and export_category definition and Fix CS

nouveau fichier: core/lib/Thelia/Config/Resources/export.xml
	modifié:         core/lib/Thelia/Controller/Admin/CustomerExportController.php
	modifié:         core/lib/Thelia/Controller/Admin/ExportController.php
	modifié:         core/lib/Thelia/Controller/Admin/ImportExportController.php
	modifié:         core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterArchiveBuilderPass.php
	modifié:         core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterFormatterPass.php
	modifié:         core/lib/Thelia/Core/DependencyInjection/Loader/XmlFileLoader.php
	modifié:         core/lib/Thelia/Core/DependencyInjection/Loader/schema/dic/config/thelia-1.0.xsd
	modifié:         core/lib/Thelia/Core/Event/ImportExport/Export.php
	modifié:         core/lib/Thelia/Core/FileFormat/Archive/ArchiveBuilderManager.php
	modifié:         core/lib/Thelia/Core/FileFormat/Formatting/Formatter/JsonFormatter.php
	modifié:         core/lib/Thelia/Core/FileFormat/Formatting/Formatter/XMLFormatter.php
	modifié:         core/lib/Thelia/Core/FileFormat/Formatting/FormatterData.php
	modifié:         core/lib/Thelia/Core/FileFormat/Formatting/FormatterManager.php
	modifié:         core/lib/Thelia/Core/Template/Loop/ArchiveBuilder.php
	modifié:         core/lib/Thelia/Core/Template/Loop/Export.php
	modifié:         core/lib/Thelia/Core/Template/Loop/ExportCategory.php
	modifié:         core/lib/Thelia/Core/Template/Loop/Formatter.php
	modifié:         core/lib/Thelia/Core/Template/Loop/Import.php
	modifié:         core/lib/Thelia/Core/Template/Loop/ImportCategory.php
	modifié:         core/lib/Thelia/Core/Template/Loop/ImportExportCategory.php
	modifié:         core/lib/Thelia/Core/Template/Loop/ImportExportType.php
	modifié:         core/lib/Thelia/Exception/FileNotFoundException.php
	modifié:         core/lib/Thelia/Exception/FileNotReadableException.php
	modifié:         core/lib/Thelia/Exception/HttpUrlException.php
	modifié:         core/lib/Thelia/Form/ExportForm.php
	modifié:         core/lib/Thelia/ImportExport/Export/MailingExport.php
	modifié:         core/lib/Thelia/Model/Base/Export.php
	modifié:         core/lib/Thelia/Model/Base/ExportCategory.php
	modifié:         core/lib/Thelia/Model/Base/ExportCategoryQuery.php
	modifié:         core/lib/Thelia/Model/Base/ExportQuery.php
	modifié:         core/lib/Thelia/Model/Base/Import.php
	modifié:         core/lib/Thelia/Model/Base/ImportCategory.php
	modifié:         core/lib/Thelia/Model/Base/ImportCategoryQuery.php
	modifié:         core/lib/Thelia/Model/Base/ImportQuery.php
	modifié:         core/lib/Thelia/Model/Export.php
	modifié:         core/lib/Thelia/Model/ExportCategory.php
	modifié:         core/lib/Thelia/Model/ExportCategoryI18nQuery.php
	modifié:         core/lib/Thelia/Model/ExportCategoryQuery.php
	modifié:         core/lib/Thelia/Model/ExportI18nQuery.php
	modifié:         core/lib/Thelia/Model/ExportQuery.php
	modifié:         core/lib/Thelia/Model/ImportCategoryI18nQuery.php
	modifié:         core/lib/Thelia/Model/ImportCategoryQuery.php
	modifié:         core/lib/Thelia/Model/ImportI18nQuery.php
	modifié:         core/lib/Thelia/Model/ImportQuery.php
	modifié:         core/lib/Thelia/Model/Map/ExportCategoryTableMap.php
	modifié:         core/lib/Thelia/Model/Map/ExportTableMap.php
	modifié:         core/lib/Thelia/Model/Map/ImportCategoryTableMap.php
	modifié:         core/lib/Thelia/Model/Map/ImportTableMap.php
	modifié:         core/lib/Thelia/Model/Tax.php
	modifié:         local/config/schema.xml
	modifié:         setup/thelia.sql
	modifié:         templates/backOffice/default/ajax/export-modal.html
	modifié:         templates/backOffice/default/export-page.html
This commit is contained in:
Benjamin Perche
2014-07-15 15:40:56 +02:00
parent 740869eba0
commit 7a312e9093
53 changed files with 1019 additions and 307 deletions

View File

@@ -12,11 +12,6 @@
namespace Thelia\Controller\Admin;
use Thelia\Core\HttpFoundation\Response;
use Thelia\Core\Security\AccessManager;
use Thelia\Core\Security\Resource\AdminResources;
use Thelia\Model\NewsletterQuery;
/**
* Class CustomerExportController
* @package Thelia\Controller\Admin
@@ -36,6 +31,6 @@ class CustomerExportController extends BaseAdminController
public function mailing()
{
}
}

View File

@@ -14,7 +14,6 @@ namespace Thelia\Controller\Admin;
use Thelia\Core\Security\AccessManager;
use Thelia\Core\Security\Resource\AdminResources;
use Thelia\Core\Template\Loop\ImportExportType;
use Thelia\Core\Translation\Translator;
use Thelia\Model\ExportCategoryQuery;
use Thelia\Model\ExportQuery;
@@ -138,6 +137,7 @@ class ExportController extends BaseAdminController
)
);
}
return $export;
}
@@ -155,6 +155,7 @@ class ExportController extends BaseAdminController
)
);
}
return $category;
}
}

View File

@@ -58,7 +58,7 @@ class ImportExportController extends BaseAdminController
public function export($id)
{
if (null === $export = $this->getExport($id)) {
if (null === $export = $this->getExport($id)) {
return $this->render("404");
}
@@ -75,7 +75,6 @@ class ImportExportController extends BaseAdminController
$archiveBuilders[$archiveBuilder] = $archiveBuilder;
}
/**
* Get the allowed formatters to inject them into the form
*/
@@ -121,30 +120,30 @@ class ImportExportController extends BaseAdminController
if (!$boundForm->get("do_compress")->getData()) {
/**
* Build an event containing the formatter and the handler.
* Used for specific configuration (e.g: XML node names)
*/
$event = new ExportEvent($formatter, $handler);
if (!$boundForm->get("do_compress")->getData())
{
/**
* Dispatch the event
* Build an event containing the formatter and the handler.
* Used for specific configuration (e.g: XML node names)
*/
$this->dispatch(TheliaEvents::BEFORE_EXPORT, $event);
$event = new ExportEvent($formatter, $handler);
$formattedContent = $formatter->encode($data);
if (!$boundForm->get("do_compress")->getData()) {
/**
* Dispatch the event
*/
$this->dispatch(TheliaEvents::BEFORE_EXPORT, $event);
return new Response(
$formattedContent,
200,
[
"Content-Type" => $formatter->getMimeType(),
"Content-Disposition" =>
"attachment; filename=\"" . $filename . "\"",
]
);
$formattedContent = $formatter->encode($data);
return new Response(
$formattedContent,
200,
[
"Content-Type" => $formatter->getMimeType(),
"Content-Disposition" =>
"attachment; filename=\"" . $filename . "\"",
]
);
}
} else {
/** @var \Thelia\Core\FileFormat\Archive\ArchiveBuilderInterface $archiveBuilder */
$archiveBuilder = $this->archiveBuilderManager->get(
@@ -186,9 +185,9 @@ class ImportExportController extends BaseAdminController
return $archiveBuilder->buildArchiveResponse($formatter::FILENAME);
}
} catch(FormValidationException $e) {
} catch (FormValidationException $e) {
$errorMessage = $this->createStandardFormValidationErrorMessage($e);
} catch(\Exception $e) {
} catch (\Exception $e) {
$errorMessage = $e->getMessage();
}
@@ -248,7 +247,7 @@ class ImportExportController extends BaseAdminController
public function exportView($id)
{
if (null === $export = $this->getExport($id)) {
if (null === $export = $this->getExport($id)) {
return $this->render("404");
}
@@ -277,6 +276,11 @@ class ImportExportController extends BaseAdminController
}
}
$this->getParserContext()
->set("HAS_IMAGES", $export->hasImages($this->container))
->set("HAS_DOCUMENTS", $export->hasDocuments($this->container))
;
/** Then render the form */
if ($this->getRequest()->isXmlHttpRequest()) {
return $this->render("ajax/export-modal");
@@ -302,4 +306,4 @@ class ImportExportController extends BaseAdminController
return $export;
}
}
}