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