openwisp-controller 1.2.1__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/CHANGES.rst +12 -0
- {openwisp_controller-1.2.1/openwisp_controller.egg-info → openwisp_controller-1.2.2}/PKG-INFO +1 -1
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/__init__.py +1 -1
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/config.py +4 -4
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/device_group.py +4 -4
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/multitenancy.py +2 -1
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/template.py +3 -4
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0023_update_context.py +4 -3
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0028_template_default_values.py +3 -3
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0036_device_group.py +5 -3
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0049_devicegroup_context.py +2 -2
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0051_organizationconfigsettings_context.py +2 -2
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_vpn.py +3 -2
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2/openwisp_controller.egg-info}/PKG-INFO +1 -1
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/LICENSE +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/MANIFEST.in +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/README.rst +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/base.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/checks.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/download_views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/filters.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/serializers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/zerotier_service.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/base.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/channels_consumer.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/device.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/tag.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/vpn.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/controller/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/controller/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/controller/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/crypto.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/exceptions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/exportable.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/filters.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/fixtures/test_templates.json +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/handlers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0001_squashed_0002_config_settings_uuid.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0003_template_tags.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0004_add_device_model.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0005_populate_device.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0006_config_device_not_null.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0007_simplify_config.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0008_update_indexes.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0009_device_system.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0010_auto_20180106_1814.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0011_update_device_mac_address.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0012_auto_20180219_1501.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0013_last_ip_management_ip_and_status_applied.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0014_device_hardware_id.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0015_default_groups_permissions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0016_default_organization_config_settings.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0017_template_name_organization_unique_together.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0018_config_context.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0019_organization_mac_add_hardware_id_name_unique_together.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0020_remove_config_organization.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0021_vpn_key.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0022_vpn_format_dh.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0024_update_context_data.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0025_update_device_key.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0026_hardware_id_not_unique.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0027_add_indexes_on_ip_fields.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0029_merge_django_netjsonconfig.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0030_django_taggit_update.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0031_update_vpn_dh_param.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0032_update_legacy_vpn_backend.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0033_name_unique_per_organization.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0034_template_required.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0035_device_name_unique_optional.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0037_alter_taggedtemplate.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0038_vpn_subnet.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0039_wireguard_vxlan_ipam.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0040_vpnclient_ip_setnull.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0041_default_groups_organizationconfigsettings_permission.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0042_multiple_wireguard_tunnels.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0043_devicegroup_templates.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0044_config_error_reason.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0045_alter_vpn_webhook_endpoint.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0046_organizationlimits.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0047_add_organizationlimits.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0048_wifi_radio_band_migration.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0050_alter_vpnclient_unique_together.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0052_vpn_node_network_id.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0053_vpnclient_secret.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0054_device__is_deactivated.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0055_alter_config_status.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0056_vpnclient_template.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0057_populate_vpnclient_template.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0058_alter_vpnclient_template.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0059_zerotier_templates_ow_zt_to_global.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0060_cleanup_api_task_notification_types.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/0061_config_checksum_db.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/migrations/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/settings.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/signals.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/sortedm2m/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/sortedm2m/fields.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/sortedm2m/forms.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/admin.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/device-delete-confirmation.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/devicegroup.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/lib/advanced-mode.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/lib/img/jsoneditor-icons.svg +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/css/lib/jsonschema-ui.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/device-delete-confirmation.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/lib/advanced-mode.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/lib/jsonschema-ui.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/lib/tomorrow_night_bright.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/management_ip.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/preview.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/relevant_templates.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/switcher.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/tabs.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/unsaved_changes.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/utils.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/vpn.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/config/js/widget.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/import_export/import-openwisp.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/sortedm2m/patch_sortedm2m.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/static/support.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tasks.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tasks_zerotier.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/change_device_group.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/change_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/change_list_device.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/clone_template_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/device/change_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/device/delete_confirmation.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/device/delete_selected_confirmation.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/device_recover_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/jsonschema-widget.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/preview.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/config/system_context.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/device_group/change_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/admin/import_export/import.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/templates/reversion/config/revision_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/pytest.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_api.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_config.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_controller.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_device.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_device_group.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_handlers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_notifications.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_selenium.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_tag.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_template.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/validators.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/widgets.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/api/serializers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/api/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/api/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/base/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/base/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/channels/consumers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/channels/routing.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/commands.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/airos/snmp.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/exceptions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/openwrt/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/openwrt/snmp.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/openwrt/ssh.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/snmp.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/connectors/ssh.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/exceptions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0001_initial.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0002_credentials_auto_add.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0003_default_group_permissions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0004_django3_1_upgrade.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0005_device_connection_failure_reason.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0006_name_unique_per_organization.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0007_command.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0008_remove_conflicting_deviceconnections.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/0009_alter_deviceconnection_unique_together.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/migrations/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/schema.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/settings.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/signals.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/static/connection/css/command-inline.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/static/connection/css/credentials.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/static/connection/js/commands.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/static/connection/js/credentials.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/static/connection/js/lib/reconnecting-websocket.min.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tasks.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/base.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/pytest.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test-key.ed25519 +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test-key.rsa +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_api.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_command_utilities.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_notifications.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_selenium.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_snmp.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_ssh.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/test_tasks.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/tests/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/connection/widgets.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/context_processors.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/api/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/api/filters.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/api/serializers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/api/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/api/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/base/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/base/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/channels/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/channels/consumers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/channels/routing.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/exportable.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/migrations/0001_initial.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/migrations/0002_default_groups_permissions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/migrations/0003_alter_devicelocation_floorplan_location.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/migrations/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/templates/admin/widgets/foreign_key_raw_id.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/pytest.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_admin_inline.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_api.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/test_selenium.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/tests/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/geo/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/migrations.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/mixins.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/api/serializers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/api/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/api/views.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/base/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/base/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0001_initial.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0002_add_organization_name.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0003_fill_organization_name.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0004_auto_20180106_1814.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0005_organizational_unit_name.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0006_add_x509_passphrase_field.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0007_default_groups_permissions.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0008_serial_number_length.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0009_common_name_maxlength_64.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0010_common_name_organization_unique.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/0011_disallowed_blank_key_length_or_digest.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/migrations/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/static/admin/pki/js/show-org-field.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/templates/admin/pki/change_form.html +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/tests/test_admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/tests/test_api.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/tests/test_models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/tests/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/pki/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/routing.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/serializers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/settings.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/apps.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/base/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/filters.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/0001_initial.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/0002_default_group_migration.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/0003_related_field_allow_blank.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/0004_index_rule_on_delete.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/0005_number_of_subnets_and_ips.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/migrations/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/rule_types/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/rule_types/base.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/rule_types/device.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/rule_types/vpn.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/settings.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/signals.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/static/subnet-division/css/subnet-division.css +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/static/subnet-division/js/subnet-division.js +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tasks.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tests/helpers.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tests/test_admin.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tests/test_models.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/tests/test_rule.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/subnet_division/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/__init__.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/mixins.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/test_selenium.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/test_users_integration.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/test_utilities.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/tests/utils.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/urls.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/vpn_backends.py +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller.egg-info/SOURCES.txt +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller.egg-info/dependency_links.txt +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller.egg-info/not-zip-safe +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller.egg-info/requires.txt +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller.egg-info/top_level.txt +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/pyproject.toml +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/requirements.txt +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/setup.cfg +0 -0
- {openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/setup.py +0 -0
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
Version 1.2.2 [2026-03-06]
|
|
5
|
+
--------------------------
|
|
6
|
+
|
|
7
|
+
Changes
|
|
8
|
+
~~~~~~~
|
|
9
|
+
|
|
10
|
+
Other changes
|
|
11
|
+
+++++++++++++
|
|
12
|
+
|
|
13
|
+
- Improved help text of configuration variable fields
|
|
14
|
+
- Minor fixes in the test suite
|
|
15
|
+
|
|
4
16
|
Version 1.2.1 [2026-03-04]
|
|
5
17
|
--------------------------
|
|
6
18
|
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/config.py
RENAMED
|
@@ -94,10 +94,10 @@ class AbstractConfig(ChecksumCacheMixin, BaseConfig):
|
|
|
94
94
|
blank=True,
|
|
95
95
|
default=dict,
|
|
96
96
|
help_text=_(
|
|
97
|
-
"
|
|
98
|
-
'<a href="
|
|
99
|
-
'
|
|
100
|
-
"
|
|
97
|
+
"allows overriding "
|
|
98
|
+
'<a href="https://openwisp.io/docs/stable/controller/user/variables.html'
|
|
99
|
+
'" target="_blank">'
|
|
100
|
+
"configuration variables</a>"
|
|
101
101
|
),
|
|
102
102
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
103
103
|
dump_kwargs={"indent": 4},
|
|
@@ -42,8 +42,9 @@ class AbstractDeviceGroup(OrgMixin, TimeStampedEditableModel):
|
|
|
42
42
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
43
43
|
dump_kwargs={"indent": 4},
|
|
44
44
|
help_text=_(
|
|
45
|
-
"
|
|
46
|
-
"
|
|
45
|
+
"Store custom metadata related to this group. This field is intended "
|
|
46
|
+
"for arbitrary data that does not affect device configuration and can "
|
|
47
|
+
"be retrieved via the REST API for integrations or external tools."
|
|
47
48
|
),
|
|
48
49
|
verbose_name=_("Metadata"),
|
|
49
50
|
)
|
|
@@ -53,8 +54,7 @@ class AbstractDeviceGroup(OrgMixin, TimeStampedEditableModel):
|
|
|
53
54
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
54
55
|
dump_kwargs={"indent": 4},
|
|
55
56
|
help_text=_(
|
|
56
|
-
"
|
|
57
|
-
' or to add "Configuration Variables" to the devices.'
|
|
57
|
+
"Define configuration variables available to all devices in this group"
|
|
58
58
|
),
|
|
59
59
|
verbose_name=_("Configuration Variables"),
|
|
60
60
|
)
|
|
@@ -37,7 +37,8 @@ class AbstractOrganizationConfigSettings(UUIDModel):
|
|
|
37
37
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
38
38
|
dump_kwargs={"indent": 4},
|
|
39
39
|
help_text=_(
|
|
40
|
-
|
|
40
|
+
"Define reusable configuration variables available "
|
|
41
|
+
"to all devices in this organization"
|
|
41
42
|
),
|
|
42
43
|
verbose_name=_("Configuration Variables"),
|
|
43
44
|
)
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/template.py
RENAMED
|
@@ -97,10 +97,9 @@ class AbstractTemplate(ShareableOrgMixinUniqueName, BaseConfig):
|
|
|
97
97
|
default=dict,
|
|
98
98
|
blank=True,
|
|
99
99
|
help_text=_(
|
|
100
|
-
"
|
|
101
|
-
"values
|
|
102
|
-
"
|
|
103
|
-
"be used during schema validation."
|
|
100
|
+
"Define default values for the variables used in this template. "
|
|
101
|
+
"These values are used during validation and when a variable is "
|
|
102
|
+
"not provided by the device, group, or organization."
|
|
104
103
|
),
|
|
105
104
|
load_kwargs={"object_pairs_hook": OrderedDict},
|
|
106
105
|
dump_kwargs={"indent": 4},
|
|
@@ -18,9 +18,10 @@ class Migration(migrations.Migration):
|
|
|
18
18
|
default=dict,
|
|
19
19
|
dump_kwargs={"ensure_ascii": False, "indent": 4},
|
|
20
20
|
help_text=(
|
|
21
|
-
|
|
22
|
-
'/
|
|
23
|
-
"
|
|
21
|
+
"allows overriding "
|
|
22
|
+
'<a href="https://openwisp.io/docs/stable/controller/user/variables.html' # noqa: E501
|
|
23
|
+
'" target="_blank">'
|
|
24
|
+
"configuration variables</a>"
|
|
24
25
|
),
|
|
25
26
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
26
27
|
),
|
|
@@ -18,9 +18,9 @@ class Migration(migrations.Migration):
|
|
|
18
18
|
default=dict,
|
|
19
19
|
dump_kwargs={"ensure_ascii": False, "indent": 4},
|
|
20
20
|
help_text=(
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
21
|
+
"Define default values for the variables used in this template. "
|
|
22
|
+
"These values are used during validation and when a variable is "
|
|
23
|
+
"not provided by the device, group, or organization."
|
|
24
24
|
),
|
|
25
25
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
26
26
|
verbose_name="Default Values",
|
|
@@ -62,9 +62,11 @@ class Migration(migrations.Migration):
|
|
|
62
62
|
dump_kwargs={"ensure_ascii": False, "indent": 4},
|
|
63
63
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
64
64
|
help_text=(
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
65
|
+
"Store custom metadata related to this group. "
|
|
66
|
+
"This field is intended for arbitrary data that "
|
|
67
|
+
"does not affect device configuration and can "
|
|
68
|
+
"be retrieved via the REST API for integrations "
|
|
69
|
+
"or external tools."
|
|
68
70
|
),
|
|
69
71
|
verbose_name="Metadata",
|
|
70
72
|
),
|
|
@@ -20,8 +20,8 @@ class Migration(migrations.Migration):
|
|
|
20
20
|
default=dict,
|
|
21
21
|
dump_kwargs={"ensure_ascii": False, "indent": 4},
|
|
22
22
|
help_text=(
|
|
23
|
-
"
|
|
24
|
-
|
|
23
|
+
"Define configuration variables available "
|
|
24
|
+
"to all devices in this group"
|
|
25
25
|
),
|
|
26
26
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
27
27
|
verbose_name="Configuration Variables",
|
|
@@ -20,8 +20,8 @@ class Migration(migrations.Migration):
|
|
|
20
20
|
default=dict,
|
|
21
21
|
dump_kwargs={"indent": 4},
|
|
22
22
|
help_text=(
|
|
23
|
-
|
|
24
|
-
"
|
|
23
|
+
"Define reusable configuration variables available "
|
|
24
|
+
"to all devices in this organization"
|
|
25
25
|
),
|
|
26
26
|
load_kwargs={"object_pairs_hook": collections.OrderedDict},
|
|
27
27
|
verbose_name="Configuration Variables",
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_vpn.py
RENAMED
|
@@ -3,12 +3,13 @@ import uuid
|
|
|
3
3
|
from subprocess import CalledProcessError, TimeoutExpired
|
|
4
4
|
from unittest import mock
|
|
5
5
|
|
|
6
|
+
import requests
|
|
6
7
|
from celery.exceptions import Retry, SoftTimeLimitExceeded
|
|
7
8
|
from django.conf import settings
|
|
8
9
|
from django.core.exceptions import ValidationError
|
|
9
10
|
from django.db.models.signals import post_save
|
|
10
11
|
from django.db.utils import IntegrityError
|
|
11
|
-
from django.http.response import HttpResponse
|
|
12
|
+
from django.http.response import HttpResponse
|
|
12
13
|
from django.test import TestCase, TransactionTestCase
|
|
13
14
|
from requests.exceptions import ConnectionError, RequestException, Timeout
|
|
14
15
|
from swapper import load_model
|
|
@@ -855,7 +856,7 @@ class TestWireguardTransaction(BaseTestVpn, TestWireguardVpnMixin, TransactionTe
|
|
|
855
856
|
fail_response.raise_for_status.side_effect = requests.exceptions.HTTPError(
|
|
856
857
|
"Not Found"
|
|
857
858
|
)
|
|
858
|
-
with mock.patch("logging.Logger.
|
|
859
|
+
with mock.patch("logging.Logger.error") as mocked_logger, mock.patch(
|
|
859
860
|
"requests.post", return_value=fail_response
|
|
860
861
|
):
|
|
861
862
|
post_save.send(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/filters.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/urls.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/api/views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/__init__.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/device.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/tag.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/base/vpn.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/crypto.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/exceptions.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/exportable.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/filters.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/models.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/settings.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/signals.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tasks_zerotier.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/__init__.py
RENAMED
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/pytest.py
RENAMED
|
File without changes
|
|
File without changes
|
{openwisp_controller-1.2.1 → openwisp_controller-1.2.2}/openwisp_controller/config/tests/test_api.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|