Compare commits
No commits in common. "3f9fdd0e48fc6183be43a6cbc1eee455c20276fd" and "63f598235013891f3876f1806600cd0e0b1be636" have entirely different histories.
3f9fdd0e48
...
63f5982350
3 changed files with 10 additions and 44 deletions
|
|
@ -961,21 +961,5 @@ class ServiceInstance(ServalaModelMixin, models.Model):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {"error": str(e)}
|
return {"error": str(e)}
|
||||||
|
|
||||||
@property
|
|
||||||
def fqdn_url(self):
|
|
||||||
try:
|
|
||||||
fqdn = self.spec.get("parameters", {}).get("service", {}).get("fqdn")
|
|
||||||
if not fqdn:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if isinstance(fqdn, list):
|
|
||||||
return fqdn[0]
|
|
||||||
elif isinstance(fqdn, str):
|
|
||||||
return fqdn
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
except (AttributeError, KeyError, IndexError):
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
auditlog.register(ServiceInstance, exclude_fields=["updated_at"], serialize_data=True)
|
auditlog.register(ServiceInstance, exclude_fields=["updated_at"], serialize_data=True)
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
{% endblock html_title %}
|
{% endblock html_title %}
|
||||||
{% block page_title_extra %}
|
{% block page_title_extra %}
|
||||||
<div>
|
<div>
|
||||||
{% if instance.fqdn_url %}
|
{% if instance.spec.parameters.service.fqdn %}
|
||||||
<a href="https://{{ instance.fqdn_url }}"
|
<a href="https://{{ instance.spec.parameters.service.fqdn.0 }}"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
class="btn btn-success me-1 mb-1">
|
class="btn btn-success me-1 mb-1">
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,9 @@
|
||||||
|
|
||||||
const initializeFqdnGeneration = (prefix) => {
|
const initializeFqdnGeneration = (prefix) => {
|
||||||
const nameField = document.querySelector(`input#id_${prefix}-name`);
|
const nameField = document.querySelector(`input#id_${prefix}-name`);
|
||||||
if (!nameField) return
|
|
||||||
|
|
||||||
// Try to find array input first (DynamicArrayWidget), then fallback to regular text input
|
|
||||||
const fqdnFieldContainer = document.getElementById(`${prefix}-spec.parameters.service.fqdn_container`)
|
const fqdnFieldContainer = document.getElementById(`${prefix}-spec.parameters.service.fqdn_container`)
|
||||||
let fqdnField = null;
|
if (!nameField || !fqdnFieldContainer) return
|
||||||
let isArrayField = true;
|
const fqdnField = fqdnFieldContainer.querySelector('input.array-item-input');
|
||||||
|
|
||||||
if (fqdnFieldContainer) {
|
|
||||||
let fqdnField = fqdnFieldContainer.querySelector('input.array-item-input');
|
|
||||||
} else {
|
|
||||||
fqdnField = document.getElementById(`id_${prefix}-spec.parameters.service.fqdn`);
|
|
||||||
isArrayField = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!fqdnField) return
|
|
||||||
|
|
||||||
if (nameField && fqdnField) {
|
if (nameField && fqdnField) {
|
||||||
const generateFqdn = (instanceName) => {
|
const generateFqdn = (instanceName) => {
|
||||||
|
|
@ -26,14 +14,11 @@ const initializeFqdnGeneration = (prefix) => {
|
||||||
nameField.addEventListener('input', function() {
|
nameField.addEventListener('input', function() {
|
||||||
if (!fqdnField.dataset.manuallyEdited) {
|
if (!fqdnField.dataset.manuallyEdited) {
|
||||||
fqdnField.value = generateFqdn(this.value);
|
fqdnField.value = generateFqdn(this.value);
|
||||||
if (isArrayField) {
|
|
||||||
// Update hidden input for array fields
|
|
||||||
const container = fqdnField.closest('.dynamic-array-widget');
|
const container = fqdnField.closest('.dynamic-array-widget');
|
||||||
if (container && window.updateHiddenInput) {
|
if (container && window.updateHiddenInput) {
|
||||||
window.updateHiddenInput(container);
|
window.updateHiddenInput(container);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
fqdnField.addEventListener('input', function() {
|
fqdnField.addEventListener('input', function() {
|
||||||
|
|
@ -42,15 +27,12 @@ const initializeFqdnGeneration = (prefix) => {
|
||||||
|
|
||||||
if (nameField.value && !fqdnField.value) {
|
if (nameField.value && !fqdnField.value) {
|
||||||
fqdnField.value = generateFqdn(nameField.value);
|
fqdnField.value = generateFqdn(nameField.value);
|
||||||
if (isArrayField) {
|
|
||||||
// Update hidden input for array fields
|
|
||||||
const container = fqdnField.closest('.dynamic-array-widget');
|
const container = fqdnField.closest('.dynamic-array-widget');
|
||||||
if (container && window.updateHiddenInput) {
|
if (container && window.updateHiddenInput) {
|
||||||
window.updateHiddenInput(container);
|
window.updateHiddenInput(container);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {initializeFqdnGeneration("custom"), initializeFqdnGeneration("expert")});
|
document.addEventListener('DOMContentLoaded', () => {initializeFqdnGeneration("custom"), initializeFqdnGeneration("expert")});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue