diff --git a/westech_r2/page/eim_portal/__init__.py b/westech_r2/page/eim_portal/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/westech_r2/page/eim_portal/eim-portal.css b/westech_r2/page/eim_portal/eim-portal.css new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/westech_r2/page/eim_portal/eim-portal.css @@ -0,0 +1 @@ + diff --git a/westech_r2/page/eim_portal/eim-portal.js b/westech_r2/page/eim_portal/eim-portal.js new file mode 100644 index 0000000..9d84ac1 --- /dev/null +++ b/westech_r2/page/eim_portal/eim-portal.js @@ -0,0 +1,4 @@ +frappe.pages["eim-portal"].on_page_load = function(wrapper) { + wrapper.innerHTML = '

Redirecting to EIM Device Portal...

'; + setTimeout(function() { window.location.href = "https://eim.diagalon.com"; }, 500); +}; diff --git a/westech_r2/page/eim_portal/eim-portal.json b/westech_r2/page/eim_portal/eim-portal.json new file mode 100644 index 0000000..c06f7bd --- /dev/null +++ b/westech_r2/page/eim_portal/eim-portal.json @@ -0,0 +1,13 @@ +{ + "creation": "2026-05-09 14:00:00", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2026-05-09 14:00:00", + "modified_by": "Administrator", + "module": "Westech R2", + "name": "eim-portal", + "owner": "Administrator", + "standard": "Yes", + "title": "EIM Device Portal" +} diff --git a/westech_r2/page/eim_portal/eim-portal.py b/westech_r2/page/eim_portal/eim-portal.py new file mode 100644 index 0000000..9d9e209 --- /dev/null +++ b/westech_r2/page/eim_portal/eim-portal.py @@ -0,0 +1,5 @@ +import frappe + +def get_context(context): + frappe.local.flags.redirect_location = "https://eim.diagalon.com" + raise frappe.Redirect diff --git a/westech_r2/page/eim_portal/eim_portal.js b/westech_r2/page/eim_portal/eim_portal.js new file mode 100644 index 0000000..e5cbdea --- /dev/null +++ b/westech_r2/page/eim_portal/eim_portal.js @@ -0,0 +1,7 @@ +frappe.pages['eim-portal'].on_page_load = function(wrapper) { + var page = frappe.ui.make_app_page({ + parent: wrapper, + title: 'EIM Device Portal', + single_column: true + }); +} \ No newline at end of file diff --git a/westech_r2/page/eim_portal/eim_portal.json b/westech_r2/page/eim_portal/eim_portal.json new file mode 100644 index 0000000..1330152 --- /dev/null +++ b/westech_r2/page/eim_portal/eim_portal.json @@ -0,0 +1,23 @@ +{ + "content": null, + "creation": "2026-05-09 14:00:00", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2026-05-09 15:09:48.653878", + "modified_by": "Administrator", + "module": "Westech R2", + "name": "eim-portal", + "owner": "Administrator", + "page_name": "eim-portal", + "roles": [ + { + "role": "All" + } + ], + "script": null, + "standard": "Yes", + "style": null, + "system_page": 0, + "title": "EIM Device Portal" +} \ No newline at end of file diff --git a/westech_r2/page/r2_tracking/__init__.py b/westech_r2/page/r2_tracking/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/westech_r2/page/r2_tracking/r2-tracking.css b/westech_r2/page/r2_tracking/r2-tracking.css new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/westech_r2/page/r2_tracking/r2-tracking.css @@ -0,0 +1 @@ + diff --git a/westech_r2/page/r2_tracking/r2-tracking.js b/westech_r2/page/r2_tracking/r2-tracking.js new file mode 100644 index 0000000..952121b --- /dev/null +++ b/westech_r2/page/r2_tracking/r2-tracking.js @@ -0,0 +1,4 @@ +frappe.pages["r2-tracking"].on_page_load = function(wrapper) { + wrapper.innerHTML = '

Redirecting to R2 Data Tracking...

'; + setTimeout(function() { window.location.href = "https://eim.diagalon.com/report/data-tracking-form"; }, 500); +}; diff --git a/westech_r2/page/r2_tracking/r2-tracking.json b/westech_r2/page/r2_tracking/r2-tracking.json new file mode 100644 index 0000000..1d5f981 --- /dev/null +++ b/westech_r2/page/r2_tracking/r2-tracking.json @@ -0,0 +1,13 @@ +{ + "creation": "2026-05-09 14:00:00", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2026-05-09 14:00:00", + "modified_by": "Administrator", + "module": "Westech R2", + "name": "r2-tracking", + "owner": "Administrator", + "standard": "Yes", + "title": "R2 Data Tracking" +} diff --git a/westech_r2/page/r2_tracking/r2-tracking.py b/westech_r2/page/r2_tracking/r2-tracking.py new file mode 100644 index 0000000..abee617 --- /dev/null +++ b/westech_r2/page/r2_tracking/r2-tracking.py @@ -0,0 +1,5 @@ +import frappe + +def get_context(context): + frappe.local.flags.redirect_location = "https://eim.diagalon.com/report/data-tracking-form" + raise frappe.Redirect diff --git a/westech_r2/page/r2_tracking/r2_tracking.js b/westech_r2/page/r2_tracking/r2_tracking.js new file mode 100644 index 0000000..71c263a --- /dev/null +++ b/westech_r2/page/r2_tracking/r2_tracking.js @@ -0,0 +1,7 @@ +frappe.pages['r2-tracking'].on_page_load = function(wrapper) { + var page = frappe.ui.make_app_page({ + parent: wrapper, + title: 'R2 Data Tracking', + single_column: true + }); +} \ No newline at end of file diff --git a/westech_r2/page/r2_tracking/r2_tracking.json b/westech_r2/page/r2_tracking/r2_tracking.json new file mode 100644 index 0000000..cbedb3f --- /dev/null +++ b/westech_r2/page/r2_tracking/r2_tracking.json @@ -0,0 +1,23 @@ +{ + "content": null, + "creation": "2026-05-09 14:00:00", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2026-05-09 15:09:48.707863", + "modified_by": "Administrator", + "module": "Westech R2", + "name": "r2-tracking", + "owner": "Administrator", + "page_name": "r2-tracking", + "roles": [ + { + "role": "All" + } + ], + "script": null, + "standard": "Yes", + "style": null, + "system_page": 0, + "title": "R2 Data Tracking" +} \ No newline at end of file diff --git a/westech_r2/page/wes-ai/__init__.py b/westech_r2/page/wes-ai/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/westech_r2/page/wes-ai/wes-ai.css b/westech_r2/page/wes-ai/wes-ai.css new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/westech_r2/page/wes-ai/wes-ai.css @@ -0,0 +1 @@ + diff --git a/westech_r2/page/wes-ai/wes-ai.js b/westech_r2/page/wes-ai/wes-ai.js new file mode 100644 index 0000000..34af4e2 --- /dev/null +++ b/westech_r2/page/wes-ai/wes-ai.js @@ -0,0 +1,4 @@ +frappe.pages["wes-ai"].on_page_load = function(wrapper) { + wrapper.innerHTML = '

Redirecting to Wes AI Assistant...

'; + setTimeout(function() { window.location.href = "https://wes.advante.ch"; }, 500); +}; diff --git a/westech_r2/page/wes-ai/wes-ai.json b/westech_r2/page/wes-ai/wes-ai.json new file mode 100644 index 0000000..677ff5b --- /dev/null +++ b/westech_r2/page/wes-ai/wes-ai.json @@ -0,0 +1,13 @@ +{ + "creation": "2026-05-09 14:00:00", + "docstatus": 0, + "doctype": "Page", + "idx": 0, + "modified": "2026-05-09 14:00:00", + "modified_by": "Administrator", + "module": "Westech R2", + "name": "wes-ai", + "owner": "Administrator", + "standard": "Yes", + "title": "Wes AI Assistant" +} diff --git a/westech_r2/page/wes-ai/wes-ai.py b/westech_r2/page/wes-ai/wes-ai.py new file mode 100644 index 0000000..be45c07 --- /dev/null +++ b/westech_r2/page/wes-ai/wes-ai.py @@ -0,0 +1,5 @@ +import frappe + +def get_context(context): + frappe.local.flags.redirect_location = "https://wes.advante.ch" + raise frappe.Redirect diff --git a/westech_r2/page/wes-ai/wes_ai.js b/westech_r2/page/wes-ai/wes_ai.js new file mode 100644 index 0000000..6d145d9 --- /dev/null +++ b/westech_r2/page/wes-ai/wes_ai.js @@ -0,0 +1,30 @@ +frappe.pages["wes-ai"].on_page_load = function(wrapper) { + var page = frappe.ui.make_app_page({ + parent: wrapper, + title: "Wes AI Assistant", + single_column: true + }); + + // Create iframe that embeds Wes AI + var $container = $(wrapper).find(".layout-main-section"); + $container.css({ + "position": "relative", + "overflow": "hidden" + }); + + // Determine Wes URL based on environment + var wes_url = "https://wes.advante.ch"; + + // On production VM, Wes runs locally + if (window.location.hostname === "erpnext.local" || window.location.hostname === "localhost") { + wes_url = "http://localhost:8082"; + } + + var $iframe = $('