(function (module) { mifosX.controllers = _.extend(module, { UserFormController: function (scope, resourceFactory) { scope.offices = []; scope.roles = []; resourceFactory.officeResource.getAllOffices({}, function (data) { scope.offices = data; }); resourceFactory.roleResource.getAllRoles({}, function (data) { scope.roles = data; }); scope.$on('OpenUserFormDialog', function () { scope.userFormData = {selectedRoles: {}, sendPasswordToEmail: false}; scope.formInError = false; scope.errors = []; }); scope.submitUserForm = function () { scope.formInError = false; scope.errors = []; var userData = { username: scope.userFormData.username, firstname: scope.userFormData.firstname, lastname: scope.userFormData.lastname, email: scope.userFormData.email, officeId: scope.userFormData.office.id, sendPasswordToEmail: scope.userFormData.sendPasswordToEmail, roles: _.map( _.keys(scope.userFormData.selectedRoles), function (roleId) { return parseInt(roleId, 10); } ) }; scope.$emit('SubmitUserFormStart'); new resourceFactory.userResource(userData).$save({}, function (data) { userData.id = data.resourceId; scope.users.push(userData); scope.$emit('SubmitUserFormSuccess'); }, function (response) { scope.formInError = true; scope.errors = response.data.errors; scope.$emit('SubmitUserFormError'); } ); }; scope.cancelUserForm = function () { scope.$emit('CloseUserForm'); }; } }); mifosX.ng.application.controller('UserFormController', ['$scope', 'ResourceFactory', mifosX.controllers.UserFormController]).run(function ($log) { $log.info("UserFormController initialized"); }); }(mifosX.controllers || {}));