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