new workflow

This commit is contained in:
Oliver
2025-09-30 12:08:50 -03:00
parent ef3d04d284
commit 3d263f7c4e

View File

@@ -58,8 +58,9 @@
cursor: pointer; cursor: pointer;
font-size: 16px; font-size: 16px;
} }
button:hover { button:disabled {
background-color: #45a049; background-color: #aaa;
cursor: not-allowed;
} }
.cost { .cost {
font-weight: bold; font-weight: bold;
@@ -71,6 +72,15 @@
border-radius: 6px; border-radius: 6px;
border: 1px solid #ccc; border: 1px solid #ccc;
} }
.confirmation {
text-align: center;
font-size: 1.2em;
padding: 40px;
background: #fff;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
color: #333;
}
</style> </style>
</head> </head>
<body> <body>
@@ -110,15 +120,14 @@ When its time for your annual renewal, you will receive a reminder email with
</div> </div>
<div class="submit-section"> <div class="submit-section">
<button type="submit">Upgrade</button> <button type="submit" id="submitBtn" disabled>Upgrade</button>
<div class="cost" id="cost">$0,00</div> <div class="cost" id="cost">$0.00</div>
</div> </div>
</form> </form>
<script> <script>
const params = new URLSearchParams(window.location.search); const params = new URLSearchParams(window.location.search);
const uuid = params.get("uuid"); const uuid = params.get("uuid");
// document.getElementById("uuidDisplay").textContent = uuid ? uuid.toLowerCase() : "-";
const webhookUrl = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/0c8536be-d175-4740-8e78-123159193b23"; const webhookUrl = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/0c8536be-d175-4740-8e78-123159193b23";
const webhookPost = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/3709b60f-935e-43e4-834a-5060a40182dd"; const webhookPost = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4projects.com/webhook/3709b60f-935e-43e4-834a-5060a40182dd";
@@ -135,16 +144,13 @@ const webhookPost = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4p
headers: { headers: {
"Content-Type": "application/json" "Content-Type": "application/json"
}, },
body: JSON.stringify({ uuid }) // send uuid in request body body: JSON.stringify({ uuid })
}); });
if (!res.ok) throw new Error("Failed to fetch data"); if (!res.ok) throw new Error("Failed to fetch data");
const data = await res.json(); const data = await res.json();
// Save original data globally
window.originalData = data; window.originalData = data;
// Save prices globally
window.prices = data.prices || { window.prices = data.prices || {
git: 10, git: 10,
domain: 1, domain: 1,
@@ -153,7 +159,6 @@ const webhookPost = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4p
hddUnit: 10 hddUnit: 10
}; };
// Fill form fields
document.getElementById("git").checked = data.git || false; document.getElementById("git").checked = data.git || false;
document.getElementById("domains").value = data.domains || 1; document.getElementById("domains").value = data.domains || 1;
document.getElementById("backupSlots").value = data.backupSlots || 2; document.getElementById("backupSlots").value = data.backupSlots || 2;
@@ -168,8 +173,6 @@ const webhookPost = "https://002-001-5dd6e535-4d1c-46bc-9bd9-42ad4bc5f082.odoo4p
} }
} }
function calculateCost() { function calculateCost() {
if (!window.originalData || !window.prices) return; if (!window.originalData || !window.prices) return;
@@ -199,6 +202,9 @@ function calculateCost() {
extraHDDUnits * window.prices.hddUnit; extraHDDUnits * window.prices.hddUnit;
document.getElementById("cost").textContent = `$${cost.toFixed(2)}`; document.getElementById("cost").textContent = `$${cost.toFixed(2)}`;
// Enable/disable button based on cost
document.getElementById("submitBtn").disabled = cost <= 0;
} }
document.querySelectorAll("input").forEach(input => { document.querySelectorAll("input").forEach(input => {
@@ -214,7 +220,7 @@ function calculateCost() {
backupSlots: parseInt(document.getElementById("backupSlots").value), backupSlots: parseInt(document.getElementById("backupSlots").value),
workers: parseInt(document.getElementById("workers").value), workers: parseInt(document.getElementById("workers").value),
hdd: parseInt(document.getElementById("hdd").value), hdd: parseInt(document.getElementById("hdd").value),
cost: parseInt(document.getElementById("cost").value) cost: document.getElementById("cost").textContent.replace('$','')
}; };
try { try {
@@ -224,7 +230,14 @@ function calculateCost() {
body: JSON.stringify(payload) body: JSON.stringify(payload)
}); });
if (!res.ok) throw new Error("Failed to submit data"); if (!res.ok) throw new Error("Failed to submit data");
alert("Upgrade submitted successfully!");
// Replace page content with confirmation message
document.body.innerHTML = `
<div class="confirmation">
<h2>✅ Your upgrade request has been sent</h2>
<p>Please check your email for confirmation.</p>
</div>
`;
} catch (err) { } catch (err) {
console.error(err); console.error(err);
alert("Error submitting form."); alert("Error submitting form.");