1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/appointment/models/onboarding_onboarding_step.py
2024-12-10 09:04:09 +07:00

67 lines
2.3 KiB
Python

# coding: utf-8
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _, api, models
from odoo.addons.http_routing.models.ir_http import slug
class OnboardingStep(models.Model):
_inherit = 'onboarding.onboarding.step'
# First step
@api.model
def action_open_appointment_onboarding_create_appointment_type(self):
view_id = self.env.ref('appointment.appointment_type_view_form_appointment_onboarding').id
existing_appointment = self.env['appointment.type'].search([
('create_uid', '=', self.env.uid),
], order='create_date desc', limit=1)
return {
'name': _('Create your first Appointment'),
'type': 'ir.actions.act_window',
'res_id': existing_appointment.id,
'res_model': 'appointment.type',
'target': 'new',
'view_mode': 'form',
'views': [(view_id, "form")],
'context': {
'default_name': _('Meet With Me'),
}
}
# Second step
@api.model
def action_open_appointment_onboarding_preview_invite(self):
view_id = self.env.ref('appointment.appointment_onboarding_link_view_form').id
appointment_type = self.env['appointment.type'].search([], limit=1) \
or self.env['appointment.type'].create({'name': _('Meet With Me')})
return {
'name': _('Get Your Link'),
'type': 'ir.actions.act_window',
'res_model': 'appointment.onboarding.link',
'target': 'new',
'view_mode': 'form',
'views': [(view_id, "form")],
'context': {
'default_appointment_type_id': appointment_type.id,
'default_short_code': slug(appointment_type),
'dialog_size': 'medium',
}
}
# Third step
@api.model
def action_open_appointment_onboarding_configure_calendar_provider(self):
return {
'name': _('Connect your Calendar'),
'type': 'ir.actions.act_window',
'res_model': 'calendar.provider.config',
'target': 'new',
'view_mode': 'form',
'views': [(False, "form")],
'context': {
'dialog_size': 'medium',
}
}