Revision c2a55260

b/Changelog
237 237
- Double escaping fix in machine create wizard images list and machine details
238 238
  subview.
239 239
- Fix image ordering in machine create wizard.
240
- New setting ``UI_SUPPORT_SSH_OS_FAMILY_LIST``. A list of image OS families
241
  for which ui will enable ssh key injection in machine wizard.
240
- New setting ``UI_SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST``. A list of image OS
241
  families for which ui will disable ssh key injection in machine wizard.
242
- Setting ``UI_SUPPORT_SSH_OS_LIST`` removed and no longer used.
242 243

  
243 244

  
244 245
Pithos
b/snf-cyclades-app/conf/20-snf-cyclades-app-ui.conf
127 127
## Whether UI should display error overlay for all Javascript exceptions
128 128
#UI_HANDLE_WINDOW_EXCEPTIONS = True
129 129
#
130
## A list of os names that support ssh public key assignment
131
#UI_SUPPORT_SSH_OS_LIST = ['debian', 'fedora', 'okeanos', 'ubuntu', 'kubuntu',
132
#                          'centos', 'archlinux']
133
#
134 130
## OS/username map to identify default user name for the specified os
135 131
#UI_OS_DEFAULT_USER_MAP = {
136 132
#    'debian':'root', 'fedora': 'root', 'okeanos': 'root',
......
190 186
##will be loaded.
191 187
#UI_FONTS_BASE_URL = "//fonts.googleapis.com/"
192 188
#
193
## A list of os family names that support ssh public key assignment
194
#UI_SUPPORT_SSH_OS_FAMILY_LIST = ['linux', 'openbsd', 'freebsd', 'netbsd']
189
## A list of os family names which don't support ssh public key injection
190
#UI_SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST = ['windows']
b/snf-cyclades-app/synnefo/ui/static/snf/js/models.js
552 552
        },
553 553

  
554 554
        _supports_ssh: function() {
555
            var os_list = synnefo.config.support_ssh_os_list;
556
            var osfamily_list = synnefo.config.support_ssh_os_family_list;
557
            
555
            var exclude_list = synnefo.config.ssh_support_osfamily_exclude_list || [];
558 556
            var os = this.get_os();
559
            if (os_list.indexOf(os) > -1) {
560
                return true;
561
            }
562
            
563
            var osfamily = this.get_meta("osfamily");
564
            if (osfamily_list.indexOf(osfamily) > -1) {
565
              return true
557
            if (exclude_list.indexOf(os) > -1) {
558
                return false;
566 559
            }
567

  
568
            return false;
560
            return true;
569 561
        },
570 562

  
571 563
        supports: function(feature) {
b/snf-cyclades-app/synnefo/ui/templates/home.html
659 659
            synnefo.config.machines_icons_url = '{{ SYNNEFO_IMAGES_URL }}icons/machines/';
660 660
            synnefo.config.ui_console_url = '{% url ui_machines_console %}';
661 661
            synnefo.config.ui_connect_url = '{% url ui_machines_connect %}';
662
            synnefo.config.support_ssh_os_list = {{ support_ssh_os_list|safe }};
663
            synnefo.config.support_ssh_os_family_list = {{ support_ssh_os_family_list|safe }};
662
            synnefo.config.ssh_support_osfamily_exclude_list = {{ ssh_support_osfamily_exclude_list|safe }};
664 663
            synnefo.config.unknown_os = {{ unknown_os|safe }};
665 664
            synnefo.config.os_created_users = {{ os_created_users|safe }};
666 665
            synnefo.config.feedback_post_url = {{ feedback_post_url|safe }};
b/snf-cyclades-app/synnefo/ui/views.py
77 77
IMAGE_DELETED_SIZE_TITLE = \
78 78
    getattr(settings, 'UI_IMAGE_DELETED_SIZE_TITLE', '(none)')
79 79

  
80
SUPPORT_SSH_OS_LIST = getattr(settings, "UI_SUPPORT_SSH_OS_LIST",)
81
SUPPORT_SSH_OS_FAMILY_LIST = getattr(settings, "UI_SUPPORT_SSH_OS_FAMILY_LIST",
82
                                     ['linux', 'openbsd', 'freebsd', 'netbsd'])
80

  
81
SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST = getattr(
82
    settings, "UI_SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST", ['windows'])
83 83

  
84 84
OS_CREATED_USERS = getattr(settings, "UI_OS_DEFAULT_USER_MAP")
85 85
UNKNOWN_OS = getattr(settings, "UI_UNKNOWN_OS", "unknown")
......
227 227
        'skip_timeouts': json.dumps(SKIP_TIMEOUTS),
228 228
        'vm_name_template': json.dumps(VM_NAME_TEMPLATE),
229 229
        'flavors_disk_templates_info': json.dumps(FLAVORS_DISK_TEMPLATES_INFO),
230
        'support_ssh_os_list': json.dumps(SUPPORT_SSH_OS_LIST),
231
        'support_ssh_os_family_list': json.dumps(SUPPORT_SSH_OS_FAMILY_LIST),
230
        'ssh_support_osfamily_exclude_list': json.dumps(SSH_SUPPORT_OSFAMILY_EXCLUDE_LIST),
232 231
        'unknown_os': json.dumps(UNKNOWN_OS),
233 232
        'os_created_users': json.dumps(OS_CREATED_USERS),
234 233
        'userdata_keys_limit': json.dumps(MAX_SSH_KEYS_PER_USER),

Also available in: Unified diff