';
var object = Ite.createObject(template);
for (var button in buttons) {
var buttonElement = Ite.createObject('');
(function (callback) {
buttonElement.addEventClick(function () {
callback.call(object);
});
}(buttons[button]));
object.get('.modal-footer').append(buttonElement);
}
if (closeButton) {
object.get('.bootbox-close-button').addEventClick(function (e) {
object.remove();
});
}
Ite.get('body').append(object);
return object;
};
});Ite.addObject('IteFieldSearch', '[data-type="search"]', function (helper, htmlElement, parent) {
var private = {};
var public = this;
private.helper = helper;
private.scope = (parent != undefined ? parent : public);
//extend
private.helper.extend(public, 'IteFieldObject', htmlElement, private.scope);
private.requireReload = false;
private.listContener;
private.ignoreChange = false;
private.enable = true;
private.labelCallback = null;
private.storage = null;
private.callback = null;
private.notResultCallback = null;
private.beforeRenderCallback = function () {
};
private.beforeExecuteCallback = function () {
};
private.afterExecuteCallback = function () {
};
private.arguments = {};
private.cursor = 0;
private.delayTime = 600;
private.result = new IteArray();
public.setStorage = function (storage) {
private.storage = storage;
}
public.setRecordFormatter = function (formatter) {
private.labelCallback = formatter;
}
public.addEventSelectedRecord = function (callback) {
private.callback = callback;
}
public.addEventNoRecords = function (callback) {
private.notResultCallback = callback;
}
public.addEventAfterExecute = function (callback) {
private.afterExecuteCallback = callback;
};
public.addEventBeforeExecute = function (callback) {
private.beforeExecuteCallback = callback;
};
public.addEventBeforeRender = function (callback) {
private.beforeRenderCallback = callback;
};
public.setExtraStorageArguments = function (arguments) {
private.arguments = arguments;
}
public.addResultItem = function (label, callback, data) {
private.result.push({label: label, callback: callback, data: data});
};
public.clearResultItems = function () {
private.result.clear();
};
public.getResultItems = function () {
return private.result;
};
public.setDelayTime = function (miliseconds) {
private.delayTime = miliseconds;
}
private.init = function () {
private.field = public;
private.createComponents();
var currentLabel = private.field.getValue();
var delayExecute = null;
private.field.addEventKeyDown(function (e) {
private.ignoreChange = true;
var event = e.getOrigin();
if (event.keyCode == 13) {//enter
if (delayExecute)
clearTimeout(delayExecute);
if (private.pressEnter()) {
currentLabel = private.field.getValue();
e.setSystemHandle(false);
}
} else if (event.keyCode == 40)
private.moveCursor(1);
else if (event.keyCode == 38)
private.moveCursor(-1);
else {
if (delayExecute)
clearTimeout(delayExecute);
delayExecute = setTimeout(function () {
if (private.field.getValue() != currentLabel) {
private.execute();
currentLabel = private.field.getValue();
}
}, private.delayTime);
}
});
private.field.addEventBlur(function (e) {
// if(!private.field.getValue())
// private.field.setValue('');
// else{
// var record=private.listContener.get('.auto-complete-row[data-id="'+private.field.getValue()+'"]');
// private.field.setValue(record.getHtml());
// }
currentLabel = private.field.getValue();
private.render(false);
});
}
private.moveCursor = function (vector) {
var records = private.listContener.getAll('.auto-complete-row');
private.cursor += vector;
if (private.cursor >= records.length())
private.cursor = 0;
else if (private.cursor < 0)
private.cursor = records.length() - 1;
try {
private.listContener.get('.auto-complete-row-enable').removeClass('auto-complete-row-enable');
} catch (e) {
//ignore
}
records[private.cursor].addClass('auto-complete-row-enable');
}
private.createComponents = function () {
private.listContener = Ite.createObject('');
private.listContener.setWidth(private.field.getWidth());
private.render(false);
Ite.get('body').append(private.listContener);
}
private.pressEnter = function () {
if (private.listContener.getDisplay() == 'block') {
try {
var record = private.result[private.cursor];
record.callback.call(public, record.data);
private.render(false);
return true;
} catch (e) {
//skipp
}
}
}
private.execute = function () {
if (!private.isProces) {
var phrase = private.field.getValue();
if (phrase == '') {
private.render(false);
} else {
private.beforeExecuteCallback.call(public);
private.requireReload = false;
private.isProces = true;
private.showLoadingLabel();
private.arguments['phrase'] = private.field.getValue();
private.request = Ite.ajax().execute(private.storage, Ite.ajax().POST, private.arguments, true, function (data) {
private.isProces = false;
if (private.enable && private.field.isFocus()) {
private.result = new IteArray();
for (var i = 0; i < data.length; i++) {
private.result.push({
label: private.labelCallback(data[i]),
callback: private.callback,
data: data[i]
});
}
private.afterExecuteCallback.call(public);
public.buildList();
if (private.requireReload)
private.execute();
}
}
, function (code, data) {
private.isProces = false;
});
}
} else
private.requireReload = true;
}
private.showLoadingLabel = function () {
private.listContener.setText('Proszę czekać...');
private.render(true);
}
public.buildList = function () {
private.listContener.setHtml('');
if (private.result.length() == 0 && private.notResultCallback) {
private.notResultCallback.call(public);
}
private.beforeRenderCallback.call(public);
for (var i = 0; i < private.result.length(); i++) {
var row = Ite.createObject('
' + private.result[i].label + '
');
(function (i) {
row.addEventMouseDown(function (e) {
private.result[i].callback.call(public, private.result[i].data);
private.render(false);
});
}(i));
private.listContener.append(row);
if (i == 0)
row.addClass('auto-complete-row-enable');
}
private.cursor = 0;
private.render(true);
}
private.render = function (showListContener) {
if (!showListContener)
private.listContener.setDisplay('none');
else if (private.listContener.getDisplay() != 'block') {
private.listContener.setPositionX(private.field.getOffsetX());
private.listContener.setPositionY(private.field.getOffsetY() + private.field.getHeight());
private.listContener.setWidth(private.field.getWidth());
private.listContener.setDisplay('block');
}
}
public.setEnable = function (flag) {
private.enable = flag;
}
private.setValue = function (id, label) {
private.field.setValue(id);
private.field.setValue(label);
private.listContener.setDisplay('none');
}
private.init();
});Ite.addObject('IteFieldDateObject', 'input[type="date"]', function (helper, htmlElement, parent) {
var private = {};
var public = this;
private.helper = helper;
private.scope = (parent != undefined ? parent : public);
//extend
private.helper.extend(public, 'IteFieldObject', htmlElement, private.scope);
private.getFormatDate = function (date) {
var result = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
result += '-' + (month < 10 ? '0' : '') + month;
result += '-' + (day < 10 ? '0' : '') + day;
return result;
}
private.render = function (date, datePicker, field) {
var currentValue = new Date(field.getValue());
var min = field.getMin();
var max = field.getMax();
if (min) {
min = new Date(min);
min.setDate(min.getDate());
}
if (max) {
max = new Date(max);
max.setDate(max.getDate() + 1);
}
var thisDate = new Date();
thisDate.setFullYear(date.getFullYear());
thisDate.setMonth(date.getMonth());
thisDate.setDate(1);
var firstDayOfWeekObject = new Date(date);
firstDayOfWeekObject.setDate(1);
var firstDayOfWeek = firstDayOfWeekObject.getDay();
var lastDayOfMonthObject = new Date(date.getYear(), date.getMonth() + 1, 0);
var lastDayOfMonth = lastDayOfMonthObject.getDate();
var html = "
";
var day = 0;
var label = '';
for (var i = 1; i <= lastDayOfMonth + firstDayOfWeek; i++) {
if (i - firstDayOfWeek > 0) {
day = thisDate.getDate();
label = day;
if (currentValue.getDate() == day && currentValue.getMonth() == date.getMonth() && currentValue.getFullYear() == date.getFullYear())
html += '
' + label + '
';
else if (private.acceptRange(min, max, thisDate))
html += "
" + label + "
";
else
html += '
' + label + '
';
thisDate.setDate(thisDate.getDate() + 1);
} else
html += '
';
if (i % 7 == 0) {
html += '
';
}
}
datePicker.get('.date-picker-title').setHtml(private.getMonthName(date) + ' ' + date.getFullYear());
datePicker.get('table tbody').setHtml(html);
datePicker.getAll('table tbody td').each(function (value) {
value.addEventClick(function (e) {
e.setPropagation(false);
var val = this.getHtml();
if (val != '' && !this.isClass('data-picker-disable')) {
date.setDate(val);
field.setValue(private.getFormatDate(date));
datePicker.remove();
}
});
});
}
private.acceptRange = function (min, max, date) {
var minCorrect = true;
var maxCorrect = true;
if (min) {
minCorrect = min.getTime() <= date.getTime();
}
if (max) {
maxCorrect = max.getTime() >= date.getTime();
}
return minCorrect && maxCorrect;
}
private.months = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
private.getMonthName = function (date) {
return private.months[date.getMonth()];
}
private.callbackActive = function (e) {
Ite.blur();
private.hideAllDatePickers();
if (this.getValue() == '')
var date = new Date();
else
var date = new Date(this.getValue());
var html = '
' +
'
' +
' ' +
' ' +
' ' +
' ' +
' ' +
' ' +
'
' +
'
' +
' ' +
'
' +
'
Nie
' +
'
Pon
' +
'
Wto
' +
'
Śro
' +
'
Czw
' +
'
Pią
' +
'
Sob
' +
'
' +
' ' +
' ' +
' ' +
'
' +
'
';
var field = this;
var datePicker = Ite.createObject(html);
datePicker.get('.date-picker-prev-month').addEventClick(function (e) {
e.setPropagation(false);
date.setMonth(date.getMonth() - 1);
private.render(date, datePicker, field);
});
datePicker.get('.date-picker-next-month').addEventClick(function (e) {
e.setPropagation(false);
date.setMonth(date.getMonth() + 1);
private.render(date, datePicker, field);
});
datePicker.get('.date-picker-prev-year').addEventClick(function (e) {
e.setPropagation(false);
date.setFullYear(date.getFullYear() - 1);
private.render(date, datePicker, field);
});
datePicker.get('.date-picker-next-year').addEventClick(function (e) {
e.setPropagation(false);
date.setFullYear(date.getFullYear() + 1);
private.render(date, datePicker, field);
});
datePicker.get('.date-picker-clear').addEventClick(function (e) {
e.setPropagation(false);
field.setValue('');
datePicker.remove();
});
datePicker.addEventClick(function (e) {
e.setPropagation(false);
});
private.render(date, datePicker, field);
this.getParent().append(datePicker);
}
private.isBind = false;
private.bind = function () {
if (!private.isBind) {
private.isBind = true;
Ite.addEventClick(private.hideAllDatePickers);
}
}
private.hideAllDatePickers = function () {
Ite.getAll('.date-picker').each(function (value) {
value.remove();
});
};
//construct
public.setType('text');
public.addEventFocus(private.callbackActive);
public.addEventClick(function (e) {
e.setPropagation(false);
});
private.bind();
});Ite.addObject('IteFieldAutoComplete', '[data-type="autocomplete"]', function (helper, htmlElement, parent) {
var prv = {};
var pub = this;
prv.helper = helper;
prv.scope = (parent !== undefined ? parent : pub);
//extend
prv.helper.extend(pub, 'IteFieldObject', htmlElement, prv.scope);
prv.requireReload = false;
prv.storage = new IteArray();
prv.listContener = null;
prv.ignoreChange = false;
prv.cursor = 0;
pub.init = function () {
prv.field = this;
prv.field.getAll('option').each(function (option) {
if (option.getAttribute('value') !== '') {
prv.storage.push({id: option.getAttribute('value'), label: option.getHtml()});
}
});
prv.createComponents();
var currentLabel = prv.textContener.getValue();
prv.textContener.addEventKeyDown(function (e) {
prv.ignoreChange = true;
var event = e.getOrigin();
prv.clearValue();
if (event.keyCode === 13) {//enter
if (prv.pressEnter()) {
currentLabel = prv.textContener.getValue();
e.setSystemHandle(false);
}
} else if (event.keyCode === 40) {
prv.moveCursor(1);
} else if (event.keyCode === 38) {
prv.moveCursor(-1);
} else {
setTimeout(function () {
if (prv.textContener.getValue() !== currentLabel) {
prv.execute();
currentLabel = prv.textContener.getValue();
}
if (prv.textContener.getValue() === '' && prv.textContener.isFocus()) {
prv.buildList(prv.storage);
}
prv.ignoreChange = false;
}, 1);
}
});
prv.textContener.addEventFocus(function () {
if (prv.textContener.getValue() === '') {
prv.buildList(prv.storage);
}
});
prv.textContener.addEventBlur(function () {
if (!prv.field.getValue())
prv.textContener.setValue('');
else {
var record = prv.listContener.get('.auto-complete-row[data-id="' + prv.field.getValue() + '"]');
prv.textContener.setValue(record.getHtml());
}
currentLabel = prv.textContener.getValue();
prv.listContener.setDisplay('none');
});
prv.field.addEventChange(function () {
if (!prv.ignoreChange) {
var record = prv.field.get('option[value="' + prv.field.getValue() + '"]');
if (record) {
var label = (record.getAttribute('value') === '' ? '' : record.getHtml());
prv.textContener.setValue(label);
currentLabel = prv.textContener.getValue();
}
prv.ignoreChange = false;
}
});
prv.field.addEventDOMModified(function () {
prv.storage = new IteArray();
prv.field.getAll('option').each(function (option) {
if (option.getAttribute('value') !== '')
prv.storage.push({id: option.getAttribute('value'), label: option.getHtml()});
});
});
};
pub.setDisabled = function (flag) {
if (flag) {
prv.field.setAttribute('disabled', flag);
} else {
prv.field.removeAttribute('disabled');
}
};
prv.moveCursor = function (vector) {
var records = prv.listContener.getAll('.auto-complete-row');
prv.cursor += vector;
if (prv.cursor >= records.length())
prv.cursor = 0;
else if (prv.cursor < 0)
prv.cursor = records.length() - 1;
try {
prv.listContener.get('.auto-complete-row-enable').removeClass('auto-complete-row-enable');
} catch (e) {
//ignore
}
records[prv.cursor].addClass('auto-complete-row-enable');
};
prv.createComponents = function () {
prv.textContener = Ite.createObject('');
prv.field.getClass().each(function (className) {
prv.textContener.addClass(className);
});
prv.textContener.setId(prv.field.getId());
var label = '';
var fieldValueId = prv.field.getValue();
if (fieldValueId !== '') {
prv.field.getAll('option').each(function (option) {
if (option.getAttribute('value') === fieldValueId) {
label = option.getHtml();
return true;
}
});
}
prv.textContener.setValue(label);
prv.field.setId('');
prv.field.setDisplay('none');
prv.field.appendAfter(prv.textContener, -1); //TODO dorobić metodę która pozowli wrzucić element zaraz za fieldem
prv.field.clearClass();
prv.listContener = Ite.createObject('');
prv.listContener.setWidth(prv.textContener.getWidth());
prv.listContener.setDisplay('none');
Ite.get('body').append(prv.listContener);
};
prv.pressEnter = function () {
if (prv.listContener.getDisplay() === 'block') {
try {
var record = prv.listContener.getAll('.auto-complete-row')[prv.cursor];
prv.setValue(record.getAttribute('data-id'), record.getHtml());
return true;
} catch (e) {
//skipp
}
}
// else{
// private.field.setValue('');
// }
};
prv.execute = function () {
var phrase = prv.textContener.getValue();
if (phrase === '') {
prv.listContener.setDisplay('none');
prv.field.setValue('');
} else {
prv.requireReload = false;
var matches = new IteArray();
var reg = RegExp(prv.textContener.getValue().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&").toLowerCase());
for (var i = 0; i < prv.storage.length(); i++) {
var record = prv.storage[i];
if (reg.test(record.label.toLowerCase())) {
matches.push(record);
}
}
prv.buildList(matches);
}
};
prv.buildList = function (data) {
var template = '';
for (var i = 0; i < data.length(); i++) {
template += '
' + data[i].label + '
'
}
prv.cursor = 0;
prv.listContener.setHtml(template);
prv.listContener.getAll('.auto-complete-row').each(function (row) {
row.addEventMouseDown(function () {
prv.setValue(row.getAttribute('data-id'), row.getHtml())
});
});
if (data.length() > 0)
prv.listContener.get('.auto-complete-row').addClass('auto-complete-row-enable');
if (template === '') {
prv.listContener.setDisplay('none');
} else if (prv.listContener.getDisplay() !== 'block') {
prv.listContener.setPositionX(prv.textContener.getOffsetX());
prv.listContener.setPositionY(prv.textContener.getOffsetY() + prv.textContener.getHeight());
prv.listContener.setWidth(prv.textContener.getWidth());
prv.listContener.setDisplay('block');
}
};
prv.setValue = function (id, label) {
prv.field.setValue(id);
prv.textContener.setValue(label);
prv.listContener.setDisplay('none');
};
prv.clearValue = function () {
prv.field.getAll('option').each(function (option) {
option.removeAttribute('selected'); //FIXME dorobić obsługę break
});
};
pub.init();
});Ite.addElementModule('IteFieldObject', 'zipcode', function () {
var private = {};
var public = this;
private.render = function () {
public.setMaxLength(6);
public.addEventKeyDown(function (e) {
var event = e.getOrigin();
if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 37 || event.keyCode == 39
|| event.keyCode >= 96 && event.keyCode <= 105) {//enter
return private.inputEvent();
} else if (event.keyCode == 8) {
return private.backspaceEvent();
} else if (event.keyCode == 46) {
return private.deleteEvent();
} else if (event.ctrlKey || event.keyCode == 9 || event.keyCode == 13) {
} else {
return true;
}
});
}
private.inputEvent = function () {
var re = new RegExp('^[0-9]{2}$');
if (re.exec(public.getValue()) && public.getCursorPosition() == 2) {
public.setValue(public.getValue() + '-');
}
}
private.backspaceEvent = function () {
var re = new RegExp('^[0-9]{2}-');
console.log(public.getValue());
if (re.exec(public.getValue()) && public.getCursorPosition() == 3) {
public.setValue(public.getValue().substring(0, 1));
return true;
}
}
private.deleteEvent = function () {
var re = new RegExp('^[0-9]{2}-');
if (re.exec(public.getValue()) && public.getCursorPosition() == 2) {
public.setValue(public.getValue().substring(0, 2));
return true;
}
}
// private.render();
});
Ite.addElementModule('IteFieldObject', 'upload', function (endCallback) {
this.addEventChange(function (e) {
e.setSystemHandle(false);
var file = this.getDOMElement().files[0];
var reader = new FileReader();
reader.onloadend = function () {
endCallback.call(this, file);
};
reader.readAsDataURL(file);
});
});Ite.addObject('IteFieldSelectButton', '[data-type="select-button"]', function (helper, htmlElement, parent) {
var prv = {};
var pub = this;
prv.helper = helper;
prv.scope = (parent !== undefined ? parent : pub);
//extend
prv.helper.extend(pub, 'IteFieldObject', htmlElement, prv.scope);
prv.field = null;
prv.storage = new IteArray();
pub.init = function () {
prv.field = this;
prv.field.getAll('option').each(function (option) {
if (option.getAttribute('value') !== '') {
var value = option.getAttribute('value');
if (value === '') {
return
}
prv.storage.push({id: value, label: option.getHtml()});
}
});
prv.createComponents();
};
prv.createComponents = function () {
var html = Ite.createObject('');
prv.storage.each(function (item) {
var node = Ite.createObject('');
html.append(node);
node.addEventClick(prv.callbackSelect(node, item));
});
prv.field.getParent().append(html, 1);
prv.field.addClass('hide');
};
prv.callbackSelect = function (node, item) {
return function (e) {
e.setSystemHandle(false);
prv.field.getParent().getAll('button').each(function (btn) {
btn.removeClass('btn-primary');
});
node.addClass('btn-primary');
prv.field.setValue(item['id']);
};
};
pub.init();
});function FormNNW(container) {
var prv = {};
var pub = this;
prv.container = container;
prv.form = null;
prv.init = function () {
prv.container = container;
prv.form = prv.container.get('form');
var validator = prv.form.getValidator();
validator.setEnable(true);
prv.container.get('[role="cancel"]').addEventClick(function () {
Ite.route().clearCache();
Ite.route().redirect('/policy/add');
});
prv.form.addEventSubmit(prv.submitCallback());
};
pub.getName = function () {
return 'nnw';
};
pub.setVisible = function (flag) {
if (flag) {
prv.container.removeClass('hide');
} else {
prv.container.addClass('hide');
}
};
prv.submitCallback = function () {
return function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (!this.isValid()) {
return;
}
Ite.api().send('policies/add.json',
{
policy_type: 2,
fields: this.getValues()
}
, prv.successCallback());
}
};
prv.successCallback = function () {
return function () {
Ite.route().clearCache();
Ite.route().redirect('/policy/add/summary');
};
};
pub.reset = function () {
//todo
};
prv.init();
}function FormGB(container) {
var prv = {};
var pub = this;
prv.container = container;
prv.form = null;
prv.guaranteeRangeField = null;
prv.commodityTypeField = null;
prv.amountField = null;
prv.offerField = null;
prv.orderDateField = null;
prv.brandField = null;
prv.paymentTypeField = null;
prv.selectedInsurer = false;
prv.calculator = null;
prv.continuePPIProcess = false;
prv.storage = {
offers: {}
};
prv.questionnaire = [];
pub.getName = function () {
return 'gb';
};
pub.getField = function (name) {
return prv.form.get('#' + name);
};
pub.getClientForm = function () {
return prv.clientForm;
};
prv.init = function () {
prv.container = container;
prv.initQuestionnaire();
prv.form = prv.container.get('.form-policy form');
prv.clientForm = new FormClient(prv.container.get('.form-policy .panel-client'));
prv.paymentTypeField = prv.form.get('#paymentType');
prv.guaranteeRangeField = prv.form.get('#guaranteeRange');
prv.commodityTypeField = prv.form.get('#commodityType');
prv.amountField = prv.form.get('#amount');
prv.offerField = prv.form.get('#offer');
prv.orderDateField = prv.form.get('#orderDate');
prv.brandField = prv.form.get('#brand');
prv.serialNumber = prv.form.get('#serialNumber');
var validator = prv.form.getValidator();
validator.setEnable(true);
prv.guaranteeRangeField.addEventChange(prv.callbackLoadOffers());
prv.commodityTypeField.addEventChange(prv.callbackLoadOffers());
prv.amountField.addEventChange(prv.callbackLoadOffers());
prv.paymentTypeField.addEventChange(prv.callbackPaymentChange());
prv.offerField.addEventChange(prv.callbackSelectInsurer());
prv.brandField.setStorage('/policies/find-brands.json');
prv.brandField.setRecordFormatter(function (record) {
return record.name;
});
prv.brandField.addEventSelectedRecord(function (record) {
var me = this;
setTimeout(function () {
me.setValue(record.name, true);
}, 1);
});
prv.brandField.setDelayTime(300);
prv.container.get('[role="cancel"]').addEventClick(function () {
prv.clearStorage();
Ite.route().clearCache();
Ite.route().redirect('/policy/add');
});
prv.form.addEventSubmit(prv.submitCallback());
};
prv.clearStorage = function () {
Ite.getStorage().remove('continuePPIProcess');
Ite.getStorage().remove('policyId');
Ite.getStorage().remove('documentSales');
Ite.getStorage().remove('policyNumber');
Ite.getStorage().remove('policyPPIData');
};
pub.setVisible = function (flag) {
if (flag) {
prv.container.removeClass('hide');
} else {
prv.container.addClass('hide');
}
};
prv.callbackPaymentChange = function () {
return function (item) {
prv.callbackLoadOffers();
let value = prv.paymentTypeField.getValue();
let leasing = '4' === value;
prv.serialNumber.setRequired(leasing);
prv.clientForm.setEmailRequire(leasing);
};
};
prv.submitCallback = function () {
return function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (!this.isValid() || !prv.selectedInsurer) {
return;
}
var values = prv.getValues();
values['questionnaire'] = prv.questionnaire;
if (undefined === values['policyChannel']) {
values['policyChannel'] = '';
}
prv.clientForm.submit(function () {
Ite.api().send('policies/add.json', {
policy_type: 1,
fields: values
}, prv.successCallback());
});
}
};
prv.getValues = function () {
var data = prv.form.getValues();
data['anotherDocument'] = data['anotherDocument'] || '';
data['nationality'] = data['nationality'] || '';
data['cro'] = data['cro'] || '';
data['pesel'] = data['pesel'] || '';
data['allowMarketing'] = data['allowMarketing'] === 'true';
data['orderPromotion'] = data['orderPromotion'] === 'true';
data['allowDeliverMarketing'] = data['allowDeliverMarketing'] === 'true';
data['companyName'] = data['companyName'] || '';
data['amount'] = data['amount'].replace(',', '.');
data['token'] = prv.selectedOffer['id'];
data['continuePPIProcess'] = prv.continuePPIProcess;
if (prv.continuePPIProcess) {
data['paymentType'] = 3;
}
if (data['telephone'] !== '') {
data['telephone'] = data['telephonePrefix'] + data['telephone'];
}
delete data['telephonePrefix'];
return data;
};
prv.successCallback = function () {
return function () {
prv.hideCalculator();
Ite.route().clearCache();
Ite.route().redirect('/policy/add/summary');
};
};
prv.callbackLoadOffers = function () {
return function () {
if (prv.guaranteeRangeField.getValue() === '' || prv.commodityTypeField.getValue() === '' || prv.amountField.getValue() <= 0 || prv.paymentTypeField.getValue() === '') {
prv.offerField.setDisabled(true);
return;
}
Ite.api().send('policies/find-offers.json', {
policy_type: 1,
fields: {
commodityType: prv.commodityTypeField.getValue(),
guaranteeRange: prv.guaranteeRangeField.getValue(),
paymentType: prv.paymentTypeField.getValue(),
amount: prv.amountField.getValue()
}
}, function (data) {
var template = '';
var records = {};
for (var i = 0; i < data.length; i++) {
records[data[i].id] = data[i];
template += '';
}
prv.storage.offers = records;
prv.offerField.setHtml(template);
prv.offerField.setDisabled(false);
});
};
};
prv.callbackSelectInsurer = function () {
return function () {
prv.hideCalculator();
if (prv.offerField.getValue() === '' || prv.amountField.getValue() === '') {
return;
}
var offer = prv.storage.offers[prv.offerField.getValue()];
var grossPrice = '';
var insurerName = '';
prv.selectedInsurer = true;
grossPrice = offer['grossPrice'];
insurerName = offer['insurerName'];
sellerCommission = offer['sellerCommission'];
prv.configureOrderDate(offer['insurerId'], offer);
var template = '
';
template += '
Ubezpieczyciel
' + insurerName + '
';
template += '
Składka
' + grossPrice + '
';
if (sellerCommission) {
template += '
Prowizja sprzedawcy
' + sellerCommission + '
';
}
template += '
';
prv.calculator = Ite.notify().addWarning(template);
prv.selectedOffer = offer;
}
};
prv.hideCalculator = function () {
if (prv.calculator) {
prv.calculator.remove();
prv.calculator = null;
}
};
prv.configureOrderDate = function (insurer, offer) {
if (offer.isLongTerm) {
var date = new Date();
date.setDate(date.getDate() - 365);
prv.orderDateField.setMin(date);
} else {
prv.orderDateField.setMin(new Date());
}
prv.orderDateField.setMax(new Date());
prv.orderDateField.setValue(prv.orderDateField.getMax());
};
pub.reset = function () {
if (Ite.getStorage().get('policyPPIData')) {
prv.resetPPI();
return;
}
prv.paymentTypeField.setValue('');
prv.paymentTypeField.setDisabled(false);
};
prv.resetPPI = function () {
prv.paymentTypeField.setValue(3); //select credit
prv.paymentTypeField.setDisabled(true);
prv.continuePPIProcess = true;
};
prv.initQuestionnaire = function () {
Ite.api().policyAddFetchQuestionnaire(function (data) {
prv.buildQuestionnaire(data);
});
}
prv.buildQuestionnaire = function (data) {
let questionnaire = prv.container.get('.questionnaire .panel-body');
let template = [];
template.push('');
questionnaire.setHtml(template.join(''));
let form = questionnaire.get('form');
form.getValidator().setEnable(true);
questionnaire.getAll('input[type="radio"]').each(function (record) {
record.addEventChange(function (event) {
prv.changeQuestionnaireListener(form, data);
});
});
}
prv.changeQuestionnaireListener = function (form, data) {
form.checkFieldsValid();
let values = form.getValues();
if (!form.isValid() || !prv.checkAllFieldCorrect(values, data)) {
prv.container.get('.form-policy').addClass('hide');
return;
}
prv.container.get('.form-policy').removeClass('hide');
prv.questionnaire = {
'id': data['id'],
'code': data['code'],
'answers': values
};
}
prv.checkAllFieldCorrect = function (values, data) {
for (let i = 0; i < data['questions'].length; i++) {
let question = data['questions'][i];
if (!question['required']) {
continue;
}
for (let j = 0; j < question['answers'].length; j++) {
let answer = question['answers'][j];
if (answer['code'] === values[question['code']] && !answer['correct']) {
return false;
}
}
}
return true;
}
prv.renderQuestion = function (question, template) {
template.push(`
${question['content']}
`);
for (let i = 0; i < question['answers'].length; i++) {
let answer = question['answers'][i];
if (0 !== i) {
template.push(' ');
}
prv.renderAnswer(question['code'], question['required'], answer, template);
}
}
prv.renderAnswer = function (code, required, answer, template) {
template.push(`');
template.push(``)
}
prv.init();
}function FormPPI(container, manager) {
var prv = {};
var pub = this;
prv.container = container;
prv.form = null;
prv.manager = manager;
prv.bankField = null;
prv.countInstallmentField = null;
prv.cartAmountField = null;
prv.ownAmountField = null;
prv.offerInstallmentField = null;
prv.bankOfferField = null;
prv.creditNumberField = null;
prv.policyGB = null;
prv.bankOfferDefault = null;
prv.selectedInsurer = false;
prv.calculator = null;
prv.storage = {
offers: {}
};
pub.getName = function () {
return 'ppi';
};
prv.init = function () {
prv.container = container;
prv.manager = manager;
prv.form = prv.container.get('form');
prv.clientForm = new FormClient(prv.container.get('.panel-client'));
prv.clientForm.setOnlyPrivatePerson(true);
prv.bankField = prv.form.get('#bank');
prv.countInstallmentField = prv.form.get('#countInstallment');
prv.cartAmountField = prv.form.get('#cartAmount');
prv.ownAmountField = prv.form.get('#ownAmount');
prv.offerInstallmentField = prv.form.get('#offerInstallment');
prv.bankOfferField = prv.form.get('#bankOffer');
prv.policyGB = prv.form.get('#policyGB');
prv.creditNumberField = Ite.get('#creditNumber');
prv.bankField.addEventChange(prv.callbackLoadBankOffers());
prv.countInstallmentField.addEventChange(prv.callbackLoadBankOffers());
prv.cartAmountField.addEventChange(prv.callbackCalculateCredit);
prv.ownAmountField.addEventChange(prv.callbackCalculateCredit);
prv.countInstallmentField.addEventChange(prv.callbackCalculateCredit);
prv.offerInstallmentField.addEventChange(prv.callbackCalculateCredit);
prv.bankOfferField.addEventChange(prv.callbackCalculateCredit);
prv.ownAmountField.addEventFocus(prv.callbackDefaultValueFocus);
prv.ownAmountField.addEventBlur(prv.callbackDefaultValueBlur);
prv.policyGB.setStorage('/policy/add/searchGDForPPI.json');
prv.policyGB.addEventFocus(function () {
this.buildList();
});
prv.policyGB.setRecordFormatter(function (record) {
var template = record.number;
return template;
});
prv.policyGB.addEventSelectedRecord(function (data) {
prv.form.checkFieldsValid();
prv.policyGB.setAttribute('data-id', data.id);
prv.policyGB.setValue(data['number'], true);
prv.callbackCalculateCredit();
prv.loadClientData(data.id);
});
prv.policyGB.addEventNoRecords(prv.callbackPPIGBNotFound);
prv.policyGB.addEventAfterExecute(prv.callbackPPIGBNotFound);
var validator = prv.form.getValidator();
validator.setEnable(true);
prv.container.get('[role="cancel"]').addEventClick(function () {
Ite.route().clearCache();
Ite.route().redirect('/policy/add');
});
prv.form.addEventSubmit(prv.submitCallback());
};
prv.loadClientData = function (id) {
Ite.api().send('policy/add/getClientByPolicyId.json', {id: id}, function (data) {
prv.container.get('.client-form').removeClass('hide');
var currentData = prv.form.getValues();
for (var index in data) {
currentData[index] = data[index];
}
delete currentData['client'];
prv.form.setValue(currentData);
prv.form.get('#client').getDOMElement().value = currentData['telephonePrefix'] + currentData['telephone'];
});
};
prv.callbackPPIGBNotFound = function () {
this.addResultItem('Dodaj nową', function () {
var data = prv.form.getValues();
Ite.getStorage().set('policyPPIData', JSON.stringify(data));
var formGB = prv.manager.getForm('gb');
prv.manager.show(formGB);
});
};
prv.submitCallback = function () {
return function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (!this.isValid() || !prv.selectedInsurer) {
return;
}
var values = prv.getValues();
prv.clientForm.submit(function () {
values['policyGD'] = prv.policyGB.getAttribute('data-id');
if (values.creditNumber == '') {
Ite.dialogBox().confirm('Nie podałeś Numer umowy kredytowej. Polisa zostanie zapisana jako niekompletna (można ją później wyszukać w Polisy -> Lista i uzupełnić brakujące dane).', function (flag) {
if (flag) {
Ite.api().send('policy/ppi/add.json', values, function (data) {
Ite.notify().addInfo('Polisa została zapisana jako niekompletna. Nr: ' + data.number + '');
prv.hideCalculator();
Ite.route().clearCache();
Ite.route().redirect('/policy/add');
});
} else {
prv.creditNumberField.focus();
}
});
return;
}
Ite.api().send('policy/ppi/add.json', values, prv.successCallback());
});
}
};
prv.clearStorage = function () {
Ite.getStorage().remove('continuePPIProcess');
Ite.getStorage().remove('policyId');
Ite.getStorage().remove('documentSales');
Ite.getStorage().remove('policyNumber');
Ite.getStorage().remove('policyPPIData');
};
prv.successCallback = function () {
return function () {
prv.hideCalculator();
Ite.route().clearCache();
Ite.route().redirect('/policy/add/summary');
};
};
prv.getValues = function () {
var data = prv.form.getValues();
data['type'] = 1;
data['anotherDocument'] = data['anotherDocument'] || '';
data['nationality'] = data['nationality'] || '';
data['cro'] = data['cro'] || '';
data['pesel'] = data['pesel'] || '';
data['allowMarketing'] = data['allowMarketing'] == 'true';
data['orderPromotion'] = data['orderPromotion'] == 'true';
data['allowDeliverMarketing'] = data['allowDeliverMarketing'] == 'true';
data['companyName'] = data['companyName'] || '';
data['cartAmount'] = data['cartAmount'].replace(',', '.');
data['ownAmount'] = data['ownAmount'].replace(',', '.');
if (data['telephone'] != '') {
data['telephone'] = data['telephonePrefix'] + data['telephone'];
}
delete data['telephonePrefix'];
return data;
};
pub.setVisible = function (flag) {
if (flag) {
prv.container.removeClass('hide');
} else {
prv.container.addClass('hide');
}
};
prv.callbackDefaultValueFocus = function () {
var value = this.getValue();
if (value == '0') {
this.setValue('');
}
};
prv.callbackDefaultValueBlur = function () {
var value = this.getValue();
if (value == '') {
this.setValue('0');
}
};
prv.hideCalculator = function () {
if (prv.calculator) {
prv.calculator.remove();
prv.calculator = null;
}
};
prv.callbackLoadBankOffers = function () {
return function () {
prv.hideCalculator();
if (prv.bankField.getValue() == '' || prv.countInstallmentField.getValue() == '' || prv.countInstallmentField.getValue() < 0) {
prv.bankOfferField.setHtml('');
return;
}
Ite.api().policyAddGetBankOffers({
bank: prv.bankField.getValue(),
countInstallment: prv.countInstallmentField.getValue()
}, function (data) {
var template = '';
for (var i = 0; i < data.length; i++) {
template += '';
}
prv.bankOfferField.setHtml(template);
if (prv.bankOfferDefault) {
prv.bankOfferField.setValue(prv.bankOfferDefault);
prv.bankOfferDefault = null;
}
});
}
};
prv.callbackCalculateCredit = function () {
var cartAmount = prv.cartAmountField.getValue();
var ownAmount = prv.ownAmountField.getValue();
var countInstallment = prv.countInstallmentField.getValue();
var offerInstallment = prv.offerInstallmentField.getValue();
var bankOffer = prv.bankOfferField.getValue();
var policyGD = prv.policyGB.getAttribute('data-id');
prv.hideCalculator();
if (cartAmount == '' || ownAmount == '' || countInstallment == '' || offerInstallment == '' || bankOffer == '') {
return;
}
prv.form.checkFieldsValid();
if (!prv.form.isValid('cartAmount') || !prv.form.isValid('ownAmount') || !prv.form.isValid('countInstallment') || !prv.form.isValid('offerInstallment')) {
return;
}
Ite.api().policyAddSelectCreditInsurer(cartAmount, ownAmount, countInstallment, offerInstallment, bankOffer, policyGD, function (data) {
var template = '';
var partInstallment = '';
var partAmount = '';
var insurer = '';
var credit = '';
var agreement = '';
if (data.insurer != 0) {
prv.selectedInsurer = true;
partInstallment = data.partInstallmentCeilBrutto;
partAmount = data.partAmountBrutto;
insurer = data.name;
credit = data.totalAmountBrutto;
agreement = data['agreement'];
} else {
prv.selectedInsurer = false;
partInstallment = 'BRAK!';
partAmount = 'BRAK!';
insurer = 'BRAK!';
credit = 'BRAK!';
agreement = 'BRAK!';
}
template += '
';
prv.calculator = Ite.notify().addWarning(template);
prv.selectedOffer = offer;
}
};
prv.hideCalculator = function () {
if (prv.calculator) {
prv.calculator.remove();
prv.calculator = null;
}
};
prv.configureOrderDate = function (insurer, offer) {
if (offer.isLongTerm) {
var date = new Date();
date.setDate(date.getDate() - 365);
prv.orderDateField.setMin(date);
} else {
prv.orderDateField.setMin(new Date());
}
prv.orderDateField.setMax(new Date());
prv.orderDateField.setValue(prv.orderDateField.getMax());
};
pub.reset = function () {
if (Ite.getStorage().get('policyPPIData')) {
prv.resetPPI();
return;
}
prv.paymentTypeField.setValue('');
prv.paymentTypeField.setDisabled(false);
};
prv.resetPPI = function () {
prv.paymentTypeField.setValue(3); //select credit
prv.paymentTypeField.setDisabled(true);
prv.continuePPIProcess = true;
};
prv.init();
}Ite.route().addController('ClientList', function () {
var form = Ite.get('form');
var resultsTable = Ite.get('.results');
var paginationField = Ite.get('.form-pagination')
var sort = 'id';
var desc = false;
var page = 1;
var updateView = function (paginationUpdate) {
Ite.api().clientListFindRecords(form.getValues(), sort, page, function (data) {
var template = '';
var records = data.records;
for (var i = 0; i < records.length; i++) {
template += '
';
template += '
' + Ite.escapeHtml(records[i].id) + '
';
template += '
' + Ite.escapeHtml(records[i].firstName) + '
';
template += '
' + Ite.escapeHtml(records[i].lastName) + '
';
template += '
' + Ite.escapeHtml(records[i].taxId) + '
';
template += '
';
}
resultsTable.get('tbody').setHtml(template);
Ite.get('.countCurrentRecords').setText(records.length);
Ite.get('.countAllRecords').setText(data.countRecords);
if (paginationUpdate) {
paginationField.setValue(1);
Ite.get('[role="countPages"]').setText(data.countPages);
}
Ite.getAll('.action-remove').each(function (item) {
item.addEventClick(function (e) {
e.setSystemHandle(false);
e.setPropagation(false);
Ite.dialogBox().confirm('Czy na pewno usunąć?', function (flag) {
if (flag) {
Ite.api().clientRemove({id: item.getAttribute('data-id')}, function (data) {
Ite.notify().addInfo('Ubezpieczający został usunięty.');
Ite.route().clearCache();
item.getParent('tr').remove();
});
}
});
});
});
});
}
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
page = 1;
updateView(true);
});
//sort
Ite.getAll('.sort').each(function (column) {
column.addEventClick(function () {
if (sort != this.getAttribute('data-id'))
desc = false;
else
desc = !desc;
sort = this.getAttribute('data-id');
updateView();
});
});
Ite.get('.form-pagination').addEventChange(function (e) {
page = this.getValue();
updateView();
});
Ite.get('.panel-toogle .panel-heading').addEventClick(function () {
var container = this.getParent('.panel-toogle').get('.panel-body');
if (container.isClass('hide'))
container.removeClass('hide');
else
container.addClass('hide');
});
Ite.getAll('.action-remove').each(function (item) {
item.addEventClick(function (e) {
e.setSystemHandle(false);
e.setPropagation(false);
Ite.dialogBox().confirm('Czy na pewno usunąć?', function (flag) {
if (flag) {
Ite.api().clientRemove({id: item.getAttribute('data-id')}, function (data) {
Ite.notify().addInfo('Ubezpieczający został usunięty.');
Ite.route().clearCache();
item.getParent('tr').remove();
});
}
});
});
});
});Ite.route().addController('StoreAdd', function () {
var form = Ite.get('form');
var validator = form.getValidator();
var zipcodeField = form.get('#zipcode');
validator.setEnable(true);
zipcodeField.zipcode();
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (this.isValid()) {
Ite.api().storeAdd(this.getValues(), function (data) {
Ite.notify().addInfo('Sklep został dodany.');
Ite.route().clearCache();
Ite.route().redirect('/store/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/store/list');
}
});
});
});Ite.route().addController('RoleImport', function () {
var form = Ite.get('form');
var fileField = form.get('#file');
form.getValidator().setEnable(true);
Ite.get('.example').addEventClick(function () {
Ite.openWindow('/role/import/example.xls');
});
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
if (this.isValid()) {
Ite.api().roleImportFile(fileField.getValue()[0], function (data) {
Ite.route().clearCache();
Ite.get('.countCurrentRecords').setText(data.importedRecords);
Ite.get('.countAllRecords').setText(data.allRecords);
var invalidRecords = data.invalidRecords;
var template = '';
for (var i = 0; i < invalidRecords.length; i++) {
template += '
';
template += '
' + invalidRecords[i][0] + '
';
template += '
' + invalidRecords[i][1] + '
';
template += '
' + invalidRecords[i][2] + '
';
template += '
';
}
Ite.get('.results').get('tbody').setHtml(template);
});
}
});
});Ite.route().addController('CategoryImport', function () {
var form = Ite.get('form');
var fileField = form.get('#file');
form.getValidator().setEnable(true);
Ite.get('.example').addEventClick(function () {
Ite.openWindow('/category/import/example.xls');
});
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
if (this.isValid()) {
Ite.api().categoryImportFile(fileField.getValue()[0], function (data) {
Ite.route().clearCache();
Ite.get('.countCurrentRecords').setText(data.importedRecords);
Ite.get('.countAllRecords').setText(data.allRecords);
var invalidRecords = data.invalidRecords;
var template = '';
for (var i = 0; i < invalidRecords.length; i++) {
template += '
';
template += '
' + invalidRecords[i][0] + '
';
template += '
' + invalidRecords[i][1] + '
';
template += '
' + invalidRecords[i][2] + '
';
template += '
' + invalidRecords[i][3] + '
';
template += '
';
}
Ite.get('.results').get('tbody').setHtml(template);
});
}
});
});Ite.route().addController('UserAdd', function () {
var form = Ite.get('form');
var validator = form.getValidator();
var storeField = form.get('#store');
var roleField = form.get('#role');
validator.setEnable(true);
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (this.isValid()) {
Ite.api().userAdd(this.getValues(), function (data) {
Ite.notify().addInfo('Użytkownik został dodany.');
Ite.route().clearCache();
Ite.route().redirect('/user/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/user/list');
}
});
});
});Ite.route().addController('ReportPPI', function () {
var private = {};
var form = Ite.get('form');
var validator = form.getValidator();
var resultsTable = Ite.get('.results');
var paginationField = Ite.get('.form-pagination')
var sort = 'id';
var page = 1;
var desc = false;
validator.setEnable(true);
var columnsMaps = new IteArray();
var columns = resultsTable.getAll('th');
columns.each(function (column) {
columnsMaps.push(column.getAttribute('data-field'));
});
var updateView = function (paginationUpdate) {
Ite.get('.panel-result').removeClass('hide');
Ite.api().reportPPISearch(form.getValues(), sort, page, function (data) {
var template = '';
var records = data.records;
for (var i = 0; i < records.length; i++) {
template += '
';
}
resultsTable.get('tbody').setHtml(template);
Ite.get('.countCurrentRecords').setText(records.length);
Ite.get('.countAllRecords').setText(data.countRecords);
if (paginationUpdate) {
paginationField.setValue(1);
Ite.get('[role="countPages"]').setText(data.countPages);
}
});
};
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
page = 1;
updateView(true);
});
Ite.getAll('.sort').each(function (column) {
column.addEventClick(function () {
if (sort != this.getAttribute('data-id'))
desc = false;
else
desc = !desc;
sort = this.getAttribute('data-id');
updateView();
});
});
Ite.get('.form-pagination').addEventChange(function (e) {
page = this.getValue();
updateView();
});
var openWindow = function (verb, url, data, target) {
var tmpForm = Ite.createObject("");
tmpForm.setAction(url);
tmpForm.setMethod(verb);
tmpForm.setTarget(target || "_self");
if (data) {
for (var key in data) {
var input = Ite.createObject("");
input.setName(key);
input.setValue(typeof data[key] === "object" ? JSON.stringify(data[key]) : data[key]);
tmpForm.append(input);
}
}
tmpForm.setDisplay('none');
Ite.get('body').append(tmpForm);
tmpForm.submit();
tmpForm.remove();
};
Ite.get('.export').addEventClick(function () {
openWindow('POST', '/report/ppi/export.xls', form.getValues(), '_blank');
});
Ite.getAll('input[type="date"]');
});Ite.route().addController('ReportNNWTransaction', function () {
var pub = this;
var prv = {};
prv.steps = 0;
prv.construct = function () {
var form = Ite.get('form');
var validator = form.getValidator();
var statusField = Ite.get('#status');
validator.setEnable(true);
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
Ite.get('.load-mask').removeClass('hide');
Ite.api().send('report/transactionNNW/export.json', form.getValues(), function (data) {
prv.steps = 0;
prv.checkStatus(data['pid']);
console.log(data);
});
});
Ite.getAll('input[type="date"]');
};
prv.checkStatus = function (pid) {
setTimeout(function () {
prv.steps++;
Ite.api().exportGetStatus({'pid': pid}, function (data) {
if (data.status == 0 && prv.steps > 5) {
Ite.notify().addError('Generator nie został uruchomiony. Proszę ten fakt zgłosić administratorowi.');
Ite.get('.load-mask').addClass('hide');
return;
}
if (data.status == 4) {
Ite.notify().addError(data.error);
Ite.get('.load-mask').addClass('hide');
return;
}
if (data.status != 2) {
prv.checkStatus(pid);
return;
}
Ite.get('.load-mask').addClass('hide');
prv.openWindow('POST', '/export/download.xls', {pid: pid}, '_blank');
});
}, 1000);
};
prv.openWindow = function (verb, url, data, target) {
var tmpForm = Ite.createObject("");
tmpForm.setAction(url);
tmpForm.setMethod(verb);
tmpForm.setTarget(target || "_self");
if (data) {
for (var key in data) {
var input = Ite.createObject("");
input.setName(key);
input.setValue(typeof data[key] === "object" ? JSON.stringify(data[key]) : data[key]);
tmpForm.append(input);
}
}
tmpForm.setDisplay('none');
Ite.get('body').append(tmpForm);
tmpForm.submit();
tmpForm.remove();
};
prv.construct();
});Ite.route().addController('QuestionnaireList', function () {
var form = Ite.get('form');
var resultsTable = Ite.get('.results');
var paginationField = Ite.get('.form-pagination')
var sort = 'id';
var desc = false;
var page = 1;
var updateView = function (paginationUpdate) {
Ite.api().questionnaireListFindRecords(form.getValues(), sort, page, function (data) {
var template = '';
var records = data.records;
for (var i = 0; i < records.length; i++) {
template += '
';
template += '
' + Ite.escapeHtml(records[i].id) + '
';
template += '
' + Ite.escapeHtml(records[i].name) + '
';
template += '
' + Ite.escapeHtml(records[i]['createdAt']) + '
';
template += '
';
template += '
';
template += '
';
}
resultsTable.get('tbody').setHtml(template);
Ite.get('.countCurrentRecords').setText(records.length);
Ite.get('.countAllRecords').setText(data.countRecords);
if (paginationUpdate) {
paginationField.setValue(1);
Ite.get('[role="countPages"]').setText(data.countPages);
}
Ite.getAll('.action-remove').each(function (item) {
item.addEventClick(function (e) {
e.setSystemHandle(false);
e.setPropagation(false);
Ite.dialogBox().confirm('Czy na pewno usunąć?', function (flag) {
if (flag) {
Ite.api().questionnaireRemove({id: item.getAttribute('data-id')}, function (data) {
Ite.notify().addInfo('Sklep został usunięty.');
Ite.route().clearCache();
item.getParent('tr').remove();
});
}
});
});
});
});
}
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
page = 1;
updateView(true);
});
//sort
Ite.getAll('.sort').each(function (column) {
column.addEventClick(function () {
if (sort != this.getAttribute('data-id'))
desc = false;
else
desc = !desc;
sort = this.getAttribute('data-id');
updateView();
});
});
Ite.get('.form-pagination').addEventChange(function (e) {
page = this.getValue();
updateView();
});
Ite.get('.panel-toogle .panel-heading').addEventClick(function () {
var container = this.getParent('.panel-toogle').get('.panel-body');
if (container.isClass('hide'))
container.removeClass('hide');
else
container.addClass('hide');
});
Ite.getAll('.action-fetch').each(function (item) {
item.addEventClick(function (e) {
e.setSystemHandle(false);
e.setPropagation(false);
Ite.api().questionnaireFetch({}, function (data) {
Ite.notify().addInfo('Ankieta została pobrana.');
Ite.route().clearCache();
updateView(1);
});
});
});
Ite.getAll('.action-remove').each(function (item) {
item.addEventClick(function (e) {
e.setSystemHandle(false);
e.setPropagation(false);
Ite.dialogBox().confirm('Czy na pewno usunąć?', function (flag) {
if (flag) {
Ite.api().questionnaireRemove({id: item.getAttribute('data-id')}, function (data) {
Ite.notify().addInfo('Sklep został usunięty.');
Ite.route().clearCache();
item.getParent('tr').remove();
});
}
});
});
});
});Ite.route().addController('ProductEdit', function (id) {
var prv = {};
var pub = this;
prv.init = function () {
var form = Ite.get('form');
var validator = form.getValidator();
Ite.get('#commodityType');
validator.setEnable(true);
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (this.isValid()) {
var values = this.getValues();
values['id'] = id;
values['confirmed'] = values['confirmed'] === 'true';
Ite.api().send('product/edit.json', values, function (data) {
Ite.notify().addInfo('Produkt został edytowany.');
Ite.route().clearCache();
Ite.route().redirect('/product/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/product/list');
}
});
});
};
prv.init();
});Ite.route().addController('StoreImport', function () {
var form = Ite.get('form');
var fileField = form.get('#file');
form.getValidator().setEnable(true);
Ite.get('.example').addEventClick(function () {
Ite.openWindow('/store/import/example.xls');
});
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
if (this.isValid()) {
Ite.api().storeImportFile(fileField.getValue()[0], function (data) {
Ite.route().clearCache();
Ite.get('.countCurrentRecords').setText(data.importedRecords);
Ite.get('.countAllRecords').setText(data.allRecords);
var invalidRecords = data.invalidRecords;
var template = '';
for (var i = 0; i < invalidRecords.length; i++) {
template += '
';
template += '
' + invalidRecords[i][0] + '
';
template += '
' + invalidRecords[i][1] + '
';
template += '
' + invalidRecords[i][2] + '
';
template += '
' + invalidRecords[i][3] + '
';
template += '
' + invalidRecords[i][4] + '
';
template += '
' + invalidRecords[i][5] + '
';
template += '
' + invalidRecords[i][6] + '
';
template += '
' + invalidRecords[i][7] + '
';
template += '
' + invalidRecords[i][8] + '
';
template += '
';
}
Ite.get('.results').get('tbody').setHtml(template);
});
}
});
});Ite.route().addController('ProductCategoryEdit', function (id) {
var prv = {};
var pub = this;
prv.init = function () {
var form = Ite.get('form');
var validator = form.getValidator();
validator.setEnable(true);
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
var values = this.getValues();
values['id'] = id;
values['allow'] = values['allow'] === 'true';
if (this.isValid()) {
Ite.api().send('productCategory/edit.json', values, function (data) {
Ite.notify().addInfo('Kategoria produktu została edytowana.');
Ite.route().clearCache();
Ite.route().redirect('/productCategory/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/productCategory/list');
}
});
});
};
prv.init();
});Ite.route().addController('ContractorEdit', function (id) {
var form = Ite.get('form');
var validator = form.getValidator();
var countryField = Ite.get('#country');
var zipcodeField = Ite.get('#zipcode');
validator.setEnable(true);
zipcodeField.zipcode();
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (this.isValid()) {
var values = this.getValues();
values['id'] = id;
Ite.api().contractorEdit(values, function (data) {
Ite.notify().addInfo('Kontrahent został edytowany.');
Ite.route().clearCache();
Ite.route().redirect('/contractor/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/contractor/list');
}
});
});
});Ite.route().addController('StoreEdit', function (id) {
var form = Ite.get('form');
var validator = form.getValidator();
var zipcodeField = form.get('#zipcode');
validator.setEnable(true);
zipcodeField.zipcode();
form.addEventSubmit(function (e) {
e.setSystemHandle(false);
this.checkFieldsValid();
if (this.isValid()) {
var values = this.getValues();
values['id'] = id;
Ite.api().storeEdit(values, function (data) {
Ite.notify().addInfo('Sklep został edytowany.');
Ite.route().clearCache();
Ite.route().redirect('/store/list');
});
}
});
Ite.get("[role='cancel']").addEventClick(function () {
Ite.dialogBox().confirm('Czy na pewno anulować zmiany?', function (flag) {
if (flag) {
Ite.route().redirect('/store/list');
}
});
});
});Ite.route().addController('ReportAwp', function () {
var private = {};
var form = Ite.get('form');
var validator = form.getValidator();
var resultsTable = Ite.get('.results');
var paginationField = Ite.get('.form-pagination')
var sort = 'id';
var page = 1;
var desc = false;
validator.setEnable(true);
var columnsMaps = new IteArray();
var columns = resultsTable.getAll('th');
columns.each(function (column) {
columnsMaps.push(column.getAttribute('data-field'));
});
var updateView = function (paginationUpdate) {
Ite.get('.panel-result').removeClass('hide');
Ite.api().reportAwpSearch(form.getValues(), sort, page, function (data) {
var template = '';
var records = data.records;
for (var i = 0; i < records.length; i++) {
template += '