Repository navigation
Expand file tree
/
Copy pathInit.php
More file actions
71 lines (61 loc) · 2.29 KB
/
Copy pathInit.php
File metadata and controls
71 lines (61 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
namespace FacturaScripts\Plugins\POS;
use FacturaScripts\Core\Base\DataBase;
use FacturaScripts\Core\Migrations;
use FacturaScripts\Core\Template\InitClass;
use FacturaScripts\Plugins\POS\Migration\CreateDraftTables;
use FacturaScripts\Plugins\POS\Migration\RenameTables;
class Init extends InitClass
{
public function init(): void
{
$this->loadExtension(new Extension\Model\Familia());
$this->loadExtension(new Extension\Model\Base\SalesDocument());
$this->loadExtension(new Extension\Controller\EditEstadoDocumento());
$this->loadExtension(new Extension\Controller\EditSecuenciaDocumento());
}
public function update(): void
{
Migrations::runPluginMigration(new RenameTables());
Migrations::runPluginMigration(new CreateDraftTables());
Migrations::runPluginMigration(new Migration\CreateDefaultDraftStatuses());
Migrations::runPluginMigration(new Migration\CreateSearchIndexes());
Migrations::runPluginMigration(new Migration\RemoveCustomerAccount());
$this->updateSchemaColumns();
}
private function updateSchemaColumns(): void
{
$database = new DataBase();
$database->connect();
$columns = [
'pos_operations' => [
'idoperacion_original' => 'INTEGER',
'esdevolucion' => 'BOOLEAN NOT NULL DEFAULT false',
'payment_policy' => "VARCHAR(20) NOT NULL DEFAULT 'required'",
],
'pos_document_types' => [
'payment_policy' => "VARCHAR(20) NOT NULL DEFAULT 'required'",
],
'pos_terminals' => [
'codserierect' => 'VARCHAR(6)',
],
'pos_payment_methods' => [
'icon' => 'VARCHAR(25)',
],
];
foreach ($columns as $table => $cols) {
$existing = array_map(
fn(array $c): string => $c['name'],
$database->getColumns($table)
);
foreach ($cols as $name => $type) {
if (false === in_array($name, $existing, true)) {
$database->exec('ALTER TABLE ' . $table . ' ADD COLUMN ' . $name . ' ' . $type . ';');
}
}
}
}
public function uninstall(): void
{
}
}