diff --git a/openpype/modules/sync_server/sync_server_module.py b/openpype/modules/sync_server/sync_server_module.py index 5ee9d87791..a720d7d989 100644 --- a/openpype/modules/sync_server/sync_server_module.py +++ b/openpype/modules/sync_server/sync_server_module.py @@ -717,9 +717,15 @@ class SyncServerModule(PypeModule, ITrayModule): }}, {'$addFields': { 'priority': { - '$cond': [{'$size': '$order_local.priority'}, - {'$first': '$order_local.priority'}, - self.DEFAULT_PRIORITY]} + '$cond': [ + {'$size': '$order_local.priority'}, + {'$first': '$order_local.priority'}, + {'$cond': [ + {'$size': '$order_remote.priority'}, + {'$first': '$order_remote.priority'}, + self.DEFAULT_PRIORITY]} + ] + }, }}, {'$group': { '_id': '$_id', diff --git a/openpype/modules/sync_server/tray/delegates.py b/openpype/modules/sync_server/tray/delegates.py index 0e694f1f9e..72d7ec836e 100644 --- a/openpype/modules/sync_server/tray/delegates.py +++ b/openpype/modules/sync_server/tray/delegates.py @@ -36,13 +36,16 @@ class PriorityDelegate(QtWidgets.QStyledItemDelegate): editor = PriorityLineEdit( parent, option.widget.selectionModel().selectedRows()) - editor.setValidator(QtGui.QIntValidator(0, 1000, self)) editor.setFocus(True) return editor def setModelData(self, editor, model, index): for index in editor.selected_idxs: - model.set_priority_data(index, editor.text()) + try: + val = int(editor.text()) + except ValueError: + val = model.sync_server.DEFAULT_PRIORITY + model.set_priority_data(index, val) class PriorityLineEdit(QtWidgets.QLineEdit): diff --git a/openpype/modules/sync_server/tray/models.py b/openpype/modules/sync_server/tray/models.py index d05035616a..a5d2e5737d 100644 --- a/openpype/modules/sync_server/tray/models.py +++ b/openpype/modules/sync_server/tray/models.py @@ -691,9 +691,15 @@ class SyncRepresentationSummaryModel(_SyncRepresentationModel): 1, 0]}, 'priority': { - '$cond': [{'$size': '$order_local.priority'}, - {'$first': '$order_local.priority'}, - self.sync_server.DEFAULT_PRIORITY]}, + '$cond': [ + {'$size': '$order_local.priority'}, + {'$first': '$order_local.priority'}, + {'$cond': [ + {'$size': '$order_remote.priority'}, + {'$first': '$order_remote.priority'}, + self.sync_server.DEFAULT_PRIORITY]} + ] + }, }}, {'$group': { '_id': '$_id', @@ -1204,9 +1210,15 @@ class SyncRepresentationDetailModel(_SyncRepresentationModel): ]} ]}}, 'priority': { - '$cond': [{'$size': '$order_local.priority'}, - {'$first': '$order_local.priority'}, - self.sync_server.DEFAULT_PRIORITY]} + '$cond': [ + {'$size': '$order_local.priority'}, + {'$first': '$order_local.priority'}, + {'$cond': [ + {'$size': '$order_remote.priority'}, + {'$first': '$order_remote.priority'}, + self.sync_server.DEFAULT_PRIORITY]} + ] + }, }}, {"$project": self.projection} ]