Добрый день
Поставлена задача контролировать статус активностей по обращению на момент перехода в статус "IsResolved". Сделал на CasePage в methods 2 функции:
asyncValidate: function(callback, scope) {
this.callParent([function(response) {
if (!this.validateResponse(response)) {
return;
}
Terrasoft.chain(
function(next) {
this.validateActivities(function(response) {
if (this.validateResponse(response)) {
next();
}
}, this);
},
function() {
callback.call(scope, response);
}, this);
}, this]);
},
validateActivities: function(callback, scope) {
var result = {success: true};
if (this.get("Status").IsResolved===true) {
var esq = Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "Activity" });
esq.addColumn("Status.Finish", "Isfinished");
esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"Status.Finish", "0"));
esq.filters.addItem(esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"Case", this.get("Id")));
esq.getEntityCollection(function(response) {
if (response.success && response.collection.getCount() > 0) {
result.message = this.get("Resources.Strings.CantChangaStatus");
result.success = false;
}
callback.call(scope || this, result);
}, this);
}
}
Если обращение существует, то все отлично. Проверка идет, сохранять обращение не дает.
Возникла проблема с созданием обращения. Все намертво подвисает и ошибок в логах нет. Подскажите куда копать