diff --git a/openpype/tools/new_publisher/control.py b/openpype/tools/new_publisher/control.py index 8e3d297a85..962c712b12 100644 --- a/openpype/tools/new_publisher/control.py +++ b/openpype/tools/new_publisher/control.py @@ -95,5 +95,6 @@ class PublisherController: self.instances = instances - def create(self, family, variant=None, options=None): - print("TODO implement create") + def create(self, family, subset_name, instance_data, options): + creator = self.creators[family] + return creator.create(subset_name, instance_data, options) diff --git a/openpype/tools/new_publisher/widgets.py b/openpype/tools/new_publisher/widgets.py index b453af0851..ffa461890d 100644 --- a/openpype/tools/new_publisher/widgets.py +++ b/openpype/tools/new_publisher/widgets.py @@ -414,12 +414,22 @@ class CreateDialog(QtWidgets.QDialog): index = indexes[0] family = index.data(QtCore.Qt.DisplayRole) + subset_name = self.subset_name_input.text() variant = self.variant_input.text() + asset_name = self._asset_doc["name"] + task_name = self.dbcon.Session.get("AVALON_TASK") options = { "useSelection": self.use_selection_checkbox.isChecked() } - - self.controller.create(family, variant, options) + # Where to define these data? + # - what data show be stored? + instance_data = { + "asset": asset_name, + "task": task_name, + "variant": variant, + "family": family + } + self.controller.create(family, subset_name, instance_data, options) if self.auto_close_checkbox.isChecked(): self.hide()