Kit manager finally seems to be working.
This commit is contained in:
@@ -43,7 +43,7 @@ class ManagerWindow(QDialog):
|
|||||||
self.managers.add(self.parent().instance)
|
self.managers.add(self.parent().instance)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
logger.debug(f"Managers: {managers}")
|
# logger.debug(f"Managers: {managers}")
|
||||||
self.extras = extras
|
self.extras = extras
|
||||||
self.context = kwargs
|
self.context = kwargs
|
||||||
self.layout = QGridLayout(self)
|
self.layout = QGridLayout(self)
|
||||||
@@ -154,6 +154,11 @@ class ManagerWindow(QDialog):
|
|||||||
# NOTE: Add OK|Cancel to bottom of dialog.
|
# NOTE: Add OK|Cancel to bottom of dialog.
|
||||||
self.layout.addWidget(self.buttonBox, self.layout.rowCount(), 0, 1, 2)
|
self.layout.addWidget(self.buttonBox, self.layout.rowCount(), 0, 1, 2)
|
||||||
|
|
||||||
|
|
||||||
|
def add_new_relation(self, field: str):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def parse_form(self) -> Any:
|
def parse_form(self) -> Any:
|
||||||
"""
|
"""
|
||||||
Returns the instance associated with this window.
|
Returns the instance associated with this window.
|
||||||
@@ -164,14 +169,16 @@ class ManagerWindow(QDialog):
|
|||||||
# TODO: Need Relationship property here too?
|
# TODO: Need Relationship property here too?
|
||||||
results = [item.parse_form() for item in self.findChildren(EditProperty)]
|
results = [item.parse_form() for item in self.findChildren(EditProperty)]
|
||||||
for result in results:
|
for result in results:
|
||||||
logger.debug(f"Incoming result: {result}")
|
# logger.debug(f"Incoming result: {result}")
|
||||||
setattr(self.instance, result['field'], result['value'])
|
setattr(self.instance, result['field'], result['value'])
|
||||||
logger.debug(f"Set result: {getattr(self.instance, result['field'])}")
|
# logger.debug(f"Set result: {getattr(self.instance, result['field'])}")
|
||||||
results = [item.parse_form() for item in self.findChildren(EditRelationship)]
|
results = [item.parse_form() for item in self.findChildren(EditRelationship)]
|
||||||
for result in results:
|
for result in results:
|
||||||
logger.debug(f"Incoming result: {result}")
|
logger.debug(f"Incoming result: {result}")
|
||||||
|
if not getattr(self.instance, result['field']):
|
||||||
setattr(self.instance, result['field'], result['value'])
|
setattr(self.instance, result['field'], result['value'])
|
||||||
logger.debug(f"Set result: {getattr(self.instance, result['field'])}")
|
logger.debug(f"Set result: {getattr(self.instance, result['field'])}")
|
||||||
|
logger.debug(f"Instance coming from parsed form: {self.instance.__dict__}")
|
||||||
return self.instance
|
return self.instance
|
||||||
|
|
||||||
def add_new(self):
|
def add_new(self):
|
||||||
@@ -267,8 +274,9 @@ class EditRelationship(QWidget):
|
|||||||
if not self.relationship.property.uselist and len(self.data) >= 1:
|
if not self.relationship.property.uselist and len(self.data) >= 1:
|
||||||
self.add_button.setEnabled(False)
|
self.add_button.setEnabled(False)
|
||||||
self.existing_button.setEnabled(False)
|
self.existing_button.setEnabled(False)
|
||||||
logger.debug(f"Checked manager for check: {check_object_in_managers(self.parent().managers, self.objectName())}")
|
checked_manager = check_object_in_managers(self.parent().managers, self.objectName())
|
||||||
if check_object_in_managers(self.parent().managers, self.objectName()):
|
logger.debug(f"Checked manager for check: {checked_manager}")
|
||||||
|
if checked_manager:
|
||||||
self.widget.setEnabled(False)
|
self.widget.setEnabled(False)
|
||||||
self.add_button.setEnabled(False)
|
self.add_button.setEnabled(False)
|
||||||
self.existing_button.setEnabled(False)
|
self.existing_button.setEnabled(False)
|
||||||
@@ -294,34 +302,21 @@ class EditRelationship(QWidget):
|
|||||||
if not instance:
|
if not instance:
|
||||||
instance = self.entity()
|
instance = self.entity()
|
||||||
managers = self.parent().managers
|
managers = self.parent().managers
|
||||||
logger.debug(f"Managers going into add new: {managers}")
|
# logger.debug(f"Managers going into add new: {managers}")
|
||||||
# match instance.level:
|
|
||||||
# case 1:
|
|
||||||
# dlg = AddEdit(self.parent(), instance=instance, managers=managers)
|
|
||||||
# case 2:
|
|
||||||
# dlg = ManagerWindow(self.parent(), object_type=instance.__class__, extras=[], managers=managers)
|
|
||||||
# case _:
|
|
||||||
# return
|
|
||||||
dlg = ManagerWindow(self.parent(), object_type=instance.__class__, extras=[], managers=managers)
|
dlg = ManagerWindow(self.parent(), object_type=instance.__class__, extras=[], managers=managers)
|
||||||
if dlg.exec():
|
if dlg.exec():
|
||||||
new_instance = dlg.parse_form()
|
new_instance = dlg.parse_form()
|
||||||
logger.debug(f"New instance before transformation attempt: {new_instance}")
|
# logger.debug(f"New instance before transformation attempt: {new_instance}")
|
||||||
try:
|
# try:
|
||||||
new_instance = new_instance.to_sql()
|
# new_instance = new_instance.to_sql()
|
||||||
except AttributeError as e:
|
# except AttributeError as e:
|
||||||
logger.error(f"Couldn't convert {new_instance} to sql due to {e}")
|
# logger.error(f"Couldn't convert {new_instance} to sql due to {e}")
|
||||||
logger.debug(f"New instance after transformation attempt: {new_instance.__dict__}")
|
# # logger.debug(f"New instance after transformation attempt: {new_instance.__dict__}")
|
||||||
# addition = getattr(self.parent().instance, self.objectName())
|
|
||||||
# logger.debug(f"Addition: {addition}")
|
|
||||||
# if self.relationship.property.uselist:
|
|
||||||
# addition.append(instance)
|
|
||||||
# else:
|
|
||||||
# addition = instance
|
|
||||||
# setattr(self.parent().instance, self.objectName(), new_instance)
|
# setattr(self.parent().instance, self.objectName(), new_instance)
|
||||||
logger.debug(f"Parent instance after insert: {getattr(self.parent().instance, self.objectName())}")
|
# # logger.debug(f"Parent instance after insert: {getattr(self.parent().instance, self.objectName())}")
|
||||||
# NOTE: Saving currently disabled
|
# # NOTE: Saving currently disabled
|
||||||
# self.parent().instance.save()
|
# self.parent().instance.save()
|
||||||
return new_instance
|
# return new_instance
|
||||||
self.parent().update_data()
|
self.parent().update_data()
|
||||||
|
|
||||||
def add_existing(self):
|
def add_existing(self):
|
||||||
@@ -342,7 +337,7 @@ class EditRelationship(QWidget):
|
|||||||
# addition = instance
|
# addition = instance
|
||||||
setattr(self.parent().instance, self.objectName(), instance)
|
setattr(self.parent().instance, self.objectName(), instance)
|
||||||
# self.parent().instance.save()
|
# self.parent().instance.save()
|
||||||
# self.parent().update_data()
|
self.parent().update_data()
|
||||||
# yield instance
|
# yield instance
|
||||||
|
|
||||||
def set_choices(self) -> None:
|
def set_choices(self) -> None:
|
||||||
@@ -359,10 +354,11 @@ class EditRelationship(QWidget):
|
|||||||
else:
|
else:
|
||||||
self.data = []
|
self.data = []
|
||||||
checked_manager = check_object_in_managers(self.parent().managers, self.objectName())
|
checked_manager = check_object_in_managers(self.parent().managers, self.objectName())
|
||||||
logger.debug(f"Returned checked_manager: {checked_manager}")
|
# logger.debug(f"Returned checked_manager: {checked_manager}")
|
||||||
if checked_manager is not None:
|
if checked_manager is not None:
|
||||||
if not self.data:
|
if not self.data:
|
||||||
self.data = [checked_manager]
|
self.data = [checked_manager]
|
||||||
|
# setattr(self.parent().instance, self.objectName(), checked_manager)
|
||||||
# logger.debug(f"Data: {self.data}")
|
# logger.debug(f"Data: {self.data}")
|
||||||
try:
|
try:
|
||||||
records = [{k: v['instance_attr'] for k, v in item.omnigui_instance_dict.items()} for item in self.data]
|
records = [{k: v['instance_attr'] for k, v in item.omnigui_instance_dict.items()} for item in self.data]
|
||||||
|
|||||||
Reference in New Issue
Block a user