Revision e38e7fcf

b/snf-cyclades-app/synnefo/ui/static/snf/js/neutron.js
178 178
        // TODO: filter out vms
179 179
        return vms;
180 180
      },
181
    
181
      
182 182
      connect_vm: function(vm, cb) {
183 183
        var self = this;
184 184
        var data = {
......
234 234

  
235 235
      create: function (name, type, cidr, dhcp, callback) {
236 236
        var quota = synnefo.storage.quotas;
237
        var params = { network: { name:name } };
237
        var params = {network:{name:name}};
238
        var subnet_params = {subnet:{network_id:undefined}};
238 239
        if (!type) { throw "Network type cannot be empty"; }
239 240

  
240 241
        params.network.type = type;
241
        if (cidr) { params.network.cidr = cidr; }
242
        if (dhcp) { params.network.dhcp = dhcp; }
243
        if (dhcp === false) { params.network.dhcp = false; }
242
        if (cidr) { subnet_params.subnet.cidr = cidr; }
243
        if (dhcp) { subnet_params.subnet.dhcp_enabled = dhcp; }
244
        if (dhcp === false) { subnet_params.subnet.dhcp_enabled = false; }
244 245
        
245 246
        var cb = function() {
246 247
          callback();
248
        }
249
        
250
        var complete = function() {};
251
        var error = function() { cb() };
252
        // on network create success, try to create the requested 
253
        // network subnet
254
        var success = function(resp) {
255
          var network = resp.network;
256
          subnet_params.subnet.network_id = network.id;
257
          synnefo.storage.subnets.create(subnet_params, {
258
            complete: function () { cb && cb() }
259
          });
247 260
          quota.get('cyclades.network.private').increase();
248 261
        }
249
        return this.api_call(this.path, "create", params, cb);
262
        return this.api_call(this.path, "create", params, complete, error, success);
250 263
      }
251 264
    });
252 265

  

Also available in: Unified diff