diff --git a/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.php b/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.php
new file mode 100644
index 000000000..3211d6fa7
--- /dev/null
+++ b/src/opnsense/mvc/app/models/OPNsense/Core/Firmware.php
@@ -0,0 +1,39 @@
+
+ //system/firmware
+ 1.0.0
+
+ OPNsense Firmware settings
+
+
+
+ N
+
+
+
+ N
+
+
+
+ N
+
+
+
+ N
+
+
+
+
diff --git a/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php
new file mode 100644
index 000000000..d11477b91
--- /dev/null
+++ b/src/opnsense/mvc/app/models/OPNsense/Core/Migrations/M1_0_0.php
@@ -0,0 +1,52 @@
+type) || (string)$model->type == "devel") && !empty((string)$model->mirror) ) {
+ $is_business = stripos((string)$model->mirror, "opnsense-update.deciso.com") > 1;
+ if ($is_business) {
+ $model->type = "business";
+ $model->flavour = "latest";
+ }
+ }
+ }
+}
diff --git a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
index a1a3acf2a..4aacce06b 100644
--- a/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
+++ b/src/opnsense/mvc/app/views/OPNsense/Core/firmware.volt
@@ -622,6 +622,7 @@
$("#firmware_mirror").append($("")
.attr("value",key)
.text(value)
+ .data("has_subscription", firmwareoptions['families_has_subscription'].length > 0)
.prop('selected', selected)
);
});
@@ -634,6 +635,12 @@
);
}
+ if ($("#firmware_mirror option:selected").data("has_subscription") == true) {
+ $("#firmware_mirror_subscription").val(firmwareconfig['mirror'].substr($("#firmware_mirror").val().length+1));
+ } else {
+ $("#firmware_mirror_subscription").val("");
+ }
+
$("#firmware_mirror").selectpicker('refresh');
$("#firmware_mirror").change();