mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 15:56:48 +00:00
118 lines
5.5 KiB
JavaScript
118 lines
5.5 KiB
JavaScript
/*global mifosX _ CKEDITOR */
|
|
(function (module) {
|
|
mifosX.controllers = _.extend(module, {
|
|
CreateTemplateController: function (scope, resourceFactory, location, $rootScope) {
|
|
scope.mappers = [];
|
|
scope.formData = {};
|
|
resourceFactory.templateResource.getTemplateDetails({resourceType: 'template'}, function (data) {
|
|
scope.template = data;
|
|
scope.advanceOption = 'false';
|
|
scope.oneAtATime = 'true';
|
|
scope.formData.entity = data.entities[0].id;
|
|
scope.formData.type = data.types[0].id;
|
|
scope.templateKeyEntity = "Client";
|
|
scope.clientKeys();
|
|
scope.mappers.push({
|
|
mappersorder: 0,
|
|
mapperskey: "client",
|
|
mappersvalue: "clients/{{clientId}}?tenantIdentifier=" + $rootScope.tenantIdentifier,
|
|
defaultAddIcon: 'true'
|
|
});
|
|
});
|
|
|
|
scope.clientKeys = function () {
|
|
scope.templateKeys = ["{{client.accountNo}}", "{{client.status.value}}", "{{client.fullname}}",
|
|
"{{client.displayName}}", "{{client.officeName}}", "{{#client.groups}}", "{{/client.groups}}"];
|
|
scope.templateEntity = [
|
|
{"entityName": "Client",
|
|
"templateKeys": scope.templateKeys}
|
|
];
|
|
CKEDITOR.instances.templateeditor.setData('');
|
|
};
|
|
|
|
scope.loanKeys = function () {
|
|
CKEDITOR.instances.templateeditor.setData('');
|
|
scope.loanTemplateKeys = ["{{loan.accountNo}}", "{{loan.status.value}}", "{{loan.loanProductId}}",
|
|
"{{loan.loanProductName}}", "{{loan.loanProductDescription}}"];
|
|
scope.repaymentTemplateKeys = ["{{loan.repaymentSchedule.loanTermInDays}}", "{{loan.repaymentSchedule.totalPrincipalDisbursed}}",
|
|
"{{loan.repaymentSchedule.totalPrincipalExpected}}", "{{loan.repaymentSchedule.totalPrincipalPaid}}",
|
|
"{{loan.repaymentSchedule.totalInterestCharged}}", "{{loan.repaymentSchedule.totalFeeChargesCharged}}",
|
|
"{{loan.repaymentSchedule.totalPenaltyChargesCharged}}", "{{loan.repaymentSchedule.totalWaived}}",
|
|
"{{loan.repaymentSchedule.totalWrittenOff}}", "{{loan.repaymentSchedule.totalRepaymentExpected}}",
|
|
"{{loan.repaymentSchedule.totalRepayment}}", "{{loan.repaymentSchedule.totalPaidInAdvance}}",
|
|
"{{loan.repaymentSchedule.totalPaidLate}}", "{{loan.repaymentSchedule.totalOutstanding}}"];
|
|
scope.templateEntity = [
|
|
{"entityName": "Loan",
|
|
"templateKeys": scope.loanTemplateKeys
|
|
},
|
|
{"entityName": "Repayment Schedule",
|
|
"templateKeys": scope.repaymentTemplateKeys
|
|
}
|
|
];
|
|
};
|
|
|
|
scope.entityChange = function (entityId) {
|
|
if (entityId !== 0) {
|
|
scope.mappers.splice(0, 1, {
|
|
mappersorder: 0,
|
|
mapperskey: "loan",
|
|
mappersvalue: "loans/{{loanId}}?associations=all&tenantIdentifier=" + $rootScope.tenantIdentifier,
|
|
defaultAddIcon: 'true'
|
|
});
|
|
scope.loanKeys();
|
|
scope.templateKeyEntity = "Loan";
|
|
} else {
|
|
scope.templateKeyEntity = "Client";
|
|
scope.mappers.splice(0, 1, {
|
|
mappersorder: 0,
|
|
mapperskey: "client",
|
|
mappersvalue: "clients/{{clientId}}?tenantIdentifier=" + $rootScope.tenantIdentifier,
|
|
defaultAddIcon: 'true'
|
|
});
|
|
scope.clientKeys();
|
|
}
|
|
};
|
|
|
|
scope.templateKeySelected = function (templateKey) {
|
|
CKEDITOR.instances.templateeditor.insertText(templateKey);
|
|
};
|
|
|
|
scope.addMapperKeyValue = function () {
|
|
scope.mappers.push({
|
|
mappersorder: scope.mappers.length,
|
|
mapperskey: "",
|
|
mappersvalue: ""
|
|
});
|
|
};
|
|
|
|
scope.deleteMapperKeyValue = function (index) {
|
|
scope.mappers.splice(index, 1);
|
|
};
|
|
|
|
scope.advanceOptionClick = function () {
|
|
if (scope.advanceOption == 'false') {
|
|
scope.advanceOption = 'true';
|
|
} else {
|
|
scope.advanceOption = 'false';
|
|
}
|
|
};
|
|
|
|
scope.submit = function () {
|
|
for (var i in scope.mappers) {
|
|
delete scope.mappers[i].defaultAddIcon;
|
|
}
|
|
this.formData.mappers = scope.mappers;
|
|
this.formData.text = CKEDITOR.instances.templateeditor.getData();
|
|
resourceFactory.templateResource.save(this.formData, function (data) {
|
|
location.path('/viewtemplate/' + data.resourceId);
|
|
});
|
|
};
|
|
|
|
|
|
}
|
|
});
|
|
mifosX.ng.application.controller('CreateTemplateController', ['$scope', 'ResourceFactory', '$location', '$rootScope', mifosX.controllers.CreateTemplateController]).run(function ($log) {
|
|
$log.info("CreateTemplateController initialized");
|
|
});
|
|
}(mifosX.controllers || {}));
|