Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
1 Beantwoorden
3221 Weergaven

Hello All,

i selected patient from   patient  and open patient form  , And above the patient form i add a button for this button wizard is opened and getting  appointment information .

I want that patient_id filed in   create appointment  wizard should be auto field when user open it

How can i  do this? 


##################### Code ####################

from odoo import models, fields, api



class CreateAppintment(models.TransientModel):

    _name = 'create.appointment'

    patient_id = fields.Many2one('clinic.patient', string='Patient')

    date_appointment = fields.Datetime('Date of Appointment')

    appointment_type = fields.Selection([('type1', 'Medical consultation'), ('type2', 'Check Up')],

                                        string="Appointment Type",

                                        help="To Detect The Type Of Appointment")


    appointment_status = fields.Selection(

        [('Pending', 'Pending'), ('Comfirmed', 'Comfirmed'), ('Done', 'Done'), ('Canceled', 'Canceled')], String="Status",

        readonly=True, default='Pending')

    doctor_id = fields.Many2one('hr.employee', string='Doctor',

                                domain="[('department_id.name', '=', 'Doctors')]")

    notes = fields.Html('Notes')


    def default_get(self):

        pass


        # Create Appointment


    def create_appointment(self):

        vals = {

            'patient_id': self.patient_id.id,

            'doctor_id': self.doctor_id.id,

            'date_appointment': self.date_appointment,

            'appointment_type': self.appointment_type,

            'appointment_status': self.appointment_status,

            'notes': self.notes

        }

        # adding a message to the Chatter from code

        self.patient_id.message_post(body='Test String', subject="Appointment Creation")

        # creating appointments from the code

        self.env['clinic.appointment'].create(vals)



Avatar
Annuleer
Beste antwoord

Hi,

You can pass the default value using the context, in the question you haven't added shown how you are opening the wizard(code of button),

See this sample for a field, you can pass similar context for button also,

<field name="test" context="{'default_patient_id': active_id}"/>

Thanks

Avatar
Annuleer
Auteur

# code of button in patient model xml to open Create appointment wizard

<button name="%(UP_Clinic.create_appointment_wizard)d" string="Create Appointment" type="action" class="oe_highlight" />

Gerelateerde posts Antwoorden Weergaven Activiteit
2
aug. 25
2300
1
jul. 25
826
1
aug. 25
1150
0
mei 25
1277
2
apr. 25
3490