Revision 4bf6778f snf-cyclades-app/synnefo/ui/static/snf/js/ui/web/ui_networks_view.js

b/snf-cyclades-app/synnefo/ui/static/snf/js/ui/web/ui_networks_view.js
787 787
      tpl: '#networks-select-public-tpl',
788 788
      model_view_cls: views.NetworkSelectPublicNetwork,
789 789
      get_floating_ips: function() {
790
        return _.map(this._subviews[1]._subviews[0].selected_ips, function(m) {
791
          return m.id;
792
        });
790
        var ips = [];
791
        _.each(this._subviews, function(view) {
792
          _.each(view._subviews, function(view) {
793
            if (view.selected_ips) {
794
              _.each(view.selected_ips, function(m) {
795
                ips.push(m.id);
796
              }, this);
797
            }
798
          }, this);
799
        }, this);
800
        return ips;
793 801
      }
794 802
    });
795 803
    
......
979 987
      rivets_view: true,
980 988
      tpl: '#networks-select-view-tpl',
981 989
      select_public: true,
990
      
991
      forced_values_title_map: {
992
        "SNF:ANY_PUBLIC_IPV6": "Public IPv6 Network",
993
        "SNF:ANY_PUBLIC_IPV4": "Public IPv4 Network"
994
      },
982 995

  
983 996
      initialize: function(options) {
984 997
        this.quotas = synnefo.storage.quotas.get('cyclades.private_network');
......
991 1004
        }});
992 1005

  
993 1006
        this.public_networks = new Backbone.Collection();
994

  
995
        // forced networks
996
        // TODO: check config
997
        this.forced = new models.networks.Network({
998
          name: 'Public IPv6 Network', 
999
          subnets: [],
1000
          is_public: true,
1001
          forced: true
1002
        });
1003
        this.public_networks.add(this.forced);
1007
        this.public_networks.comparator = function(m) {
1008
          if (m.get('forced')) {
1009
            return -1
1010
          }  
1011
          return 100;
1012
        }
1013
        
1014
        if (synnefo.config.forced_server_networks.length) {
1015
          _.each(synnefo.config.forced_server_networks, function(network) {
1016
            var forced = synnefo.storage.networks.get(network);
1017
            if (!forced) {
1018
              var name = this.forced_values_title_map[network];
1019
              if (!name) { name = "Forced network ({0})".format(network)}
1020
              forced = new models.networks.Network({
1021
                id: network,
1022
                name: name, 
1023
                subnets: [],
1024
                is_public: true,
1025
                forced: true
1026
              });
1027
            } else {
1028
              forced.set({'forced': true});
1029
            }
1030
            this.public_networks.add(forced);
1031
          }, this);
1032
        }
1004 1033

  
1005 1034
        // combined public
1006 1035
        this.combined_public = new models.networks.CombinedPublicNetwork();
1007
        this.combined_public.set({noselect: true, name: 'Internet'});
1036
        this.combined_public.set({noselect: true, name: 'Internet', forced: false});
1008 1037
        this.public_networks.add(this.combined_public);
1009 1038

  
1010 1039
        model_attrs = {

Also available in: Unified diff