@@ -552,7 +552,7 @@ pimcore.registerNS("pimcore.object.tree");
552552 var pasteMenu = [ ] ;
553553
554554 if ( perspectiveCfg . inTreeContextMenu ( "object.paste" ) ) {
555- if ( pimcore . cachedObjectId ) {
555+ if ( pimcore . cachedObjectId && ( typeof perspectiveCfg . classes === "undefined" || typeof pimcore . copiedObject . get ( 'className' ) === "undefined" || pimcore . copiedObject . get ( 'className' ) in perspectiveCfg . classes ) ) {
556556 pasteMenu . push ( {
557557 text : t ( "paste_recursive_as_child" ) ,
558558 iconCls : "pimcore_icon_paste" ,
@@ -580,28 +580,26 @@ pimcore.registerNS("pimcore.object.tree");
580580 }
581581 }
582582
583- if ( ! isVariant ) {
584- if ( pimcore . cutObject ) {
585- pasteMenu . push ( {
586- text : t ( "paste_cut_element" ) ,
587- iconCls : "pimcore_icon_paste" ,
588- handler : function ( ) {
589- this . pasteCutObject ( pimcore . cutObject ,
590- pimcore . cutObjectParentNode , record , this . tree ) ;
591- pimcore . cutObjectParentNode = null ;
592- pimcore . cutObject = null ;
593- } . bind ( this )
594- } ) ;
595- }
583+ if ( pimcore . cutObject && ( typeof perspectiveCfg . classes === "undefined" || typeof pimcore . cutObject . get ( 'className' ) === "undefined" || pimcore . cutObject . get ( 'className' ) in perspectiveCfg . classes ) ) {
584+ pasteMenu . push ( {
585+ text : t ( "paste_cut_element" ) ,
586+ iconCls : "pimcore_icon_paste" ,
587+ handler : function ( ) {
588+ this . pasteCutObject ( pimcore . cutObject ,
589+ pimcore . cutObjectParentNode , record , this . tree ) ;
590+ pimcore . cutObjectParentNode = null ;
591+ pimcore . cutObject = null ;
592+ } . bind ( this )
593+ } ) ;
594+ }
596595
597- if ( pasteMenu . length > 0 ) {
598- menu . add ( new Ext . menu . Item ( {
599- text : t ( 'paste' ) ,
600- iconCls : "pimcore_icon_paste" ,
601- hideOnClick : false ,
602- menu : pasteMenu
603- } ) ) ;
604- }
596+ if ( pasteMenu . length > 0 ) {
597+ menu . add ( new Ext . menu . Item ( {
598+ text : t ( 'paste' ) ,
599+ iconCls : "pimcore_icon_paste" ,
600+ hideOnClick : false ,
601+ menu : pasteMenu
602+ } ) ) ;
605603 }
606604 }
607605 }
@@ -851,6 +849,7 @@ pimcore.registerNS("pimcore.object.tree");
851849
852850 copy : function ( tree , record ) {
853851 pimcore . cachedObjectId = record . data . id ;
852+ pimcore . copiedObject = record ;
854853 } ,
855854
856855 cut : function ( tree , record ) {
0 commit comments