forked from thelia-modules/CustomerGroup
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCustomerGroup.php
More file actions
59 lines (49 loc) · 1.5 KB
/
CustomerGroup.php
File metadata and controls
59 lines (49 loc) · 1.5 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
<?php
namespace CustomerGroup;
use CustomerGroup\Handler\ConfigurationFileHandler;
use CustomerGroup\Model\CustomerGroupQuery;
use Propel\Runtime\Connection\ConnectionInterface;
use Propel\Runtime\Exception\PropelException;
use Thelia\Install\Database;
use Thelia\Model\Module;
use Thelia\Model\ModuleQuery;
use Thelia\Module\BaseModule;
/**
* Class CustomerGroup
*/
class CustomerGroup extends BaseModule
{
/**
* @var string Translation domain name
*/
const MESSAGE_DOMAIN = 'customergroup';
public function preActivation(ConnectionInterface $con = null)
{
$insert = false;
$activate = true;
try {
CustomerGroupQuery::create()->findOne();
} catch (PropelException $exception) {
$insert = true;
}
if ($insert) {
try {
$database = new Database($con);
// Insert Models
$database->insertSql(null, [__DIR__ . DS . 'Config' . DS . 'thelia.sql']);
} catch (\PDOException $exception) {
$activate = false;
}
}
return $activate;
}
public function postActivation(ConnectionInterface $con = null)
{
$configurationFileHandler = new ConfigurationFileHandler;
$modules = ModuleQuery::create()->findByActivate(BaseModule::IS_ACTIVATED);
/** @var Module $module */
foreach ($modules as $module) {
$configurationFileHandler->loadConfigurationFile($module);
}
}
}