brightpearl-cli 1.4.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/phpunit/IntegrationTestCase.php +512 -0
- data/assets/phpunit/JournalEntries.php +246 -0
- data/assets/phpunit/Message.php +101 -0
- data/assets/phpunit/Providers.php +404 -0
- data/assets/phpunit/RedirectException.php +20 -0
- data/assets/phpunit/ReservedContactIds.php +27 -0
- data/assets/phpunit/Values.php +30 -0
- data/assets/phpunit/bootstrap.php +85 -0
- data/assets/phpunit/jenkins-bootstrap.php +60 -0
- data/lib/brightpearl_cli.rb +26 -9
- data/lib/core/config.rb +1 -1
- data/lib/core/ebay.rb +11 -0
- data/lib/core/ebay_factory.rb +34 -0
- data/lib/core/enums.rb +8 -0
- data/lib/core/git.rb +44 -2
- data/lib/core/git_delete.rb +57 -15
- data/lib/core/mysql.rb +13 -13
- data/lib/core/pom.rb +44 -21
- data/lib/core/sql_update.rb +24 -0
- data/lib/core/terminal.rb +5 -4
- data/lib/core/utils_files.rb +0 -8
- data/lib/core/vm.rb +62 -0
- data/lib/routes/dummy_order.rb +0 -1
- data/lib/routes/fix.rb +30 -5
- data/lib/routes/git_checkout.rb +7 -2
- data/lib/routes/git_delete.rb +9 -3
- data/lib/routes/git_merge.rb +22 -6
- data/lib/routes/git_update.rb +1 -1
- data/lib/routes/production_logs.rb +4 -4
- data/lib/routes/review.rb +8 -2
- data/lib/routes/scripts_sonar.rb +6 -2
- data/lib/routes/scripts_sql_update.rb +33 -0
- data/lib/routes/test.rb +23 -8
- data/lib/version.rb +1 -0
- data/vm-scripts/sql-updates.sh +9 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77330a90ea194ba485f12816106fa10732abf079
|
4
|
+
data.tar.gz: 4598c501d317909d87e441ba036e0c232ecb5805
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ab986c8c4e8f18e21e8a1a0dec3fd1f9ff87cc8f1a87f232efdefa0a1e3e47bf3822737ee82fdb6236cea64e87d550b0226becdf06f152f7e54b40b403907f2
|
7
|
+
data.tar.gz: 347b01275d24276617eaca2a26196bf0bf0cfdeb3adfac9459e1b9978432447df7b05b6a9dd306624b323320d41152cc9a9d67a72153880cd2f832e4aebf3786
|
@@ -0,0 +1,512 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Base class for all PHP integration tests.
|
5
|
+
*
|
6
|
+
* This base class extends and is designed to closely mimic
|
7
|
+
* Zend_Test_PHPUnit_ControllerTestCase, adding the setup required
|
8
|
+
* and some helper methods to allow this style of testing withing
|
9
|
+
* the Brightpearl application.
|
10
|
+
*
|
11
|
+
* By extending Zend_Test_PHPUnit_ControllerTestCase, test cases have
|
12
|
+
* access to the full range of assertions that it provides
|
13
|
+
* e.g. assertQueryContentContains etc.
|
14
|
+
* See http://framework.zend.com/manual/1.12/en/zend.test.phpunit.html for more info.
|
15
|
+
*
|
16
|
+
* The dispatch method differs as we are not using Zend MVC, and there
|
17
|
+
* is some server, and session setup required to get the application
|
18
|
+
* into a 'running' and logged in state.
|
19
|
+
*
|
20
|
+
* NOTE: Integration tests do not allow mocking/testing of pdb calls.
|
21
|
+
* If you need to make assertions on database calls, then that code
|
22
|
+
* should be refactored to use a (potentially new) Java service, which
|
23
|
+
* we can assert on using mockServiceResponse, captureServicePostToUri etc.
|
24
|
+
*
|
25
|
+
*
|
26
|
+
* @deprecated use the Behat framework instead
|
27
|
+
*/
|
28
|
+
class IntegrationTestCase extends Zend_Test_PHPUnit_ControllerTestCase
|
29
|
+
{
|
30
|
+
/**
|
31
|
+
* Helper method to allow easy addition of multiple $_GET
|
32
|
+
* parameters.
|
33
|
+
* @param array $data array of key => value pairs to add to $_GET
|
34
|
+
* @return $this
|
35
|
+
*/
|
36
|
+
protected function addQueryParameters($data)
|
37
|
+
{
|
38
|
+
foreach ($data as $key => $value) {
|
39
|
+
$_GET[$key] = $value;
|
40
|
+
$_REQUEST[$key] = $value;
|
41
|
+
}
|
42
|
+
|
43
|
+
return $this;
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Helper method to register a mock response with the fake Zend_Http_Client
|
48
|
+
* based on simple uri matching.
|
49
|
+
* @param string $uri URI to match against e.g. 'ebay-service/config/1'
|
50
|
+
* @param string $response text JSON response to return if the request URI is a match.
|
51
|
+
* @return $this
|
52
|
+
*/
|
53
|
+
protected function mockServiceResponseForUri($uri,$response)
|
54
|
+
{
|
55
|
+
Lib_Mock_HttpClient::addMockResponseHandler(function($testUri,$method,$postData) use (&$uri,&$response) {
|
56
|
+
if ($method == 'GET' && $testUri->getPath() == Lib_Mock_WsUriBuilder::BASEPATH . $uri) {
|
57
|
+
return $response;
|
58
|
+
}
|
59
|
+
|
60
|
+
return false;
|
61
|
+
});
|
62
|
+
|
63
|
+
return $this;
|
64
|
+
}
|
65
|
+
|
66
|
+
/**
|
67
|
+
* Helper method to allow capturing of POSTed data to a service uri, based on simple uri matching
|
68
|
+
* If a request URI matches the specified $uri, then $postedData is set to the value of the post data.
|
69
|
+
* @param string $uri URI to match against e.g. 'product-service/messaging/resource-event'
|
70
|
+
* @param reference $postedData reference to a string that will be set to the value of the posted data if the uri matches.
|
71
|
+
* @return $this
|
72
|
+
*/
|
73
|
+
protected function captureServicePostToUri($uri, &$postedData, $response = null)
|
74
|
+
{
|
75
|
+
Lib_Mock_HttpClient::addMockResponseHandler(function($testUri,$method,$postData) use (&$uri,&$postedData,$response) {
|
76
|
+
if ($method == 'POST' && $testUri->getPath() == Lib_Mock_WsUriBuilder::BASEPATH . $uri) {
|
77
|
+
|
78
|
+
if (is_null($postData)) {
|
79
|
+
$postData = true; //for posts with no data, allow assertions to assert this post was called
|
80
|
+
}
|
81
|
+
|
82
|
+
$postedData = $postData;
|
83
|
+
return $response;
|
84
|
+
}
|
85
|
+
|
86
|
+
return false;
|
87
|
+
});
|
88
|
+
|
89
|
+
return $this;
|
90
|
+
}
|
91
|
+
|
92
|
+
/**
|
93
|
+
* Helper method to allow capturing of PUTed data to a service uri, based on simple uri matching
|
94
|
+
* If a request URI matches the specified $uri, then $postedData is set to the value of the post data.
|
95
|
+
* @param string $uri URI to match against e.g. 'product-service/messaging/resource-event'
|
96
|
+
* @param reference $postedData reference to a string that will be set to the value of the posted data if the uri matches.
|
97
|
+
* @return $this
|
98
|
+
*/
|
99
|
+
protected function captureServicePutToUri($uri, &$postedData)
|
100
|
+
{
|
101
|
+
Lib_Mock_HttpClient::addMockResponseHandler(function($testUri,$method,$postData) use (&$uri,&$postedData) {
|
102
|
+
if ($method == 'PUT' && $testUri->getPath() == Lib_Mock_WsUriBuilder::BASEPATH . $uri) {
|
103
|
+
$postedData = $postData;
|
104
|
+
}
|
105
|
+
|
106
|
+
return false;
|
107
|
+
});
|
108
|
+
|
109
|
+
return $this;
|
110
|
+
}
|
111
|
+
|
112
|
+
/**
|
113
|
+
* Function to return a canned empty search response for any bulk data search resource.
|
114
|
+
* Can be used with the various mock service setup calls.
|
115
|
+
* @return string bulk data search response representing 0 results.
|
116
|
+
*/
|
117
|
+
protected function emptySearchResult()
|
118
|
+
{
|
119
|
+
return '{"response": {"metaData": {"resultsAvailable": 0,"resultsReturned":0,"columns":[]},"results":[]}}';
|
120
|
+
}
|
121
|
+
|
122
|
+
protected function mockResponseForCurl($uri, $response) {
|
123
|
+
|
124
|
+
$this->mockResponseForCurlOptions($uri, array(), $response);
|
125
|
+
|
126
|
+
}
|
127
|
+
|
128
|
+
/**
|
129
|
+
* Helper method to register a mock response with the fake Zend_Http_Client
|
130
|
+
* based on simple uri matching.
|
131
|
+
* @param string $uri URI to match against e.g. 'http://domain.invalid'
|
132
|
+
* @param array $desiredCurlOpts array(CURLOPT_X => "*", ...) Regular expressions to match against cURL options
|
133
|
+
* @param string $response text JSON response to return if the request URI is a match.
|
134
|
+
* @return $this
|
135
|
+
*/
|
136
|
+
protected function mockResponseForCurlOptions($uri, $desiredCurlOpts, $response)
|
137
|
+
{
|
138
|
+
Lib_Mock_CurlFunctions::addMockResponseHandler($uri, function($testUri, $curlOpts) use (&$uri, &$desiredCurlOpts, &$response) {
|
139
|
+
|
140
|
+
if ($testUri != $uri) {
|
141
|
+
return false;
|
142
|
+
}
|
143
|
+
|
144
|
+
foreach ($desiredCurlOpts as $desiredCurlOpt => $desiredCurlOptValueRegex) {
|
145
|
+
|
146
|
+
if (!array_key_exists($desiredCurlOpt, $curlOpts)) {
|
147
|
+
return false;
|
148
|
+
}
|
149
|
+
|
150
|
+
if (0 == preg_match($desiredCurlOptValueRegex, $curlOpts[$desiredCurlOpt])) {
|
151
|
+
return false;
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
return $response;
|
156
|
+
});
|
157
|
+
|
158
|
+
return $this;
|
159
|
+
}
|
160
|
+
|
161
|
+
/**
|
162
|
+
* Helper method to register a mock response with the fake filesystem functions
|
163
|
+
* based on simple name matching.
|
164
|
+
* @param string $filename - file name
|
165
|
+
* @param string $response - file contents.
|
166
|
+
* @param array $options - file options eg array('is_dir' => true);
|
167
|
+
* @return $this
|
168
|
+
*/
|
169
|
+
protected function mockResponseForFilesystem($filename, $response, array $options = array())
|
170
|
+
{
|
171
|
+
Lib_Mock_FilesystemFunctions::addMockResponseHandler(
|
172
|
+
$filename,
|
173
|
+
function($testFilename) use (&$filename,&$response) {
|
174
|
+
if ($testFilename == $filename || preg_match($filename,$testFilename)) {
|
175
|
+
return $response;
|
176
|
+
}
|
177
|
+
return false;
|
178
|
+
},
|
179
|
+
$options
|
180
|
+
);
|
181
|
+
|
182
|
+
return $this;
|
183
|
+
}
|
184
|
+
|
185
|
+
/**
|
186
|
+
* Helper method to register a mock response with the fake Zend_Http_Client
|
187
|
+
* based on simple uri matching.
|
188
|
+
* @param string $uri URI to match against e.g. 'ebay-service/config/1'
|
189
|
+
* @param $arguments
|
190
|
+
* @param string $response text JSON response to return if the request URI is a match.
|
191
|
+
* @return $this
|
192
|
+
*/
|
193
|
+
protected function mockResponseForQuery($uri,$arguments,$response)
|
194
|
+
{
|
195
|
+
Lib_Mock_LegacySqlStrategy::addMockResponseHandler($uri, function($testUri,$execArguments) use (&$uri,&$response,$arguments) {
|
196
|
+
if ($testUri == $uri && ($arguments==null || $execArguments==$arguments)) {
|
197
|
+
return $response;
|
198
|
+
}
|
199
|
+
return false;
|
200
|
+
});
|
201
|
+
|
202
|
+
return $this;
|
203
|
+
}
|
204
|
+
|
205
|
+
/**
|
206
|
+
* Helper method to allow capturing of POSTed data to a service uri, based on simple uri matching
|
207
|
+
* If a request URI matches the specified $uri, then $postedData is set to the value of the post data.
|
208
|
+
* @param string $uri URI to match against e.g. 'product-service/messaging/resource-event'
|
209
|
+
* @param array $postedData reference to a string that will be set to the value of the posted data if the uri matches.
|
210
|
+
* @param mixed $response
|
211
|
+
* @return $this
|
212
|
+
*/
|
213
|
+
protected function captureArgumentsForQuery($uri, &$postedData, $response = false)
|
214
|
+
{
|
215
|
+
Lib_Mock_LegacySqlStrategy::addMockResponseHandler($uri, function($testUri, $postData) use (&$uri, &$postedData, &$response) {
|
216
|
+
|
217
|
+
if ($testUri == $uri) {
|
218
|
+
$postedData = array_merge($postedData,$postData);
|
219
|
+
return $response;
|
220
|
+
}
|
221
|
+
|
222
|
+
return false;
|
223
|
+
});
|
224
|
+
|
225
|
+
return $this;
|
226
|
+
}
|
227
|
+
|
228
|
+
/**
|
229
|
+
* Helper method to enable logging of capture HTML output.
|
230
|
+
* Useful when assertions fail to find out what was actually output
|
231
|
+
* by the page.
|
232
|
+
*/
|
233
|
+
protected function logContent()
|
234
|
+
{
|
235
|
+
$this->_logContent = true;
|
236
|
+
return $this;
|
237
|
+
}
|
238
|
+
|
239
|
+
/**
|
240
|
+
* Helper method to enable logging of all SQL queries executed.
|
241
|
+
* Useful when assertions fail to find out SQL dependencies the page has.
|
242
|
+
*/
|
243
|
+
protected function logDatabaseQueries()
|
244
|
+
{
|
245
|
+
IntegrationTestCase::$_logDatabaseQueries = true;
|
246
|
+
return $this;
|
247
|
+
}
|
248
|
+
|
249
|
+
/**
|
250
|
+
* Helper method to enabled a particular feature toggle.
|
251
|
+
* By default all feature toggles are disabled for each test.
|
252
|
+
*/
|
253
|
+
protected function addFeatureToggle($key)
|
254
|
+
{
|
255
|
+
$this->getDatabase()->exec('INSERT INTO setup(setup_name,setup_value) VALUES("' . $key . '", "1")');
|
256
|
+
return $this;
|
257
|
+
}
|
258
|
+
|
259
|
+
/**
|
260
|
+
* Helper method to remove a particular application permission.
|
261
|
+
* By default all tests will run with all permissions.
|
262
|
+
*/
|
263
|
+
protected function removePermission($key)
|
264
|
+
{
|
265
|
+
$query = $this->getDatabase()->query('SELECT application_permission_id from application_permission WHERE application_permission_code="' . $key . '"');
|
266
|
+
$res = $query->fetch(PDO::FETCH_ASSOC);
|
267
|
+
$id = $res['application_permission_id'];
|
268
|
+
$this->getDatabase()->exec('INSERT INTO user_denied_permission(contact_id, application_permission_id) VALUES(10, ' . $id . ')');
|
269
|
+
return $this;
|
270
|
+
}
|
271
|
+
|
272
|
+
/**
|
273
|
+
* Helper method to decode a json page response into php data.
|
274
|
+
**/
|
275
|
+
protected function decodedJson()
|
276
|
+
{
|
277
|
+
return json_decode($this->getResponse()->getBody());
|
278
|
+
}
|
279
|
+
|
280
|
+
/**
|
281
|
+
* Alternate implementation of the dispatch method
|
282
|
+
* designed to work with our top level pages e.g. p.php
|
283
|
+
* This will do all of the pre-request and post-request
|
284
|
+
* actions required to get the page to run and output
|
285
|
+
* captured in a way that will enable the Zend_Test_PHPUnit_ControllerTestCase
|
286
|
+
* assertions to work.
|
287
|
+
*/
|
288
|
+
public function dispatch($url = null) {
|
289
|
+
|
290
|
+
$_SERVER['REQUEST_URI'] = $url;
|
291
|
+
|
292
|
+
$_SESSION['client_config_id'] = 2;
|
293
|
+
$_SESSION['displayDebug'] = true;
|
294
|
+
$_SESSION['admin_id'] = 10;
|
295
|
+
$_SERVER['PHP_SELF'] = APPLICATION_PATH . $url;
|
296
|
+
|
297
|
+
$_GET['displayDebug'] = true;
|
298
|
+
|
299
|
+
$request = $this->getRequest();
|
300
|
+
|
301
|
+
if (null !== $url) {
|
302
|
+
$request->setRequestUri($url);
|
303
|
+
}
|
304
|
+
|
305
|
+
$request->setPathInfo(null);
|
306
|
+
|
307
|
+
$controller = $this->getFrontController();
|
308
|
+
$this->frontController
|
309
|
+
->setRequest($request)
|
310
|
+
->setResponse($this->getResponse())
|
311
|
+
->throwExceptions(false)
|
312
|
+
->returnResponse(false);
|
313
|
+
|
314
|
+
IntegrationTestCase::$_currentResponse = $this->getResponse();
|
315
|
+
|
316
|
+
ob_start();
|
317
|
+
try {
|
318
|
+
require $url;
|
319
|
+
} catch(Exception $e) {
|
320
|
+
error_log('Caught exception in test: ' . $e->getTraceAsString());
|
321
|
+
ob_end_clean();
|
322
|
+
}
|
323
|
+
|
324
|
+
$content = ob_get_clean();
|
325
|
+
|
326
|
+
$this->getResponse()->setBody($content);
|
327
|
+
|
328
|
+
if ($this->_logContent) {
|
329
|
+
error_log($content);
|
330
|
+
}
|
331
|
+
}
|
332
|
+
|
333
|
+
/**
|
334
|
+
* Return a pdo instance for the in-memory database
|
335
|
+
* used for integration tests, creating common tables
|
336
|
+
* required for all tests.
|
337
|
+
*
|
338
|
+
* To setup test-specific data in the database, use this
|
339
|
+
* static function to obtain the pdo instance and then execute the required statements
|
340
|
+
* in each particular test.
|
341
|
+
*/
|
342
|
+
public static function getDatabase()
|
343
|
+
{
|
344
|
+
if (IntegrationTestCase::$_database == null) {
|
345
|
+
IntegrationTestCase::$_database = new PDO('sqlite::memory:');
|
346
|
+
}
|
347
|
+
|
348
|
+
return IntegrationTestCase::$_database;
|
349
|
+
}
|
350
|
+
|
351
|
+
/**
|
352
|
+
* Common setup and boostrap performed before each test.
|
353
|
+
*/
|
354
|
+
public function setUp()
|
355
|
+
{
|
356
|
+
$this->bootstrap = array($this, 'appBootstrap');
|
357
|
+
|
358
|
+
define('SERVER_HTTPS_PORT',443);
|
359
|
+
|
360
|
+
$_SERVER = array(
|
361
|
+
'HTTP_HOST' => 'localhost',
|
362
|
+
'SERVER_PORT' => SERVER_HTTPS_PORT,
|
363
|
+
'HTTP_USER_AGENT' => 'integrationtest');
|
364
|
+
|
365
|
+
$scriptMount = getenv('__BP_PHP_SCRIPT_MOUNT');
|
366
|
+
if ($scriptMount === false) {
|
367
|
+
$scriptMount = '';
|
368
|
+
}
|
369
|
+
|
370
|
+
$includePath = get_include_path();
|
371
|
+
$includePath = $includePath . ":{$scriptMount}/php-private/static/ZendExtras-1.11.1/";
|
372
|
+
$includePath = $includePath . ':' . APPLICATION_PATH;
|
373
|
+
|
374
|
+
set_include_path($includePath);
|
375
|
+
|
376
|
+
global $_SESSION, $_GET, $_POST, $_COOKIE;
|
377
|
+
|
378
|
+
parent::setUp();
|
379
|
+
$this->reset();
|
380
|
+
|
381
|
+
Lib_Mock_HttpClient::reset();
|
382
|
+
|
383
|
+
$this->setupCommonTables($this->getDatabase());
|
384
|
+
session_id(Lib_Mock_SessionFunctions::SESSION_KEY);
|
385
|
+
$_COOKIE['randomness'] = '1234567890';
|
386
|
+
$_SESSION['fingerprint'] = md5($_SERVER['HTTP_USER_AGENT'] . $_COOKIE['randomness']);
|
387
|
+
|
388
|
+
$this->mockResponseForQuery('getChannelBrands', array(array(1)), array(array('channel_brand_id' => '1', 'address_book_id' => 1,'company_name' => 'Test Company')));
|
389
|
+
}
|
390
|
+
|
391
|
+
/**
|
392
|
+
* Common test teardown.
|
393
|
+
* IMPORTANT!!!
|
394
|
+
* PHPUnit when using process isolation to run each test in a separate process (as we need to for correct isolation)
|
395
|
+
* will attempt to serialize and unserialize the test case classes.
|
396
|
+
* We must not hold any references to our object tree after the test has run, otherwise the unserialize call
|
397
|
+
* will fail as it will not be able to autoload our classes.
|
398
|
+
*/
|
399
|
+
public function tearDown()
|
400
|
+
{
|
401
|
+
$this->_frontController = null;
|
402
|
+
}
|
403
|
+
|
404
|
+
public function appBootstrap()
|
405
|
+
{
|
406
|
+
}
|
407
|
+
|
408
|
+
/**
|
409
|
+
* Setup common database tables required for all integration tests.
|
410
|
+
* We should keep this to a bare minimum, and have tests execute SQL
|
411
|
+
* specific to that test / avoid application code going directly to the database.
|
412
|
+
*/
|
413
|
+
private static function setupCommonTables($db)
|
414
|
+
{
|
415
|
+
$query = "CREATE TABLE `configuration` (`configuration_id` int(11) NOT NULL ,`configuration_title` varchar(64) NOT NULL DEFAULT '',`configuration_key` varchar(64) NOT NULL DEFAULT '',`configuration_value` text NOT NULL,`configuration_description` varchar(255) NOT NULL DEFAULT '',`configuration_group_id` int(11) NOT NULL DEFAULT '0',`sort_order` int(5) DEFAULT NULL,`last_modified` datetime DEFAULT NULL,`date_added` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',`use_function` varchar(255) DEFAULT NULL,`set_function` varchar(255) DEFAULT NULL,PRIMARY KEY (`configuration_id`))";
|
416
|
+
$db->exec($query);
|
417
|
+
$query = "INSERT INTO `configuration` VALUES (5,'Country','STORE_COUNTRY','222','The country my store is located in <br><br><b>Note: Please remember to update the store zone.</b>',1,6,'2004-02-07 10:51:54','2004-02-07 10:36:52','tep_get_country_name','tep_cfg_pull_down_country_list(');";
|
418
|
+
$db->exec($query);
|
419
|
+
$query = "CREATE TABLE `application_permission` (`application_permission_id` int(11) NOT NULL,`application_permission_code` char(9) NOT NULL,`application_zone_id` int(11) NOT NULL,`application_function_id` int(11) NOT NULL,PRIMARY KEY (`application_permission_id`), CONSTRAINT `application_permission_ibfk_1` FOREIGN KEY (`application_zone_id`) REFERENCES `application_zone` (`application_zone_id`), CONSTRAINT `application_permission_ibfk_2` FOREIGN KEY (`application_function_id`) REFERENCES `application_function` (`application_function_id`))";
|
420
|
+
$db->exec($query);
|
421
|
+
$query = "INSERT INTO `application_permission` SELECT 1 AS application_permission_id,'SYST-SETT' AS application_permission_code ,1 AS application_zone_id ,1 AS application_function_id UNION SELECT 2,'SYST-STAF',1,2 UNION SELECT 3,'SYST-TMPL',1,3 UNION SELECT 4,'SYST-OTHR',1,4 UNION SELECT 5,'MARK-SETT',2,1 UNION SELECT 6,'MARK-CPGN',2,5 UNION SELECT 7,'MARK-CPNS',2,6 UNION SELECT 8,'CUST-SETT',3,1 UNION SELECT 9,'CUST-READ',3,7 UNION SELECT 10,'CUST-EDIT',3,8 UNION SELECT 11,'CUST-DELE',3,9 UNION SELECT 12,'CUST-FINC',3,10 UNION SELECT 13,'CUST-EXPT',3,11 UNION SELECT 14,'SDSK-SETT',4,1 UNION SELECT 15,'SDSK-READ',4,7 UNION SELECT 16,'SDSK-EDIT',4,8 UNION SELECT 17,'SDSK-EXPT',4,11 UNION SELECT 18,'SALE-SETT',5,1 UNION SELECT 19,'SALE-READ',5,7 UNION SELECT 20,'SALE-EDIT',5,8 UNION SELECT 21,'SALE-DELE',5,9 UNION SELECT 22,'SALE-EXPT',5,11 UNION SELECT 23,'SUPL-SETT',6,1 UNION SELECT 24,'SUPL-READ',6,7 UNION SELECT 25,'SUPL-EDIT',6,8 UNION SELECT 26,'SUPL-DELE',6,9 UNION SELECT 27,'SUPL-FINC',6,10 UNION SELECT 28,'SUPL-EXPT',6,11 UNION SELECT 29,'PURC-SETT',7,1 UNION SELECT 30,'PURC-READ',7,7 UNION SELECT 31,'PURC-EDIT',7,8 UNION SELECT 32,'PURC-DELE',7,9 UNION SELECT 33,'PURC-EXPT',7,11 UNION SELECT 34,'ACCT-SETT',8,1 UNION SELECT 35,'ACCT-BKKP',8,13 UNION SELECT 36,'ACCT-MGRP',8,14 UNION SELECT 37,'ACCT-CORR',8,15 UNION SELECT 38,'ACCT-EXPT',8,11 UNION SELECT 39,'PROD-SETT',9,1 UNION SELECT 40,'PROD-READ',9,7 UNION SELECT 41,'PROD-EDIT',9,8 UNION SELECT 42,'PROD-DELE',9,9 UNION SELECT 43,'PROD-STOK',9,16 UNION SELECT 44,'PROD-EXPT',9,11 UNION SELECT 45,'PROJ-SETT',10,1 UNION SELECT 46,'PROJ-READ',10,7 UNION SELECT 47,'PROJ-EDIT',10,8 UNION SELECT 52,'SYST-SUPR',1,17 UNION SELECT 53,'SYST-APIU',1,18;";
|
422
|
+
$db->exec($query);
|
423
|
+
$query = "CREATE TABLE `channel_brand` (`channel_brand_id` int(11) NOT NULL ,`address_book_id` int(11) NOT NULL,`name` varchar(255) NOT NULL,`company_name` varchar(255) NOT NULL,`telephone` varchar(36) NOT NULL,`email_address` varchar(128) NOT NULL,`accounting_email_address` varchar(128) NOT NULL,`bank_name` varchar(255) NOT NULL,`bank_account_number` varchar(20) NOT NULL,`bank_sort_code` varchar(10) NOT NULL,`bank_swift` varchar(45) NOT NULL,`company_number` varchar(255) NOT NULL,`vat_number` varchar(255) NOT NULL,`image_id` int(11) DEFAULT NULL,PRIMARY KEY (`channel_brand_id`), CONSTRAINT `channel_brand_ibfk_1` FOREIGN KEY (`image_id`) REFERENCES `image` (`image_id`))";
|
424
|
+
$db->exec($query) ;
|
425
|
+
$query = 'CREATE TABLE `user_denied_permission` (`contact_id` int(11) NOT NULL,`application_permission_id` int(11) NOT NULL,PRIMARY KEY (`contact_id`,`application_permission_id`))';
|
426
|
+
$db->exec($query) ;
|
427
|
+
$query = "INSERT INTO `channel_brand` VALUES (1,1,'autotestfitnesse','autotestfitnesse','','matt.willshire+autotestfitnesse@brightpearl.com','','','','','','0','',NULL);";
|
428
|
+
$db->exec($query);
|
429
|
+
$query = "CREATE TABLE `session` (`session_id` varchar(32) NOT NULL DEFAULT '',`http_user_agent` varchar(32) DEFAULT NULL,`date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`session_expire` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',`session_data` longtext,PRIMARY KEY (`session_id`))";
|
430
|
+
$db->exec($query);
|
431
|
+
$query = "CREATE TABLE `datacentre_settings` (`signup_version` varchar(12) DEFAULT NULL,`is_offline` tinyint(1) NOT NULL DEFAULT '0',`offline_message` varchar(512) DEFAULT NULL)";
|
432
|
+
$db->exec($query);
|
433
|
+
$query = "INSERT INTO datacenter_settings VALUES(NULL,0,NULL)";
|
434
|
+
$db->exec($query);
|
435
|
+
$query = "CREATE TABLE `setup` (`setup_name` varchar(255) NOT NULL DEFAULT '',`setup_value` text NOT NULL,PRIMARY KEY (`setup_name`))";
|
436
|
+
$db->exec($query);
|
437
|
+
$query = "CREATE TABLE `currencies` (`currencies_id` int(11) NOT NULL ,`title` varchar(32) NOT NULL DEFAULT '',`code` char(3) NOT NULL DEFAULT '',`symbol_left` varchar(12) DEFAULT NULL,`symbol_right` varchar(12) DEFAULT NULL,`decimal_point` char(1) DEFAULT NULL,`thousands_point` char(1) DEFAULT NULL,`decimal_places` char(1) DEFAULT NULL,`last_updated` datetime DEFAULT NULL,`default` tinyint(4) NOT NULL DEFAULT '0',PRIMARY KEY (`currencies_id`))";
|
438
|
+
$db->exec($query);
|
439
|
+
$query = "INSERT INTO `currencies` VALUES (1,'GB Pound','GBP','£',NULL,'.',',','2',NULL,1)";
|
440
|
+
$db->exec($query);
|
441
|
+
$query = "CREATE TABLE `language_text` (`language_id` tinyint(4) NOT NULL DEFAULT '1',`l_code` varchar(48) NOT NULL,`l_text` varchar(255) NOT NULL)";
|
442
|
+
$db->exec($query);
|
443
|
+
$query = "CREATE TABLE `sessions` (`sessions_id` int(11) NOT NULL,`sesskey` varchar(32) NOT NULL DEFAULT '',`expiry` int(11) NOT NULL DEFAULT '0',`value` varchar(32) NOT NULL DEFAULT '',`admin` int(10) NOT NULL DEFAULT '0',PRIMARY KEY (`sessions_id`))";
|
444
|
+
$db->exec($query);
|
445
|
+
$query = "INSERT INTO `sessions` VALUES (1,'".Lib_Mock_SessionFunctions::SESSION_KEY."',1347550406,'f321af0bbea4b8896a84b3f7051691cc',10)";
|
446
|
+
$db->exec($query);
|
447
|
+
$query = "CREATE TABLE `customers` (`customers_id` int(11) NOT NULL,`customers_pearl_id` int(11) NOT NULL,`customers_code` varchar(36) DEFAULT NULL,`customers_salutation` tinyint(4) NOT NULL DEFAULT '0',`customers_gender` char(1) NOT NULL DEFAULT '',`customers_firstname` varchar(32) NOT NULL DEFAULT '',`customers_lastname` varchar(32) NOT NULL DEFAULT '',`customers_dob` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',`customers_email_address` varchar(96) NOT NULL DEFAULT '',`customers_email_address_2` varchar(128) NOT NULL,`customers_email_address_3` varchar(128) NOT NULL,`customers_default_address_id` int(11) NOT NULL DEFAULT '0',`customers_telephone` varchar(32) NOT NULL DEFAULT '',`customers_telephone_2` varchar(36) NOT NULL DEFAULT '',`customers_mobile` varchar(24) NOT NULL DEFAULT '',`customers_fax` varchar(32) DEFAULT NULL,`customers_msn` varchar(64) NOT NULL DEFAULT '',`customers_skype` varchar(64) NOT NULL DEFAULT '',`customers_yahoo` varchar(64) NOT NULL DEFAULT '',`customers_IBAN` varchar(36) NOT NULL DEFAULT '',`customers_password` varchar(73) NOT NULL,`password_expires` date DEFAULT NULL,`customers_newsletter` char(1) DEFAULT NULL,`customers_type` varchar(15) DEFAULT '0',`customers_website` varchar(64) NOT NULL DEFAULT '',`customers_VAT` varchar(36) NOT NULL DEFAULT '',`customers_sage_accref` varchar(12) NOT NULL DEFAULT '',`customers_sage_nominalcode` varchar(12) NOT NULL DEFAULT '4000',`customers_sage_taxcode` varchar(12) NOT NULL DEFAULT '1',`customers_accounts_email` varchar(128) NOT NULL DEFAULT '',`customers_accounts_id` mediumint(9) DEFAULT NULL,`customers_active` tinyint(4) NOT NULL DEFAULT '1',`customers_status` varchar(4) NOT NULL DEFAULT '0',`customers_image` varchar(64) NOT NULL DEFAULT '',`customers_credit_limit` mediumint(9) NOT NULL DEFAULT '0',`customers_credit_terms` mediumint(9) NOT NULL DEFAULT '0',`customer_is_supplier` tinyint(4) NOT NULL DEFAULT '0',`customer_is_customer` tinyint(4) NOT NULL DEFAULT '0',`customer_is_advertiser` tinyint(4) NOT NULL,`customers_referrer` varchar(128) NOT NULL DEFAULT '',`customers_price_group` smallint(5) DEFAULT NULL,`customers_bank_sort` varchar(8) NOT NULL DEFAULT '',`customers_bank_account` varchar(20) NOT NULL DEFAULT '',`customers_bank_name` varchar(45) NOT NULL DEFAULT '',`customers_bank_swift` varchar(45) NOT NULL DEFAULT '',`customers_lead_time` mediumint(9) NOT NULL DEFAULT '0',`customers_discount` decimal(5,2) NOT NULL DEFAULT '0.00',`customers_date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`referral_campaign_id` int(11) NOT NULL DEFAULT '0',`referral_affiliate_id` mediumint(9) NOT NULL,`customers_memo` text NOT NULL,`customers_currency` int(11) NOT NULL DEFAULT '0',`customers_owner` int(11) NOT NULL DEFAULT '0',`customers_private` tinyint(4) NOT NULL DEFAULT '0',`customers_primary` tinyint(4) NOT NULL DEFAULT '0',`customers_last_contact` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',`customers_last_contact_info` varchar(64) NOT NULL,`customers_html_email` tinyint(4) NOT NULL DEFAULT '0',`customers_helpdesk` tinyint(4) NOT NULL DEFAULT '0',`customers_projects` tinyint(4) NOT NULL DEFAULT '0',`customers_paypal_payerid` varchar(20) DEFAULT NULL,`customers_paypal_ec` tinyint(1) NOT NULL DEFAULT '0',`customers_affiliate` tinyint(4) NOT NULL,`customers_department` mediumint(9) NOT NULL,`customers_payment_method` varchar(16) NOT NULL DEFAULT 'account',`customers_bill_rate` decimal(15,2) NOT NULL DEFAULT '0.00',`customers_ft` text NOT NULL,`customers_last_order_date` datetime NOT NULL,`customers_licences` varchar(128) NOT NULL,`customers_pin` mediumint(9) NOT NULL,`customers_domain` varchar(128) NOT NULL,`customers_company_num` varchar(32) NOT NULL,`customers_title` varchar(32) DEFAULT NULL,`customers_created_by` int(11) DEFAULT NULL,`customers_support_contact` int(11) DEFAULT NULL,`customers_service_level` smallint(6) NOT NULL DEFAULT '0',`customers_twitter` varchar(128) NOT NULL,`customers_updated` datetime DEFAULT NULL,`contact_group_id` int(10) NOT NULL DEFAULT '0',PRIMARY KEY (`customers_id`))";
|
448
|
+
$db->exec($query);
|
449
|
+
$query = "INSERT INTO `customers` VALUES (10,1730,'',0,'','','','0000-00-00 00:00:00','matt.willshire+autotestfitnesse@brightpearl.com','','',1,'','','','','','','','','3adf3e05f5665530c8feeab0173e78e3:b4',NULL,'1','','','','','','8','',1,1,'0','',1000,30,0,0,0,'',1,'','','','',0,0.00,'0000-00-00 00:00:00',0,0,'',1,0,0,1,'2008-12-21 22:05:10','',1,0,0,NULL,0,0,0,'',0.00,' infoatcompany.com CompanyName 0845123123 ','0000-00-00 00:00:00','',0,'','0',NULL,NULL,NULL,0,'',NULL,0)";
|
450
|
+
$db->exec($query);
|
451
|
+
$query = "CREATE TABLE `licence_type` (`licence_type_id` int(11) NOT NULL,`licence_type_code` char(3) NOT NULL,`description` varchar(255) NOT NULL,PRIMARY KEY (`licence_type_id`))";
|
452
|
+
$db->exec($query);
|
453
|
+
$query = "INSERT INTO `licence_type` SELECT 1 AS licence_type_id,'BOF' AS licence_type_code,'Back Office' AS description UNION SELECT 2,'SUP','Superadmin' UNION SELECT 3,'ACC','Accountant' UNION SELECT 4,'EPO','ePOS'";
|
454
|
+
$db->exec($query);
|
455
|
+
$query = "CREATE TABLE `session_to_licence_type` (`session_to_licence_type_id` int(11) NOT NULL ,`session_id` int(11) NOT NULL,`licence_type_id` int(11) NOT NULL,PRIMARY KEY (`session_to_licence_type_id`),CONSTRAINT `session_to_licence_type_ibfk_1` FOREIGN KEY (`session_id`) REFERENCES `sessions` (`sessions_id`),CONSTRAINT `session_to_licence_type_ibfk_2` FOREIGN KEY (`licence_type_id`) REFERENCES `licence_type` (`licence_type_id`))";
|
456
|
+
$db->exec($query);
|
457
|
+
$query = "INSERT INTO `session_to_licence_type` VALUES (1,1,2)";
|
458
|
+
$db->exec($query);
|
459
|
+
$query = " CREATE TABLE `client_domain` (`client_domain_id` int(11) NOT NULL,`client_config_id` int(11) DEFAULT '0',`client_domain` varchar(64) NOT NULL DEFAULT '',`client_domain_title` varchar(128) NOT NULL DEFAULT 'Primary Domain',`client_domain_primary` tinyint(1) NOT NULL DEFAULT '0',`client_domain_active` tinyint(1) NOT NULL DEFAULT '1',`client_domain_web` tinyint(1) NOT NULL DEFAULT '1',`client_domain_admin` tinyint(1) NOT NULL DEFAULT '1',`client_domain_created` timestamp NOT NULL, PRIMARY KEY (`client_domain_id`))";
|
460
|
+
$db->exec($query);
|
461
|
+
$query = "INSERT INTO `client_domain` VALUES (3595,1,'t27systems','Primary Domain',0,1,1,1,'2010-06-29 10:02:33')";
|
462
|
+
$db->exec($query);
|
463
|
+
$query = "INSERT INTO client_domain VALUES (3596,2,'app','Primary Domain',0,1,1,1,'2010-06-29 10:02:33')";
|
464
|
+
$db->exec($query);
|
465
|
+
$query = "CREATE TABLE `client_config` (`client_id` int(11) NOT NULL DEFAULT '0',`client_db_server` varchar(100) NOT NULL DEFAULT 'localhost',`client_db_database` varchar(32) NOT NULL DEFAULT '',`client_db_server_username` varchar(32) NOT NULL DEFAULT '',`client_db_server_password` varchar(32) NOT NULL DEFAULT '',`provider_id` int(11) NOT NULL DEFAULT '0',`overdue_balance` decimal(12,2) NOT NULL,`overdue_date` date NOT NULL,`accounts_emails` varchar(128) NOT NULL,`client_daughters` text,`client_pearl_version` varchar(32) NOT NULL DEFAULT '',`client_web_version` varchar(32) NOT NULL DEFAULT '',`client_web_home` varchar(32) NOT NULL DEFAULT 'index.php',`client_client_domain` varchar(64) NOT NULL DEFAULT '',`client_client_name` varchar(64) NOT NULL,`client_email_smtp_username` varchar(64) NOT NULL DEFAULT '',`client_email_smtp_password` varchar(64) NOT NULL DEFAULT '',`client_email_smtp_name` varchar(64) NOT NULL DEFAULT '',`client_email_smtp_active_password` tinyint(1) NOT NULL DEFAULT '1',`client_demo_mode` tinyint(4) NOT NULL DEFAULT '0',`client_enable_ssl` mediumtext NOT NULL,`client_pearl_upload_secret_key` varchar(64) NOT NULL DEFAULT '',`client_mailmerge_secret_key` varchar(64) NOT NULL DEFAULT '',`client_activity_report` int(11) NOT NULL DEFAULT '0',`client_hide_email_footer` tinyint(4) NOT NULL DEFAULT '0',`STATUS` varchar(24) DEFAULT NULL,`P_EVENTS` smallint(6) NOT NULL DEFAULT '0',`P_EDIT_SYSTEM_TEMPLATES` smallint(6) NOT NULL DEFAULT '0',`P_CALL_MANAGER` smallint(6) NOT NULL DEFAULT '0',`P_MAX_ADMINS` smallint(6) NOT NULL DEFAULT '1',`P_BUNDLES` smallint(6) NOT NULL DEFAULT '0',`P_WEBSTATS` smallint(6) NOT NULL DEFAULT '0',`P_AFFILIATES` smallint(6) NOT NULL DEFAULT '0',`P_STOCK_CONTROL` smallint(6) NOT NULL DEFAULT '0',`P_COMPLEX_PRODUCTS` smallint(6) NOT NULL DEFAULT '0',`MOD_PROJECTS` tinyint(4) DEFAULT NULL,`P_PEARLMAIL` smallint(6) NOT NULL DEFAULT '0',`P_EPOS` smallint(6) NOT NULL DEFAULT '1',`P_WEBSITE` smallint(6) NOT NULL DEFAULT '0',`MOD_STOCK` tinyint(4) DEFAULT NULL,`P_ORDER_FULFIL` tinyint(1) NOT NULL DEFAULT '0',`P_VAT_EXEMPTIONS` tinyint(1) NOT NULL DEFAULT '0',`P_MAX_PROJECT_USERS` mediumint(9) NOT NULL DEFAULT '0',`P_MAX_HELPDESK_USERS` int(11) NOT NULL DEFAULT '0',`broadcast_message` mediumtext NOT NULL,`MOD_PURCHASES` tinyint(4) DEFAULT NULL,`P_MAX_DOMAINS` smallint(6) NOT NULL DEFAULT '1',`P_ORDERS` tinyint(4) NOT NULL DEFAULT '1',`P_TIMESHEETS` tinyint(4) NOT NULL DEFAULT '0',`is_console` tinyint(4) NOT NULL,`P_MAX_CRM_USERS` smallint(6) NOT NULL,`P_MAX_ACCOUNTS_USERS` smallint(6) NOT NULL,`P_MAX_PRODUCTS_USERS` smallint(6) NOT NULL,`P_CART` tinyint(6) NOT NULL,`P_FILESPACE` mediumint(9) NOT NULL DEFAULT '250',`P_PACKAGES` smallint(6) NOT NULL DEFAULT '0',`MOD_HELPDESK` tinyint(4) DEFAULT NULL,`P_EXPRESS` tinyint(4) DEFAULT NULL,`client_db_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,`client_last_login` datetime DEFAULT NULL,`client_payment_date` smallint(6) DEFAULT NULL,`PAY_PLAN` varchar(24) NOT NULL,`last_bill_date` date NOT NULL,`next_bill_date` date NOT NULL,`discount` smallint(6) DEFAULT NULL,`discount_amount` smallint(6) NOT NULL DEFAULT '0',`credit_limit` smallint(6) DEFAULT NULL,`due_version_update` tinyint(4) DEFAULT NULL,`client_partner_billing` tinyint(4) DEFAULT '0',`P_IGNORE` tinyint(4) NOT NULL DEFAULT '0',`advisor_last_login` datetime NOT NULL,`dropbox_id` varchar(16) NOT NULL,`SUBS_AMOUNT` decimal(6,2) DEFAULT NULL,`SUBS_AMOUNT_CURRENCY` varchar(3) DEFAULT NULL,`TRIAL_EXPIRES` datetime NOT NULL,`SUBS_EXPIRES` datetime NOT NULL,`last_touched` date NOT NULL DEFAULT '0000-00-00' ,`SUBS_ISSUE` varchar(256) NOT NULL,`API_ACCESS` tinyint(4) DEFAULT '0',`GOLD` tinyint(4) NOT NULL DEFAULT '0',`NET_AMOUNT` decimal(9,2) NOT NULL DEFAULT '0.00',`P_ANNUAL_BILLING` decimal(8,2) DEFAULT '0.00',`RATE_CARD_AMOUNT` decimal(6,2) DEFAULT NULL,`RATE_CARD_CURRENCY` varchar(3) DEFAULT NULL,`timezone_name` varchar(64) DEFAULT NULL,`lifecycle_phase_code` char(4) NOT NULL DEFAULT 'NEWA',`account_purpose_code` char(5) NOT NULL DEFAULT 'CUBUS',`amazon` tinyint(1) NOT NULL DEFAULT '0',`ebay` tinyint(1) NOT NULL DEFAULT '0',`magento` tinyint(1) NOT NULL DEFAULT '0',`webhooks` tinyint(1) NOT NULL DEFAULT '0',`is_suspended` tinyint(1) NOT NULL DEFAULT '0',`suspended_since` datetime DEFAULT NULL,`suspension_reason` varchar(512) DEFAULT NULL,PRIMARY KEY (`client_id`) )";
|
466
|
+
$db->exec($query);
|
467
|
+
$query = "INSERT INTO `client_config` VALUES (1,'dsk-web-gbbr-044.gbbr.brightpearl.com','t27systems','t27systems','pearlsoftware',0,0.00,'0000-00-00','','','admindev','webdev','index.php','','Brightpearl','','','',1,0,'','','474e4620832fad927496cb24b2825d6b6ea7cc0bcd48a79a9fe18357762733e8',0,0,'',0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,'',0,1,1,0,0,0,1,0,0,250,0,0,0,'2013-06-17 09:19:28','0000-00-00 00:00:00',0,'office','0000-00-00','2013-07-17',0,0,0,0,0,0,'0000-00-00 00:00:00','',0.00,NULL,'2013-07-17 00:00:00','2020-01-01 00:00:00','0000-00-00','',0,0,0.00,0.00,NULL,NULL,NULL,'NEWA','CUBUS',0,0,0,0,0,NULL,NULL)";
|
468
|
+
$db->exec($query);
|
469
|
+
$query = "INSERT INTO client_config VALUES (2,'dsk-web-gbbr-044.gbbr.brightpearl.com','app','app','pearlsoftware',0,0.00,'0000-00-00','','','admindev','webdev','index.php','','Brightpearl','','','',1,0,'','','3a01b101462b1b42fedcbc5ef64f179ebd9a844541350054159a8b815879ba2c',0,0,'',0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,'',0,1,1,0,0,0,1,0,0,250,0,0,0,'2013-06-17 09:19:37','0000-00-00 00:00:00',0,'office','0000-00-00','2013-07-17',0,0,0,0,0,0,'0000-00-00 00:00:00','',0.00,NULL,'2013-07-17 00:00:00','2020-01-01 00:00:00','0000-00-00','',0,0,0.00,0.00,NULL,NULL,NULL,'NEWA','CUBUS',0,0,0,0,0,NULL,NULL)";
|
470
|
+
$db->exec($query);
|
471
|
+
$query = "CREATE TABLE `customer_price_groups` (`customer_price_group_id` smallint(6) NOT NULL DEFAULT '0',`customer_price_group_name` varchar(32) NOT NULL DEFAULT '',`customer_price_group_code` varchar(32) NOT NULL,`customer_price_group_text` mediumtext NOT NULL,`customer_price_group_web_vat` tinyint(4) NOT NULL DEFAULT '1',`customer_price_group_currency` smallint(5) NOT NULL,`customer_price_group_margin` decimal(6,2) NOT NULL,`customer_price_group_cost` tinyint(4) NOT NULL DEFAULT '0',PRIMARY KEY (`customer_price_group_id`))";
|
472
|
+
$db->exec($query);
|
473
|
+
$query = "INSERT INTO `customer_price_groups` VALUES (0,'Cost','COST','',0,1,0.00,0)";
|
474
|
+
$db->exec($query);
|
475
|
+
$query = "INSERT INTO `customer_price_groups` VALUES (1,'Retail','RETAIL','',1,1,0.00,0)";
|
476
|
+
$db->exec($query);
|
477
|
+
$query = "CREATE TABLE `channel_warehouse` (`channel_id` int(11) DEFAULT NULL,`warehouse_id` int(11) DEFAULT NULL)";
|
478
|
+
$db->exec($query);
|
479
|
+
$query = "CREATE TABLE `orders_status` (`orders_status_id` int(11) NOT NULL,`language_id` int(11) NOT NULL DEFAULT '1',`orders_status_name` varchar(32) NOT NULL DEFAULT '',`orders_status_colour` varchar(12) NOT NULL DEFAULT '',`orders_status_hidden` tinyint(4) NOT NULL DEFAULT '0',`orders_status_sort` smallint(6) NOT NULL DEFAULT '0',`orders_status_sale` tinyint(4) NOT NULL DEFAULT '0',`orders_status_purchase` tinyint(4) NOT NULL DEFAULT '0',`orders_status_public` tinyint(4) NOT NULL DEFAULT '0',`orders_status_batch_post` tinyint(4) NOT NULL,`orders_status_remind_days` smallint(5) NOT NULL,`orders_status_notify_email` varchar(128) NOT NULL,`orders_status_type` smallint(6) NOT NULL DEFAULT '1',PRIMARY KEY (`orders_status_id`,`language_id`))";
|
480
|
+
$db->exec($query);
|
481
|
+
$query = "INSERT INTO `orders_status` SELECT 1 AS order_status_id, 1 AS language_id,'Draft / Quote' AS orders_statuS_name,'#CCCCCC' AS orders_status_colour,0 AS orders_status_hidden ,0 AS orders_status_sort,1 AS orders_status_sale ,0 AS orders_status_purchase,0 AS orders_status_public,0 AS orders_status_batch_post,10 AS orders_status_remind_days,'' AS orders_status_notify_email,1 AS orders_status_type UNION SELECT 2,1,'Quote sent','#f3e49b',0,10,1,0,1,0,5,'',1 UNION SELECT 3,1,'Quote approved','#bfebf2',0,20,1,0,1,0,4,'',1 UNION SELECT 4,1,'Invoiced','#56dc56',0,40,1,0,1,0,0,'',1 UNION SELECT 5,1,'Cancelled','#967e69',0,50,1,0,0,0,0,'',1 UNION SELECT 6,1,'Pending PO','#EEEEEE',0,0,0,1,0,0,0,'',2 UNION SELECT 7,1,'Placed with supplier','#AAFEFE',0,10,0,1,1,0,0,'',2 UNION SELECT 8,1,'Work complete','#66CCCC',0,30,0,1,1,0,0,'',2 UNION SELECT 9,1,'Invoice received','#55FF55',0,40,0,1,1,0,0,'',2 UNION SELECT 10,1,'Sales credit','',0,0,0,0,0,0,0,'',3 UNION SELECT 11,1,'Sales credit complete','',0,0,0,0,0,0,0,'',3 UNION SELECT 12,1,'Purchase credit','',0,0,0,0,0,0,0,'',4 UNION SELECT 13,1,'Purchase credit complete','',0,0,0,0,0,0,0,'',4 UNION SELECT 16,1,'Work in progress','#f9e077',0,20,0,0,1,0,4,'',2 UNION SELECT 17,1,'Work in progress','#ffb8f1',0,30,0,0,1,0,10,'',1 UNION SELECT 18,1,'Cancelled','#967e69',0,100,0,0,0,0,0,'',3";
|
482
|
+
$db->exec($query);
|
483
|
+
}
|
484
|
+
|
485
|
+
/**
|
486
|
+
* Accessor for $_logDatabaseQueries.
|
487
|
+
* This should only be used under testing by the replacement pdb_query etc functions.
|
488
|
+
*/
|
489
|
+
public static function shouldLogDatabaseQueries()
|
490
|
+
{
|
491
|
+
return IntegrationTestCase::$_logDatabaseQueries;
|
492
|
+
}
|
493
|
+
|
494
|
+
/**
|
495
|
+
* Accessor function for use in testing.yml to override the zend http response object.
|
496
|
+
* when under test.
|
497
|
+
*/
|
498
|
+
public static function getCurrentResponse()
|
499
|
+
{
|
500
|
+
return IntegrationTestCase::$_currentResponse;
|
501
|
+
}
|
502
|
+
|
503
|
+
private $_logContent = false;
|
504
|
+
private static $_database = null;
|
505
|
+
private static $_logDatabaseQueries = false;
|
506
|
+
private static $_currentResponse = null;
|
507
|
+
}
|
508
|
+
|
509
|
+
function apache_getenv($var)
|
510
|
+
{
|
511
|
+
return null;
|
512
|
+
}
|