Includes: - Odoo 19 framework (odoo/) - 27 custom EnCoach addons (new_project/custom_addons/) - encoach_core, encoach_api, encoach_lms_api, encoach_adaptive_api - encoach_exam, encoach_taxonomy, encoach_adaptive, encoach_assignment - encoach_ai, encoach_ai_grading, encoach_ai_generation, encoach_ai_media - encoach_courseware, encoach_communication, encoach_subscription - encoach_notification, encoach_approval, encoach_branding - encoach_classroom, encoach_registration, encoach_stats - encoach_faq, encoach_ticket, encoach_training, encoach_resources - encoach_adaptive_ai, encoach_sis - 21 OpenEduCat Enterprise modules (new_project/enterprise-19/) - 14 OpenEduCat Community modules (new_project/openeducat_erp-19.0/) - Configuration: odoo.conf, requirements.txt, scripts - 200+ REST API endpoints with JWT authentication - SRS and test documentation Made-with: Cursor
34 lines
1.4 KiB
JavaScript
34 lines
1.4 KiB
JavaScript
import { mailModels } from "@mail/../tests/mail_test_helpers";
|
|
import { animationFrame } from "@odoo/hoot-mock";
|
|
import { registry } from "@web/core/registry";
|
|
import { buildEditableInteractions } from "@website/core/website_edit_service";
|
|
import { setupInteractionWhiteList } from "@web/../tests/public/helpers";
|
|
import { Website } from "./mock_server/mock_models/website";
|
|
import { WebsiteVisitor } from "./mock_server/mock_models/website_visitor";
|
|
|
|
export async function switchToEditMode(core) {
|
|
core.stopInteractions();
|
|
const activeInteractions = setupInteractionWhiteList.getWhiteList();
|
|
const unmatchedInteractions = activeInteractions ? new Set(activeInteractions) : new Set();
|
|
const builders = registry.category("public.interactions.edit").getEntries();
|
|
for (const [key, builder] of builders) {
|
|
if (activeInteractions && !activeInteractions.includes(key)) {
|
|
builder.isAbstract = true;
|
|
}
|
|
unmatchedInteractions.delete(key);
|
|
}
|
|
if (unmatchedInteractions.size) {
|
|
throw new Error(`White-listed Interaction does not exist: ${[...unmatchedInteractions]}.`);
|
|
}
|
|
const Interactions = builders.map((builder) => builder[1]);
|
|
const editableInteractions = buildEditableInteractions(Interactions);
|
|
core.activate(editableInteractions);
|
|
await animationFrame();
|
|
}
|
|
|
|
export const websiteModels = {
|
|
...mailModels,
|
|
Website,
|
|
WebsiteVisitor,
|
|
};
|