Commit 8a4afcb8 by Frédéric

Sync qui fonctionne

parent e007afa2
...@@ -118,25 +118,15 @@ class FluxController extends BackendBase ...@@ -118,25 +118,15 @@ class FluxController extends BackendBase
*/ */
public function sync(Request $request) public function sync(Request $request)
{ {
$step = $request->get('step');
if(!$step) {
$step = 1;
}
if($step > 4 ){
return $this->redirectToRoute('tourinsoft_admin_flux_index');
}
$flux = $this->assertFLux($request->get('id')); $flux = $this->assertFLux($request->get('id'));
$sync = new Synchronisation($this->config, $this->application, $flux);
$sync->sync();
$flux->setSynchronizedAt(new \DateTime()); $flux->setSynchronizedAt(new \DateTime());
$this->getRepository(Flux::class)->update($flux); $this->getRepository(Flux::class)->update($flux);
return $this->redirectToRoute('tourinsoft_admin_flux_sync', ['id' => $request->get('id'), 'step' => $step+1]); $sync = new Synchronisation($this->config, $this->application, $flux);
$sync->sync();
return $this->redirectToRoute('tourinsoft_admin_flux_index');
} }
......
...@@ -4,7 +4,7 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Storage\Repository; ...@@ -4,7 +4,7 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Storage\Repository;
use Bolt\Storage\Repository; use Bolt\Storage\Repository;
class FluxRepository extends repository class FluxRepository extends Repository
{ {
} }
\ No newline at end of file
...@@ -4,10 +4,15 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Synchronisation; ...@@ -4,10 +4,15 @@ namespace Bolt\Extension\Appolo\Tourinsoft\Synchronisation;
use Bolt\Application; use Bolt\Application;
use Bolt\Extension\Appolo\Tourinsoft\Storage\Entity\Flux; use Bolt\Extension\Appolo\Tourinsoft\Storage\Entity\Flux;
use Bolt\Extension\Appolo\Tourinsoft\Storage\Repository\FluxRepository;
use Bolt\Extension\Appolo\Tourinsoft\Utils\ContentTypeFile; use Bolt\Extension\Appolo\Tourinsoft\Utils\ContentTypeFile;
use Bolt\Extension\Appolo\Tourinsoft\Utils\Data; use Bolt\Extension\Appolo\Tourinsoft\Utils\Data;
use Bolt\Extension\Appolo\Tourinsoft\Utils\Parser; use Bolt\Extension\Appolo\Tourinsoft\Utils\Parser;
use Bolt\Extension\Appolo\Tourinsoft\Utils\Schema; use Bolt\Extension\Appolo\Tourinsoft\Utils\Schema;
use Bolt\Provider\DatabaseSchemaServiceProvider;
use Bolt\Provider\ExtensionServiceProvider;
use Bolt\Provider\StorageServiceProvider;
use Bolt\Storage\Database\Schema\Table\ContentType;
class Synchronisation class Synchronisation
{ {
...@@ -41,10 +46,9 @@ class Synchronisation ...@@ -41,10 +46,9 @@ class Synchronisation
} }
/** /**
* @throws \Exception *
*/ */
public function sync() { public function sync() {
$this->application['schema']->update();
$options = $this->config['tourinsoft']; $options = $this->config['tourinsoft'];
$options['key'] = $this->flux->getKey(); $options['key'] = $this->flux->getKey();
...@@ -57,7 +61,9 @@ class Synchronisation ...@@ -57,7 +61,9 @@ class Synchronisation
$file = new ContentTypeFile($this->application, $this->flux, $keys, $options); $file = new ContentTypeFile($this->application, $this->flux, $keys, $options);
$file->updateInFile(); $file->updateInFile();
sleep(20); $this->application['config']->initialize();
$this->application->register(new StorageServiceProvider());
$this->application->register(new DatabaseSchemaServiceProvider());
// Sync database // Sync database
$schema = new Schema($this->application); $schema = new Schema($this->application);
...@@ -76,6 +82,10 @@ class Synchronisation ...@@ -76,6 +82,10 @@ class Synchronisation
$file = new ContentTypeFile($this->application, $this->flux, []); $file = new ContentTypeFile($this->application, $this->flux, []);
$file->deleteInFile(); $file->deleteInFile();
$this->application['config']->initialize();
$this->application->register(new StorageServiceProvider());
$this->application->register(new DatabaseSchemaServiceProvider());
// Sync database // Sync database
$schema = new Schema($this->application); $schema = new Schema($this->application);
$schema->update(); $schema->update();
......
...@@ -39,7 +39,7 @@ class Data ...@@ -39,7 +39,7 @@ class Data
* Insert data in database * Insert data in database
*/ */
public function insert() { public function insert() {
// $this->deleteData(); $this->deleteData();
$items = $this->getFormattedItems(); $items = $this->getFormattedItems();
foreach ($items as $k => $item) { foreach ($items as $k => $item) {
......
...@@ -21,6 +21,9 @@ class Schema ...@@ -21,6 +21,9 @@ class Schema
} }
public function update() { public function update() {
// $this->application['schema']->isUpdateRequired();
// $this->application['schema']->check();
$output = $this->application['schema']->update(); $output = $this->application['schema']->update();
$this->application['session']->set('dbupdate_result', $output->getResponseStrings()); $this->application['session']->set('dbupdate_result', $output->getResponseStrings());
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment