Compare commits
9 Commits
f0b7ea9740
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e28456bf3 | |||
| 5d1d81bdbf | |||
| f8430595e3 | |||
| 248a3796f4 | |||
| 683f69f7c4 | |||
| 6fb2ef7570 | |||
| 6ab8310e57 | |||
| 908d21b0ac | |||
| 4b76410979 |
@@ -0,0 +1,26 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{yaml,yml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.py]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[*.{js,ts,json}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
docker-compose.override.yml
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
FROM node:alpine
|
||||||
|
|
||||||
|
RUN npm install -g live-server
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
CMD ["live-server", ".", "--port=8080", "--host=0.0.0.0", "--no-browser"]
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
services:
|
||||||
|
dev:
|
||||||
|
build: .
|
||||||
|
volumes:
|
||||||
|
- .:/app
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<html>
|
||||||
|
<head><title>404 Not Found</title></head>
|
||||||
|
<body>
|
||||||
|
<center><h1>404 Not Found</h1></center>
|
||||||
|
<hr><center>nginx/1.29.1</center>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+48
-103
@@ -977,30 +977,42 @@
|
|||||||
></i>
|
></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="faq-answer px-7 pb-6">
|
<div class="faq-answer px-7 pb-6">
|
||||||
<p class="text-gray-500 text-sm leading-relaxed">
|
<p
|
||||||
Not for all of them.
|
class="text-gray-500 text-sm leading-relaxed mb-3"
|
||||||
<strong class="text-dark">BI Queries</strong>
|
>
|
||||||
and
|
None of these modules require n8n specifically.
|
||||||
|
<strong class="text-dark">BI Queries</strong>,
|
||||||
<strong class="text-dark"
|
<strong class="text-dark"
|
||||||
>Payment Link API</strong
|
>Payment Link API</strong
|
||||||
>
|
>
|
||||||
expose standard REST endpoints that work with
|
and
|
||||||
any HTTP client — curl, Postman, Make, Zapier,
|
|
||||||
or n8n.
|
|
||||||
<strong class="text-dark"
|
|
||||||
>Website Form Webhook</strong
|
|
||||||
>
|
|
||||||
POSTs to any webhook URL you configure, so Make
|
|
||||||
and other tools work too.
|
|
||||||
<strong class="text-dark"
|
<strong class="text-dark"
|
||||||
>Invoice Address Edit</strong
|
>Invoice Address Edit</strong
|
||||||
>
|
>
|
||||||
and
|
expose standard REST endpoints that work with
|
||||||
|
any HTTP client — curl, Postman, Make, Zapier,
|
||||||
|
or anything else you already use.
|
||||||
|
<strong class="text-dark"
|
||||||
|
>Website Form Webhook</strong
|
||||||
|
>
|
||||||
|
POSTs to any webhook URL, so any automation
|
||||||
|
platform can receive submissions.
|
||||||
|
</p>
|
||||||
|
<p
|
||||||
|
class="text-gray-500 text-sm leading-relaxed mb-3"
|
||||||
|
>
|
||||||
|
That said, n8n is what we actually use and
|
||||||
|
recommend. Every endpoint is designed to drop
|
||||||
|
straight into an n8n HTTP Request node — but
|
||||||
|
you're never locked in.
|
||||||
|
</p>
|
||||||
|
<p class="text-gray-500 text-sm leading-relaxed">
|
||||||
<strong class="text-dark"
|
<strong class="text-dark"
|
||||||
>Risk Management</strong
|
>Risk Management</strong
|
||||||
>
|
>
|
||||||
are standalone Odoo features with no external
|
is a different category entirely — it's a
|
||||||
dependency at all.
|
standalone Odoo feature with no external
|
||||||
|
dependency of any kind.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1235,18 +1247,6 @@
|
|||||||
</span>
|
</span>
|
||||||
Managed hosting — we handle updates & backups
|
Managed hosting — we handle updates & backups
|
||||||
</li>
|
</li>
|
||||||
<li
|
|
||||||
class="flex items-center gap-3 text-sm text-gray-200"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
class="w-6 h-6 rounded-full bg-green-500/20 border border-green-400/30 flex items-center justify-center flex-shrink-0"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fas fa-check text-green-400 text-[10px]"
|
|
||||||
></i>
|
|
||||||
</span>
|
|
||||||
Full Odoo or n8n instance, not a sandbox
|
|
||||||
</li>
|
|
||||||
<li
|
<li
|
||||||
class="flex items-center gap-3 text-sm text-gray-200"
|
class="flex items-center gap-3 text-sm text-gray-200"
|
||||||
>
|
>
|
||||||
@@ -1282,71 +1282,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- Product -->
|
<!-- Product -->
|
||||||
<div>
|
<input type="hidden" name="product" value="ODOO" />
|
||||||
<label
|
|
||||||
class="block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3"
|
|
||||||
>What do you need?</label
|
|
||||||
>
|
|
||||||
<div class="grid grid-cols-2 gap-3">
|
|
||||||
<label
|
|
||||||
id="opt-odoo"
|
|
||||||
class="trial-option flex items-center gap-3 border-2 border-brand rounded-xl px-4 py-3.5 cursor-pointer bg-brand/5 transition-all"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="radio"
|
|
||||||
name="product"
|
|
||||||
value="ODOO"
|
|
||||||
class="sr-only"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
class="w-8 h-8 rounded-lg bg-brand/10 flex items-center justify-center flex-shrink-0"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fas fa-cubes text-brand text-sm"
|
|
||||||
></i>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p
|
|
||||||
class="text-sm font-semibold text-dark"
|
|
||||||
>
|
|
||||||
Odoo
|
|
||||||
</p>
|
|
||||||
<p class="text-[11px] text-gray-400">
|
|
||||||
ERP + modules
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
<label
|
|
||||||
id="opt-n8n"
|
|
||||||
class="trial-option flex items-center gap-3 border-2 border-gray-200 rounded-xl px-4 py-3.5 cursor-pointer hover:border-gray-300 transition-all"
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
type="radio"
|
|
||||||
name="product"
|
|
||||||
value="N8N"
|
|
||||||
class="sr-only"
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
class="w-8 h-8 rounded-lg bg-gray-100 flex items-center justify-center flex-shrink-0"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="fas fa-project-diagram text-gray-400 text-sm"
|
|
||||||
></i>
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
<p
|
|
||||||
class="text-sm font-semibold text-dark"
|
|
||||||
>
|
|
||||||
n8n
|
|
||||||
</p>
|
|
||||||
<p class="text-[11px] text-gray-400">
|
|
||||||
Workflow automation
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Region -->
|
<!-- Region -->
|
||||||
<div>
|
<div>
|
||||||
@@ -1362,21 +1298,24 @@
|
|||||||
class="w-full appearance-none border-2 border-gray-200 rounded-xl px-4 py-3 text-sm text-dark bg-white focus:outline-none focus:border-brand transition-colors pr-10"
|
class="w-full appearance-none border-2 border-gray-200 rounded-xl px-4 py-3 text-sm text-dark bg-white focus:outline-none focus:border-brand transition-colors pr-10"
|
||||||
>
|
>
|
||||||
<option value="">Select a region…</option>
|
<option value="">Select a region…</option>
|
||||||
<option value="UK, Manchester">
|
<option value="manchester">
|
||||||
🇬🇧 UK — Manchester
|
🇬🇧 UK — Manchester
|
||||||
</option>
|
</option>
|
||||||
<option value="US, Boston">
|
<option value="boston">
|
||||||
🇺🇸 US — Boston
|
🇺🇸 US — Boston
|
||||||
</option>
|
</option>
|
||||||
<option value="IN, Mumbai">
|
<option value="mumbai">
|
||||||
🇮🇳 IN — Mumbai
|
🇮🇳 IN — Mumbai
|
||||||
</option>
|
</option>
|
||||||
<option value="BR, Sao Paulo">
|
<option value="saopaulo">
|
||||||
🇧🇷 BR — São Paulo
|
🇧🇷 BR — São Paulo
|
||||||
</option>
|
</option>
|
||||||
<option value="NL, Meppel">
|
<option value="meppel">
|
||||||
🇳🇱 NL — Meppel
|
🇳🇱 NL — Meppel
|
||||||
</option>
|
</option>
|
||||||
|
<option value="sydney">
|
||||||
|
🇦🇺 AU — Sydney
|
||||||
|
</option>
|
||||||
</select>
|
</select>
|
||||||
<i
|
<i
|
||||||
class="fas fa-chevron-down text-gray-400 text-xs absolute right-4 top-1/2 -translate-y-1/2 pointer-events-none"
|
class="fas fa-chevron-down text-gray-400 text-xs absolute right-4 top-1/2 -translate-y-1/2 pointer-events-none"
|
||||||
@@ -1583,11 +1522,19 @@
|
|||||||
// Mobile menu
|
// Mobile menu
|
||||||
const btn = document.getElementById("mobile-menu-button");
|
const btn = document.getElementById("mobile-menu-button");
|
||||||
const menu = document.getElementById("mobile-menu");
|
const menu = document.getElementById("mobile-menu");
|
||||||
btn.addEventListener("click", () =>
|
const btnIcon = btn.querySelector("i");
|
||||||
menu.classList.toggle("hidden"),
|
btn.addEventListener("click", () => {
|
||||||
);
|
menu.classList.toggle("hidden");
|
||||||
|
const isOpen = !menu.classList.contains("hidden");
|
||||||
|
btnIcon.classList.toggle("fa-bars", !isOpen);
|
||||||
|
btnIcon.classList.toggle("fa-times", isOpen);
|
||||||
|
});
|
||||||
menu.querySelectorAll("a").forEach((a) =>
|
menu.querySelectorAll("a").forEach((a) =>
|
||||||
a.addEventListener("click", () => menu.classList.add("hidden")),
|
a.addEventListener("click", () => {
|
||||||
|
menu.classList.add("hidden");
|
||||||
|
btnIcon.classList.add("fa-bars");
|
||||||
|
btnIcon.classList.remove("fa-times");
|
||||||
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
// FAQ accordion
|
// FAQ accordion
|
||||||
@@ -1704,8 +1651,6 @@
|
|||||||
errorEl.classList.remove("hidden");
|
errorEl.classList.remove("hidden");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script
|
<script
|
||||||
|
|||||||
Reference in New Issue
Block a user