1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/appointment/static/tests/appointment_tests_common.js
2024-12-10 09:04:09 +07:00

175 lines
6.4 KiB
JavaScript

/** @odoo-module */
export function getServerModels(year = 2022) {
const now = luxon.DateTime.now().set({ year });
return {
"res.users": {
fields: {
id: { string: "ID", type: "integer" },
name: { string: "Name", type: "char" },
partner_id: { string: "Partner", type: "many2one", relation: "res.partner"},
},
records: [
{ id: 1, name: "User 1", partner_id: 1 },
{ id: 214, name: "User 214", partner_id: 214 },
{ id: 216, name: "User 216", partner_id: 216 },
],
},
"res.partner": {
fields: {
id: { string: "ID", type: "integer" },
name: { string: "Name", type: "char" },
email: { string: "email", type: "char" },
phone: { string: "phone", type: "char" },
display_name: { string: "Displayed name", type: "char" },
user_ids: {
string: "Users",
type: "one2many",
relation: "res.users",
relation_field: "partner_id",
},
},
records: [
{
id: 1,
display_name: "Partner 1",
name: "Partner 1",
email: "partner1@test.lan",
phone: "0467121212",
user_ids: [1],
},
{
id: 214,
display_name: "Partner 214",
name: "Partner 214",
email: "",
phone: "012123123",
user_ids: [214],
},
{
id: 216,
display_name: "Partner 216",
name: "Partner 216",
email: "partner216@test.lan",
phone: "",
user_ids: [216],
},
{
id: 217,
display_name: "Contact Partner",
name: "Contact Partner",
email: "partner@contact.lan",
phone: "",
user_ids: [],
},
],
},
"calendar.event": {
fields: {
id: { string: "ID", type: "integer" },
user_id: { string: "User", type: "many2one", relation: "res.users" },
partner_id: {
string: "Partner",
type: "many2one",
relation: "res.partner",
related: "user_id.partner_id",
},
name: { string: "Name", type: "char" },
start_date: { string: "Start date", type: "date" },
stop_date: { string: "Stop date", type: "date" },
start: { string: "Start datetime", type: "datetime" },
stop: { string: "Stop datetime", type: "datetime" },
allday: { string: "Allday", type: "boolean" },
partner_ids: { string: "Attendees", type: "many2many", relation: "res.partner" },
appointment_attended: { string: "Attended", type: "boolean" },
appointment_type_id: {
string: "Appointment Type",
type: "many2one",
relation: "appointment.type",
},
},
records: [
{
id: 1,
user_id: 1,
partner_id: 1,
name: "Event 1",
start: now.toFormat("yyyy'-01-12 10:00:00"),
stop: now.toFormat("yyyy'-01-12 11:00:00"),
allday: false,
appointment_attended: false,
partner_ids: [1, 214],
},
{
id: 2,
user_id: 214,
partner_id: 214,
name: "Event 2",
start: now.toFormat("yyyy'-01-05 10:00:00"),
stop: now.toFormat("yyyy'-01-05 11:00:00"),
allday: false,
appointment_attended: false,
partner_ids: [214, 216],
},
{
id: 3,
user_id: 216,
partner_id: 216,
name: "Event 3",
start: now.toFormat("yyyy'-01-05 10:00:00"),
stop: now.toFormat("yyyy'-01-05 11:00:00"),
allday: false,
appointment_attended: false,
partner_ids: [216, 1, 214, 217],
},
],
check_access_rights: function () {
return Promise.resolve(true);
},
},
"appointment.type": {
fields: {
name: { type: "char" },
website_url: { type: "char" },
staff_user_ids: { type: "many2many", relation: "res.users" },
website_published: { type: "boolean" },
slot_ids: { type: "one2many", relation: "appointment.slot" },
schedule_based_on: {
type: "selection",
selection: [
["users", "Users"],
["resources", "Resources"],
],
},
category: {
type: "selection",
selection: [
["website", "Website"],
["custom", "Custom"],
],
},
},
records: [
{
id: 1,
name: "Very Interesting Meeting",
website_url: "/appointment/1",
website_published: true,
schedule_based_on: "users",
staff_user_ids: [214, 216],
category: "website",
},
{
id: 2,
name: "Test Appointment",
website_url: "/appointment/2",
website_published: true,
schedule_based_on: "users",
staff_user_ids: [1],
category: "website",
},
],
},
};
}