/**
  * @param SS_HTTPRequest $request
  * @return bool
  */
 public function run($request)
 {
     /* @var $permissionChecker AnnotatePermissionChecker */
     $permissionChecker = Injector::inst()->get('AnnotatePermissionChecker');
     if (!$permissionChecker->environmentIsAllowed()) {
         return false;
     }
     /* @var $annotator DataObjectAnnotator */
     $annotator = DataObjectAnnotator::create();
     $annotator->annotateObject($request->getVar('object'));
     $annotator->annotateModule($request->getVar('module'));
     return true;
 }
 public function requireDefaultRecords()
 {
     if (!Config::inst()->get('DataObjectAnnotator', 'enabled') || isset($_GET['skipannotation'])) {
         return false;
     }
     /* @var $annotator DataObjectAnnotator */
     $annotator = DataObjectAnnotator::create();
     $annotator->annotateDataObject($this->owner->ClassName);
     if ($extensions = Config::inst()->get($this->owner->ClassName, 'extensions', Config::UNINHERITED)) {
         foreach ($extensions as $extension) {
             $annotator->annotateDataObject($extension);
         }
     }
 }
 /**
  * @param $request SS_HTTPRequest
  *
  * @return bool || void
  */
 public function run($request)
 {
     if (!Config::inst()->get('DataObjectAnnotator', 'enabled')) {
         return false;
     }
     $className = $request->getVar('dataobject');
     $moduleName = $request->getVar('module');
     $undo = $request->getVar('undo');
     /* @var $annotator DataObjectAnnotator */
     $annotator = DataObjectAnnotator::create();
     if ($className) {
         $annotator->annotateDataObject($className, $undo);
     } elseif ($moduleName) {
         $annotator->annotateModule($moduleName, $undo);
     }
 }