github.com/fanux/shipyard@v0.0.0-20161009071005-6515ce223235/controller/static/app/accounts/edit.controller.js (about) 1 (function(){ 2 'use strict'; 3 4 angular 5 .module('shipyard.accounts') 6 .controller('AccountsEditController', AccountsEditController); 7 8 AccountsEditController.$inject = ['account','roles', '$http', '$state']; 9 function AccountsEditController(account, roles, $http, $state) { 10 var vm = this; 11 vm.account = account; 12 vm.editAccount = editAccount; 13 vm.request = {}; 14 vm.password = null; 15 vm.firstName = account.first_name; 16 vm.lastName = account.last_name; 17 vm.request = null; 18 vm.roles = roles; 19 vm.userRoles = account.roles; 20 vm.roleOptions = vm.roles; 21 vm.roleConfig = { 22 create: false, 23 valueField: 'role_name', 24 labelField: 'description', 25 delimiter: ',', 26 items: vm.userRoles, 27 placeholder: 'Select Roles' 28 }; 29 30 function isValid() { 31 return $('.ui.form').form('validate form'); 32 } 33 34 function editAccount() { 35 if (!isValid()) { 36 return; 37 } 38 vm.request = { 39 username: account.username, 40 password: vm.password, 41 first_name: vm.firstName, 42 last_name: vm.lastName, 43 roles: vm.userRoles 44 } 45 $http 46 .post('/api/accounts', vm.request) 47 .success(function(data, status, headers, config) { 48 $state.transitionTo('dashboard.accounts'); 49 }) 50 .error(function(data, status, headers, config) { 51 vm.error = data; 52 }); 53 } 54 } 55 })(); 56