FIX: Fixes #65 Use Injector to instantiate created objects. (#68)

This commit is contained in:
Russ Michell 2018-06-06 09:39:30 +12:00 committed by Robbie Averill
parent 3c1055e2f0
commit 9e923d6f9e

View File

@ -15,6 +15,7 @@ use SilverStripe\ORM\ValidationResult;
use SilverStripe\Security\Member; use SilverStripe\Security\Member;
use SilverStripe\Security\Security; use SilverStripe\Security\Security;
use SilverStripe\CMS\Model\SiteTree; use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Core\Injector\Injector;
/** /**
* Generic RESTful server, which handles webservice access to arbitrary DataObjects. * Generic RESTful server, which handles webservice access to arbitrary DataObjects.
@ -523,7 +524,8 @@ class RestfulServer extends Controller
if (!singleton($className)->canCreate($this->getMember())) { if (!singleton($className)->canCreate($this->getMember())) {
return $this->permissionFailure(); return $this->permissionFailure();
} }
$obj = new $className();
$obj = Injector::inst()->create($className);
$reqFormatter = $this->getRequestDataFormatter($className); $reqFormatter = $this->getRequestDataFormatter($className);
if (!$reqFormatter) { if (!$reqFormatter) {