Skip to Content

Schema: ai_sam_e_learning

Schema: ai_sam_e_learning

Technical Truth - Models, API endpoints, and data structures


Module Overview

Attribute Value
Technical Name ai_sam_e_learning
Version 18.0.1.1.0
Total Models 2 (1 inherited, 1 new)
Total Controllers 0
API Endpoints 0 (uses website_slides routes)

Models

res.config.settings (Inherited)

Purpose: Add eLearning-specific settings to Website > Configuration

Field Type Required Description
elearning_disable_fullscreen Boolean No Disable auto-fullscreen on lesson click (config_parameter)
elearning_header_color Char No Custom header background color (default: #4A90FF)
elearning_enable_menu_categories Boolean No Enable custom menu category feature
elearning_full_width Boolean No Use full browser width for eLearning pages

Config Parameters:
- ai_sam_e_learning.disable_fullscreen
- ai_sam_e_learning.header_color
- ai_sam_e_learning.enable_menu_categories
- ai_sam_e_learning.full_width

Key Methods:
| Method | Purpose | Returns |
|--------|---------|---------|
| action_upgrade_elearning_module() | Trigger module upgrade to apply changes | Reload action |


elearning.menu.category (New Model)

Purpose: Define custom URL routes with filtered course views

Field Type Required Description
name Char Yes Display name (e.g., "SAM Docs")
slug Char Yes URL-friendly slug (e.g., "sam-docs" for /learn/sam-docs)
sequence Integer No Display order (default: 10)
active Boolean No Active flag (default: True)
tag_ids Many2many No Filter by slide.channel.tag
channel_ids Many2many No Filter by specific slide.channel courses
banner_title Char No Custom title in banner
banner_color Char No Custom banner color (e.g., #875A7B)
description Html No Category description
create_website_menu Boolean No Auto-create website.menu item (default: True)
website_menu_id Many2one No Created website.menu (readonly)
parent_menu_id Many2one No Parent menu item

Key Methods:
| Method | Purpose | Returns |
|--------|---------|---------|
| _create_website_menu() | Create website menu item | None |
| _update_website_menu() | Update existing menu item | None |
| _onchange_name() | Auto-generate slug from name | None |

SQL Constraints:
- slug_unique - URL slug must be unique


Data Relationships Diagram

┌─────────────────────────┐
│ elearning.menu.category │
│                         │
│  - name                 │
│  - slug                 │
│  - tag_ids ─────────────┼──────► slide.channel.tag
│  - channel_ids ─────────┼──────► slide.channel
│  - website_menu_id ─────┼──────► website.menu
│  - parent_menu_id ──────┼──────► website.menu
└─────────────────────────┘

Frontend Assets

web.assets_frontend

File Purpose
slides_disable_fullscreen.js Override fullscreen behavior based on config setting

Security Rules

Model Group Read Write Create Delete
elearning.menu.category base.group_user Yes No No No
elearning.menu.category website_slides.group_website_slides_manager Yes Yes Yes Yes

Settings Menu Path

Website > Configuration > eLearning

  • Disable Fullscreen Mode
  • Header Background Color
  • Enable Menu Categories
  • Full Page Width

Change History

Date Change By
2025-01-26 Initial schema documentation CTO Module Documentor
2025-01-26 Enhanced to 10/10: Corrected security rules CTO Module Docs Reviewer
Was this helpful?