Encapsulates the result of an action, including error messages.
Author: Nerds & Company
Inheritance: extends Craft\BaseModel
示例#1
0
 /**
  * Returns if there are errors or not.
  *
  * @param string $attribute
  *
  * @return bool
  */
 protected function hasErrors($attribute = 'errors')
 {
     return $this->resultModel->hasErrors($attribute);
 }
示例#2
0
 /**
  * Import data model.
  *
  * @param Data $model
  * @param bool $force if set to true items not in the import will be deleted
  *
  * @return Result
  */
 private function importDataModel(Data $model, $force)
 {
     // Import schema
     $locales = $model->getAttribute('locales', $force);
     $localesImportResult = Craft::app()->schematic_locales->import($locales);
     $plugins = $model->getAttribute('plugins', $force);
     $pluginImportResult = Craft::app()->schematic_plugins->import($plugins);
     $fields = $model->getAttribute('fields');
     $fieldImportResult = Craft::app()->schematic_fields->import($fields, $force);
     $assetSources = $model->getAttribute('assetSources');
     $assetSourcesImportResult = Craft::app()->schematic_assetSources->import($assetSources, $force);
     $globalSets = $model->getAttribute('globalSets');
     $globalSetsImportResult = Craft::app()->schematic_globalSets->import($globalSets, $force);
     $sections = $model->getAttribute('sections');
     $sectionImportResult = Craft::app()->schematic_sections->import($sections, $force);
     $categoryGroups = $model->getAttribute('categoryGroups');
     $categoryGroupImportResult = Craft::app()->schematic_categoryGroups->import($categoryGroups, $force);
     $tagGroups = $model->getAttribute('tagGroups');
     $tagGroupImportResult = Craft::app()->schematic_tagGroups->import($tagGroups, $force);
     $userGroups = $model->getAttribute('userGroups');
     $userGroupImportResult = Craft::app()->schematic_userGroups->import($userGroups, $force);
     $users = $model->getAttribute('users');
     $userImportResult = Craft::app()->schematic_users->import($users, true);
     $fields = $model->getAttribute('fields');
     $fieldImportResultFinal = Craft::app()->schematic_fields->import($fields, $force);
     // Element index settings are supported from Craft 2.5
     if (version_compare(CRAFT_VERSION, '2.5', '>=')) {
         $elementIndexSettingsImportResult = Craft::app()->schematic_elementIndexSettings->import($model->getAttribute('elementIndexSettings'), $force);
     }
     // Verify results
     $result = new Result();
     $result->consume($localesImportResult);
     $result->consume($pluginImportResult);
     $result->consume($fieldImportResult);
     $result->consume($assetSourcesImportResult);
     $result->consume($globalSetsImportResult);
     $result->consume($sectionImportResult);
     $result->consume($categoryGroupImportResult);
     $result->consume($tagGroupImportResult);
     $result->consume($userGroupImportResult);
     $result->consume($userImportResult);
     $result->consume($fieldImportResultFinal);
     // Element index settings are supported from Craft 2.5
     if (version_compare(CRAFT_VERSION, '2.5', '>=')) {
         $result->consume($elementIndexSettingsImportResult);
     }
     $services = Craft::app()->plugins->call('registerMigrationService');
     $this->doImport($result, $model->pluginData, $services, $force);
     return $result;
 }
示例#3
0
 /**
  * Consumes the errors listed in an existing result and appends them to this result.
  *
  * @param Result $result The result to consume
  */
 public function consume(Result $result)
 {
     if ($result->hasErrors('errors')) {
         $this->addErrors(['errors' => $result->getErrors('errors')]);
     }
 }