2727from qubesadmin .device_protocol import DeviceCategory
2828
2929from ..widgets .gtk_widgets import TokenName , TextModeler , VMListModeler
30- from ..widgets .utils import get_feature , get_boolean_feature , apply_feature_change
30+ from ..widgets .utils import (
31+ get_feature ,
32+ get_boolean_feature ,
33+ apply_feature_change ,
34+ dispvm_template_inadvisable ,
35+ )
3136from ..widgets .gtk_utils import ask_question , show_error
3237from .page_handler import PageHandler
3338from .policy_rules import RuleTargetedAdminVM , Rule
@@ -317,6 +322,7 @@ def __init__(
317322 "usb_u2f_enable_some" ,
318323 self .initially_enabled_vms ,
319324 lambda vm : vm in self .available_vms ,
325+ vm_inadvisable = lambda vm : dispvm_template_inadvisable (vm ),
320326 )
321327
322328 self .register_some_handler = VMFlowboxHandler (
@@ -326,6 +332,7 @@ def __init__(
326332 self .initial_register_vms ,
327333 lambda vm : vm in self .available_vms ,
328334 verification_callback = self ._verify_additional_vm ,
335+ vm_inadvisable = lambda vm : dispvm_template_inadvisable (vm ),
329336 )
330337
331338 self .blanket_handler = VMFlowboxHandler (
@@ -335,6 +342,7 @@ def __init__(
335342 self .initial_blanket_vms ,
336343 lambda vm : vm in self .available_vms ,
337344 verification_callback = self ._verify_additional_vm ,
345+ vm_inadvisable = lambda vm : dispvm_template_inadvisable (vm ),
338346 )
339347
340348 self .widget_to_box = {
@@ -469,7 +477,6 @@ def load_rules_for_usb_qube(self):
469477 continue
470478 if vm .features .check_with_template (self .SUPPORTED_SERVICE_FEATURE ) and not (
471479 vm .klass == "TemplateVM"
472- or getattr (vm , "template_for_dispvms" , False )
473480 or getattr (vm , "provides_network" , False )
474481 or get_boolean_feature (vm , "service.audiovm" )
475482 or get_boolean_feature (vm , "service.guivm" )
0 commit comments