diff --git a/public/js/pimcore/helpers.js b/public/js/pimcore/helpers.js index 380fad357..946e57a14 100644 --- a/public/js/pimcore/helpers.js +++ b/public/js/pimcore/helpers.js @@ -361,6 +361,25 @@ pimcore.helpers.closeElement = function (id, type) { } }; +pimcore.helpers.refreshElement = function () { + var tabpanel = Ext.getCmp("pimcore_panel_tabs"); + var activeTab = tabpanel.getActiveTab(); + + if (activeTab) { + // for document + if (activeTab.initialConfig.document) { + activeTab.initialConfig.document.reload(); + return true; + } + else if (activeTab.initialConfig.object) { + activeTab.initialConfig.object.reload(); + return true; + } + } + + return false; +}; + pimcore.helpers.getElementTypeByObject = function (object) { var type = null; if (object instanceof pimcore.document.document) { @@ -723,19 +742,8 @@ pimcore.helpers.handleF5 = function (keyCode, e) { e.stopEvent(); - var tabpanel = Ext.getCmp("pimcore_panel_tabs"); - var activeTab = tabpanel.getActiveTab(); - - if (activeTab) { - // for document - if (activeTab.initialConfig.document) { - activeTab.initialConfig.document.reload(); - return; - } - else if (activeTab.initialConfig.object) { - activeTab.initialConfig.object.reload(); - return; - } + if (pimcore.helpers.refreshElement()){ + return; } var date = new Date(); @@ -766,8 +774,7 @@ pimcore.helpers.lockManager = function (cid, ctype, csubtype, data) { } }); } else { - pimcore.helpers.closeElement(lock[0], lock[1]); - pimcore.helpers.openElement(lock[0], lock[1], lock[2]); + pimcore.helpers.refreshElement(); } }.bind(this, arguments)); }; diff --git a/src/Controller/Admin/ElementController.php b/src/Controller/Admin/ElementController.php index 9734814c3..fa35db8a6 100644 --- a/src/Controller/Admin/ElementController.php +++ b/src/Controller/Admin/ElementController.php @@ -40,7 +40,7 @@ class ElementController extends AdminAbstractController { use ElementEditLockHelperTrait; - #[Route('/element/lock-element', name: 'pimcore_admin_element_lockelement', methods: ['PUT'])] + #[Route('/element/lock-element', name: 'pimcore_admin_element_islocked', methods: ['GET'])] public function isLockedAction(Request $request): JsonResponse { $isLocked = Element\Editlock::isLocked( @@ -56,9 +56,7 @@ public function isLockedAction(Request $request): JsonResponse return $this->adminJson(['success' => true, 'editLock' => null]); } - /** - * @Route("/element/lock-element", name="pimcore_admin_element_lockelement", methods={"PUT"}) - */ + #[Route('/element/lock-element', name: 'pimcore_admin_element_lockelement', methods:['PUT'])] public function lockElementAction(Request $request): Response { Element\Editlock::lock($request->request->getInt('id'), $request->request->get('type'), $request->getSession()->getId());