dsrpt.contact.list dsrpt.contact dsrpt.contact.form dsrpt.contact

dsrpt.contact.search dsrpt.contact dsrpt.contact.communication.tree.simple dsrpt.contact.communication Contacts dsrpt.contact list,form {}

Create your first contact!

Manage your contacts and their communication methods in one place.

Send Need Qualification Event list,form code # Send transcription added event for selected contacts if records: for record in records: # Trigger event - listeners will decide what to do # Send need events based on contact status if record.status == 'awaiting_qualification': record._event('on_need_qualification').notify(record) else: record._event('on_need_request_summary_update').notify(record) record._event('on_need_calendar_event').notify(record) # Show notification # Count events sent qualification_count = len([r for r in records if r.status == 'awaiting_qualification']) other_count = len(records) - qualification_count message_parts = [] if qualification_count: message_parts.append(f"{qualification_count} qualification events") if other_count: message_parts.append(f"{other_count} summary/calendar events") message = f"Need events sent: {', '.join(message_parts) if message_parts else 'none'}" action = { 'type': 'ir.actions.client', 'tag': 'display_notification', 'params': { 'title': 'Event Sent', 'message': message, 'type': 'success', 'sticky': False, } } Send Need Summary/Calendar Events list,form code # Send context update event for selected contacts if records: for record in records: # Trigger event - ContextUpdatedListener will handle it # Send need events for non-qualifying contacts if record.status != 'awaiting_qualification': record._event('on_need_request_summary_update').notify(record) record._event('on_need_calendar_event').notify(record) # Show notification qualified_count = len([r for r in records if r.status == 'awaiting_qualification']) processed_count = len(records) - qualified_count message = f"Need events sent for {processed_count} contacts ({qualified_count} skipped - awaiting qualification)" action = { 'type': 'ir.actions.client', 'tag': 'display_notification', 'params': { 'title': 'Event Sent', 'message': message, 'type': 'success', 'sticky': False, } } Change Employee list code if records: action = { 'name': 'Change Employee', 'type': 'ir.actions.act_window', 'res_model': 'change.employee.wizard', 'view_mode': 'form', 'target': 'new', 'context': { 'active_model': 'dsrpt.contact', 'active_ids': records.ids, 'default_model_name': 'dsrpt.contact', 'default_field_name': 'user_id' } } action = action Recompute "Next Contact" list code if records: action = records[0].recompute_next_contact_all()