Fix for start up bug. Re factoring singleton code had brroken due to scope of clas var.

This commit is contained in:
Aaron Moses 2019-12-26 02:42:11 +00:00
parent a0e0870f1a
commit 027b614050
4 changed files with 11 additions and 10 deletions

View File

@ -2,7 +2,7 @@
// This is executed inside DatabaseMigrationService class/context // This is executed inside DatabaseMigrationService class/context
$db = $this->DatabaseService->GetDbConnection(); $db = $this->getDatabaseService()->GetDbConnection();
if (defined('GROCY_HTTP_USER')) if (defined('GROCY_HTTP_USER'))
{ {

View File

@ -3,9 +3,9 @@
// This is executed inside DatabaseMigrationService class/context // This is executed inside DatabaseMigrationService class/context
use \Grocy\Services\LocalizationService; use \Grocy\Services\LocalizationService;
$localizationService = new LocalizationService(GROCY_CULTURE); $localizationService = $this->getLocalizationService();
$db = $this->DatabaseService->GetDbConnection(); $db = $this->getDatabaseService()->GetDbConnection();
if ($db->quantity_units()->count() === 0) if ($db->quantity_units()->count() === 0)
{ {

View File

@ -3,11 +3,11 @@
// This is executed inside DatabaseMigrationService class/context // This is executed inside DatabaseMigrationService class/context
use \Grocy\Services\LocalizationService; use \Grocy\Services\LocalizationService;
$localizationService = new LocalizationService(GROCY_CULTURE); $localizationService = $this->getLocalizationService();
$db = $this->DatabaseService->GetDbConnection(); $db = $this->getDatabaseService()->GetDbConnection();
$defaultShoppingList = $this->Database->shopping_lists()->where('id = 1')->fetch(); $defaultShoppingList = $db->shopping_lists()->where('id = 1')->fetch();
$defaultShoppingList->update(array( $defaultShoppingList->update(array(
'name' => $localizationService->__t('Shopping list') 'name' => $localizationService->__t('Shopping list')
)); ));

View File

@ -10,16 +10,17 @@ class BaseService
public function __construct() { public function __construct() {
} }
private static $instance = null; private static $instances = array();
public static function getInstance() public static function getInstance()
{ {
if (self::$instance == null) $className = get_called_class();
if(!isset(self::$instances[$className]))
{ {
self::$instance = new self(); self::$instances[$className] = new $className();
} }
return self::$instance; return self::$instances[$className];
} }
protected function getDatabaseService() protected function getDatabaseService()