protected function insertDependencies(&$ids, &$errors, $documentTypes)
{
if (!empty($documentTypes)) {
foreach ($documentTypes as $documentType) {
$model = $documentType['model'];
$availableViews = $documentType['views'];
$dependencies = $documentType['dependencies'];
$dependenciesValues = array();
if (isset($dependencies['id']) and is_array($dependencies['id'])) {
$dependencies = $dependencies['id'];
}
foreach ($dependencies as $dependency) {
$documentTypeId = isset($ids['document_types'][(int) $dependency]) ? $ids['document_types'][(int) $dependency] : (int) $dependency;
if (empty($documentTypeId)) {
continue;
}
$dependenciesValues[] = $documentTypeId;
}
$model->setDependencies($dependenciesValues);
foreach ($availableViews as $view) {
$viewId = isset($ids['views'][(int) $view]) ? $ids['views'][(int) $view] : (int) $view;
if (empty($viewId)) {
continue;
}
$model->addView($viewId);
}
try {
$model->save();
} catch (Exception $e) {
$errors[] = sprintf($this->serviceLocator->get('MvcTranslator')->translate('Cannot save dependencies for document type with id (%d)'), empty($documentTypeId) ? 0 : $documentTypeId);
}
}
}
}