Specialized menu callback to load a view and check its locked status.
$name: The machine name of the view.
The view object, with a "locked" property indicating whether or not someone else is already editing the view.
function views_ui_cache_load($name) {
$views_temp_store = drupal_container()
->get('user.tempstore')
->get('views');
$view = $views_temp_store
->get($name);
$storage = entity_load('view', $name);
$original_view = $storage ? new ViewUI($storage) : NULL;
if (empty($view)) {
$view = $original_view;
if (!empty($view)) {
// Check to see if someone else is already editing this view.
// Set a flag to indicate that this view is being edited.
// This flag will be used e.g. to determine whether strings
// should be localized.
$view->editing = TRUE;
}
}
else {
// Keep disabled/enabled status real.
if ($original_view) {
$view
->set('disabled', $original_view
->get('disabled'));
}
}
if (empty($view)) {
return FALSE;
}
$view->locked = $views_temp_store
->getMetadata($view
->get('name'));
return $view;
}