@@ -53,7 +53,7 @@ def __init__(self, parent, db_name: str):
5353 self .model = ProductModel (self )
5454
5555 # Create the QTableView and set the model
56- self .table_view = ProductView (self )
56+ self .table_view = ProductView (self , db_name = db_name )
5757 self .table_view .setModel (self .model )
5858 self .model .setDataFrame (self .build_df ())
5959
@@ -255,27 +255,27 @@ class ContextMenu(ui.widgets.ABMenu):
255255 enable = len (p .selected_activities ) > 0 ,
256256 ),
257257 lambda m : m .addSeparator (),
258- lambda m , p : m .add (actions .ActivityNewProcess , m . database_name ,
259- enable = not database_is_locked (m . database_name ),
258+ lambda m , p : m .add (actions .ActivityNewProcess , p . db_name ,
259+ enable = not database_is_locked (p . db_name ),
260260 ),
261261 lambda m , p : m .add (actions .ActivityDuplicate , p .selected_activities ,
262262 text = "Duplicate process" if len (p .selected_activities ) == 1 else "Duplicate processes" ,
263- enable = len (p .selected_activities ) > 0 and not database_is_locked (m . database_name ),
263+ enable = len (p .selected_activities ) > 0 and not database_is_locked (p . db_name ),
264264 ),
265265 lambda m , p : m .add (actions .ActivityDuplicateToDB , p .selected_activities ,
266266 text = "Move process" if len (p .selected_activities ) == 1 else "Move processes" ,
267- enable = len (p .selected_activities ) > 0 and not database_is_locked (m . database_name ),
267+ enable = len (p .selected_activities ) > 0 and not database_is_locked (p . db_name ),
268268 ),
269269 lambda m : m .addSeparator (),
270270 lambda m , p : m .add (actions .ActivityDelete , p .selected_activities ,
271271 text = "Delete process" if len (p .selected_activities ) == 1 else "Delete processes" ,
272- enable = len (p .selected_activities ) > 0 and not database_is_locked (m . database_name ),
272+ enable = len (p .selected_activities ) > 0 and not database_is_locked (p . db_name ),
273273 ),
274274 lambda m , p : m .add (actions .ActivityDelete , p .selected_products ,
275275 text = "Delete product" if len (p .selected_products ) == 1 else "Delete products" ,
276276 enable = len (p .selected_products ) > 0 and not
277- database_is_locked (m . database_name ) and not
278- database_is_legacy (m . database_name ),
277+ database_is_locked (p . db_name ) and not
278+ database_is_legacy (p . db_name ),
279279 ),
280280 lambda m : m .addSeparator (),
281281 lambda m , p : m .add (actions .CSNew ,
@@ -295,16 +295,13 @@ def get_functional_unit_amount(key):
295295 exc = excs [0 ] if len (excs ) == 1 else {}
296296 return exc .get ("amount" , 1.0 )
297297
298- @property
299- def database_name (self ):
300- return self .parent ().parent ().database .name
301-
302- def __init__ (self , parent : DatabaseProductsPane ):
298+ def __init__ (self , parent : DatabaseProductsPane , db_name : str ):
303299 """
304300 Initializes the ProductView.
305301
306302 Args:
307303 parent (DatabaseProductsPane): The parent widget.
304+ db_name (str): The name of the database.
308305 """
309306 super ().__init__ (parent )
310307 self .setSortingEnabled (True )
@@ -313,6 +310,8 @@ def __init__(self, parent: DatabaseProductsPane):
313310 self .setSelectionBehavior (ui .widgets .ABTreeView .SelectionBehavior .SelectRows )
314311 self .setSelectionMode (ui .widgets .ABTreeView .SelectionMode .ExtendedSelection )
315312
313+ self .db_name = db_name
314+
316315 self .propertyDelegate = delegates .PropertyDelegate (self )
317316
318317 def setDefaultColumnDelegates (self ):
0 commit comments