diff --git a/device_manager/config/desktop.py b/device_manager/config/desktop.py new file mode 100644 index 0000000..efc1425 --- /dev/null +++ b/device_manager/config/desktop.py @@ -0,0 +1,13 @@ +from frappe import _ + + +def get_data(): + return [ + { + "module_name": "Device Manager", + "color": "teal", + "icon": "octicon octicon-shield-check", + "type": "module", + "label": _("Device Manager"), + } + ] diff --git a/device_manager/desktop_icon/device_manager.json b/device_manager/desktop_icon/device_manager.json new file mode 100644 index 0000000..ed1f21d --- /dev/null +++ b/device_manager/desktop_icon/device_manager.json @@ -0,0 +1,22 @@ +{ + "app": "device_manager", + "bg_color": "#BA0C2F", + "creation": "2026-06-17 00:00:00.000000", + "docstatus": 0, + "doctype": "Desktop Icon", + "hidden": 0, + "icon_type": "Link", + "idx": 0, + "label": "Device Manager", + "link_to": "Device Manager", + "link_type": "Workspace Sidebar", + "logo_url": "/assets/device_manager/images/icon.svg", + "modified": "2026-06-17 00:00:00.000000", + "modified_by": "Administrator", + "name": "Device Manager", + "owner": "Administrator", + "restrict_removal": 0, + "roles": [], + "sidebar": "Device Manager", + "standard": 1 +} diff --git a/device_manager/device_manager/workspace/__init__.py b/device_manager/device_manager/workspace/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/device_manager/device_manager/workspace/__init__.py @@ -0,0 +1 @@ + diff --git a/device_manager/device_manager/workspace/device_manager/__init__.py b/device_manager/device_manager/workspace/device_manager/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/device_manager/device_manager/workspace/device_manager/__init__.py @@ -0,0 +1 @@ + diff --git a/device_manager/device_manager/workspace/device_manager/device_manager.json b/device_manager/device_manager/workspace/device_manager/device_manager.json new file mode 100644 index 0000000..d31df90 --- /dev/null +++ b/device_manager/device_manager/workspace/device_manager/device_manager.json @@ -0,0 +1,188 @@ +{ + "app": "device_manager", + "charts": [], + "content": "[{\"id\":\"dm_header_overview\",\"type\":\"header\",\"data\":{\"text\":\"Device Manager\",\"col\":12}},{\"id\":\"dm_card_lifecycle\",\"type\":\"card\",\"data\":{\"card_name\":\"Device Lifecycle\",\"col\":3}},{\"id\":\"dm_card_access\",\"type\":\"card\",\"data\":{\"card_name\":\"Access Control\",\"col\":3}},{\"id\":\"dm_card_radius\",\"type\":\"card\",\"data\":{\"card_name\":\"RADIUS Evidence\",\"col\":3}},{\"id\":\"dm_card_audit\",\"type\":\"card\",\"data\":{\"card_name\":\"Audit & Dataset Use\",\"col\":3}}]", + "creation": "2026-06-17 00:00:00.000000", + "custom_blocks": [], + "docstatus": 0, + "doctype": "Workspace", + "for_user": "", + "hide_custom": 0, + "icon": "shield-check", + "idx": 0, + "is_hidden": 0, + "label": "Device Manager", + "links": [ + { + "hidden": 0, + "is_query_report": 0, + "label": "Device Lifecycle", + "link_count": 0, + "onboard": 0, + "type": "Card Break" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Device", + "link_count": 0, + "link_to": "DM Device", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Device Registration", + "link_count": 0, + "link_to": "DM Device Registration", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Access Control", + "link_count": 0, + "onboard": 0, + "type": "Card Break" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Network Segment", + "link_count": 0, + "link_to": "DM Network Segment", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Access Policy", + "link_count": 0, + "link_to": "DM Access Policy", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "RADIUS Evidence", + "link_count": 0, + "onboard": 0, + "type": "Card Break" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Radius Auth Event", + "link_count": 0, + "link_to": "DM Radius Auth Event", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Access Decision", + "link_count": 0, + "link_to": "DM Access Decision", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Audit & Dataset Use", + "link_count": 0, + "onboard": 0, + "type": "Card Break" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Dataset Authorization", + "link_count": 0, + "link_to": "DM Dataset Authorization", + "link_type": "DocType", + "onboard": 1, + "type": "Link" + }, + { + "dependencies": "", + "hidden": 0, + "is_query_report": 0, + "label": "DM Device Audit Event", + "link_count": 0, + "link_to": "DM Device Audit Event", + "link_type": "DocType", + "onboard": 0, + "type": "Link" + } + ], + "modified": "2026-06-17 00:00:00.000000", + "modified_by": "Administrator", + "module": "Device Manager", + "name": "Device Manager", + "number_cards": [], + "owner": "Administrator", + "parent_page": "", + "public": 1, + "quick_lists": [], + "restrict_to_domain": "", + "roles": [ + { + "role": "System Manager" + } + ], + "sequence_id": 1.0, + "shortcuts": [ + { + "color": "Blue", + "format": "{} Devices", + "label": "DM Device", + "link_to": "DM Device", + "stats_filter": "{}", + "type": "DocType" + }, + { + "color": "Orange", + "format": "{} Registrations", + "label": "DM Device Registration", + "link_to": "DM Device Registration", + "stats_filter": "{}", + "type": "DocType" + }, + { + "color": "Green", + "format": "{} Policies", + "label": "DM Access Policy", + "link_to": "DM Access Policy", + "stats_filter": "{}", + "type": "DocType" + }, + { + "color": "Purple", + "format": "{} Decisions", + "label": "DM Access Decision", + "link_to": "DM Access Decision", + "stats_filter": "{}", + "type": "DocType" + } + ], + "title": "Device Manager" +} diff --git a/device_manager/public/images/icon.svg b/device_manager/public/images/icon.svg new file mode 100644 index 0000000..a7daa42 --- /dev/null +++ b/device_manager/public/images/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/device_manager/workspace_sidebar/device_manager.json b/device_manager/workspace_sidebar/device_manager.json new file mode 100644 index 0000000..b581f1b --- /dev/null +++ b/device_manager/workspace_sidebar/device_manager.json @@ -0,0 +1,152 @@ +{ + "app": "device_manager", + "docstatus": 0, + "doctype": "Workspace Sidebar", + "header_icon": "shield-check", + "items": [ + { + "child": 0, + "collapsible": 1, + "icon": "layout-dashboard", + "indent": 0, + "keep_closed": 0, + "label": "Home", + "link_to": "Device Manager", + "link_type": "Workspace", + "show_arrow": 0, + "type": "Link" + }, + { + "collapsible": 1, + "icon": "monitor", + "indent": 0, + "keep_closed": 0, + "label": "Device Lifecycle", + "type": "Section Break" + }, + { + "child": 1, + "collapsible": 1, + "icon": "monitor", + "indent": 0, + "keep_closed": 0, + "label": "Devices", + "link_to": "DM Device", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "child": 1, + "collapsible": 1, + "icon": "clipboard-list", + "indent": 0, + "keep_closed": 0, + "label": "Registrations", + "link_to": "DM Device Registration", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "collapsible": 1, + "icon": "network", + "indent": 0, + "keep_closed": 0, + "label": "Access Control", + "type": "Section Break" + }, + { + "child": 1, + "collapsible": 1, + "icon": "route", + "indent": 0, + "keep_closed": 0, + "label": "Network Segments", + "link_to": "DM Network Segment", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "child": 1, + "collapsible": 1, + "icon": "shield-check", + "indent": 0, + "keep_closed": 0, + "label": "Access Policies", + "link_to": "DM Access Policy", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "collapsible": 1, + "icon": "radio-tower", + "indent": 0, + "keep_closed": 0, + "label": "RADIUS Evidence", + "type": "Section Break" + }, + { + "child": 1, + "collapsible": 1, + "icon": "radio-tower", + "indent": 0, + "keep_closed": 0, + "label": "Auth Events", + "link_to": "DM Radius Auth Event", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "child": 1, + "collapsible": 1, + "icon": "list-checks", + "indent": 0, + "keep_closed": 0, + "label": "Access Decisions", + "link_to": "DM Access Decision", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "collapsible": 1, + "icon": "database", + "indent": 0, + "keep_closed": 0, + "label": "Audit & Dataset Use", + "type": "Section Break" + }, + { + "child": 1, + "collapsible": 1, + "icon": "database", + "indent": 0, + "keep_closed": 0, + "label": "Dataset Authorizations", + "link_to": "DM Dataset Authorization", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + }, + { + "child": 1, + "collapsible": 1, + "icon": "history", + "indent": 0, + "keep_closed": 0, + "label": "Audit Events", + "link_to": "DM Device Audit Event", + "link_type": "DocType", + "show_arrow": 0, + "type": "Link" + } + ], + "module": "Device Manager", + "name": "Device Manager", + "standard": 1, + "title": "Device Manager" +}