TIP: You can type at any time to perform a new search.
Sale planner calendar
sale_planner_calendar · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.0.3
- Category
- Sale
- Folder size
- 0.58 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 08:42:48
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- sergio-teruel, Víctor Martínez, Carlos Roca, Weblate, OCA-git-bot, oca-ci
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module allows to manage commercial visits to partners by using recurrence events.
Code Analysis ⓘ
Views touched (23)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
res_config_settings_view_form |
res.config.settings | form | Inherits sale.res_config_settings_view_form | |
view_calendar_event_form |
calendar.event | form | Inherits calendar.view_calendar_event_form | |
view_calendar_event_kanban |
calendar.event.kanban | calendar.event | kanban | New |
view_calendar_event_search |
calendar.event | search | Inherits calendar.view_calendar_event_search | |
view_calendar_event_tree |
calendar.event | tree | Inherits calendar.view_calendar_event_tree | |
view_calendar_event_tree_primary_only |
calendar.event.primary.only | calendar.event | list | New |
view_calendar_event_type_tree |
calendar.event.type | calendar.event.type | calendar | Inherits calendar.view_calendar_event_type_tree |
view_partner_form |
res.partner | form | Inherits base.view_partner_form | |
view_sale_planner_calendar_change_hour_form |
sale.planner.calendar.change.hour.form | calendar.event | form | New |
view_sale_planner_calendar_form |
sale.planner.calendar.event.form | calendar.event | form | New |
view_sale_planner_calendar_issue_form |
sale.planner.calendar.issue.form | calendar.event | form | New |
view_sale_planner_calendar_issue_tree |
sale.planner.calendar.issue.tree | calendar.event | list | New |
view_sale_planner_calendar_issue_type_tree |
sale.planner.calendar.issue.type.tree | sale.planner.calendar.issue.type | list | New |
view_sale_planner_calendar_kanban |
sale.planner.calendar.event.kanban | calendar.event | kanban | New |
view_sale_planner_calendar_rating_form |
sale.planner.calendar.rating.form | calendar.event | form | New |
view_sale_planner_calendar_reassign_wiz |
sale.planner.calendar.reassign.wiz | sale.planner.calendar.reassign.wiz | form | New |
view_sale_planner_calendar_search |
sale.planner.calendar.event | calendar.event | search | New |
view_sale_planner_calendar_summary_form |
sale.planner.calendar.summary.form | sale.planner.calendar.summary | form | New |
view_sale_planner_calendar_summary_kanban |
sale.planner.calendar.event.kanban | sale.planner.calendar.summary | kanban | New |
view_sale_planner_calendar_summary_search |
sale.planner.calendar.summary | sale.planner.calendar.summary | search | New |
view_sale_planner_calendar_summary_tree |
sale.planner.calendar.summary.tree | sale.planner.calendar.summary | list | New |
view_sale_planner_calendar_tree |
sale.planner.calendar.event.tree | calendar.event | list | New |
view_sale_planner_calendar_wizard |
sale.planner.calendar.wizard | sale.planner.calendar.wizard | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (15)
New fields (0)
No new fields.
Public methods (1)-
create(self, vals_list)@api.model_create_multi
New fields (32)
-
advanced_cycleBoolean -
calendar_issue_type_idMany2one → sale.planner.calendar.issue.typecomodel_name='sale.planner.calendar.issue.type'ondelete='restrict' -
calendar_summary_idMany2one → sale.planner.calendar.summarycomodel_name='sale.planner.calendar.summary'copy=False -
categ_iconsCharcompute='_compute_categ_icons' -
commentText -
cycle_numberInteger -
cycle_skipInteger -
hourFloatcompute='_compute_hour'inverse='_inverse_hour' -
invoice_amount_residualMonetarycompute='_compute_invoice_amount_residual'compute_sudo=Truecurrency_field='sale_planner_currency_id'string='Invoice amount due' -
invoice_date_dueDatecompute='_compute_invoice_amount_residual'compute_sudo=Truestring='Due Date' -
is_base_recurrent_eventBooleancompute='_compute_is_base_recurrent_event'store=True -
is_dynamic_end_dateBooleancopy=False -
location_urlCharcompute='_compute_location_url' -
off_planningBooleancopy=False -
partner_cityCharrelated='target_partner_id.city' -
partner_commercial_nameCharrelated='target_partner_id.commercial_partner_id.name'string='Commercial partner name' -
partner_contact_nameCharcompute='_compute_contact' -
partner_mobileCharcompute='_compute_contact' -
partner_nameCharcompute='_compute_partner_name' -
partner_refCharrelated='target_partner_id.ref' -
partner_streetCharrelated='target_partner_id.street' -
partner_user_idMany2onerelated='target_partner_id.user_id'string='Partner salesperson' -
payment_sheet_line_idsOne2many → sale.payment.sheet.linecomodel_name='sale.payment.sheet.line'inverse_name='sale_planner_calendar_event_id' -
sale_idsOne2many → sale.ordercomodel_name='sale.order'inverse_name='sale_planner_calendar_event_id' -
sale_order_subtotalMonetarycompute='_compute_sale_order_subtotal'currency_field='sale_planner_currency_id' -
sale_planner_currency_idMany2one → res.currencycomodel_name='res.currency'related='target_partner_id.currency_id' -
sale_planner_ratingSelectionargs: [('1', '😞︎'), ('3', '😐︎'), ('5', '😊︎')] -
sale_planner_stateSelectiondefault='pending'readonly=Truetracking=True args: [('pending', 'Pending'), ('done', 'Done'), ('cancel', 'Cancelled')] -
sanitized_partner_mobileCharcompute='_compute_sanitized_partner_mobile' -
target_partner_idMany2one → res.partnercomodel_name='res.partner'help='Is the partner used in planner'string='Sale planner partner' -
target_partner_mobileCharrelated='target_partner_id.mobile' -
unsubscribe_dateDate
-
action_apply_change_hour_wiz(self) -
action_apply_issue(self) -
action_cancel(self) -
action_done(self) -
action_open_change_hour_wiz(self) -
action_open_invoices(self) -
action_open_issue(self) -
action_open_rating(self) -
action_open_sale_order(self, new_order=False)Search or Create an event planner linked to sale order -
action_open_unpaid_invoice(self) -
action_pending(self) -
action_set_sale_planner_rating(self) -
cron_update_dynamic_final_date(self)@api.model -
get_week_days_count(self)
New fields (2)
-
durationFloat -
iconCharhelp='Font awesome icon e.g. fa-tasks'
No public methods.
New fields (5)
-
sale_planner_done_on_sale_confirmBooleanstring='Event done when confirm sale' -
sale_planner_forward_monthsIntegerdefault=12 -
sale_planner_mail_to_attendeesBooleandefault=Truestring='Send invitation to attendees' -
sale_planner_order_cut_hourFloat -
susbscriptions_backward_daysIntegerdefault=180
No public methods.
New fields (6)
-
sale_planner_calendar_max_durationFloatconfig_parameter='sale_planner_calendar.max_duration'string='Calendar event max duration' -
sale_planner_done_on_sale_confirmBooleanreadonly=Falserelated='company_id.sale_planner_done_on_sale_confirm' -
sale_planner_forward_monthsIntegerreadonly=Falserelated='company_id.sale_planner_forward_months' -
sale_planner_mail_to_attendeesBooleanreadonly=Falserelated='company_id.sale_planner_mail_to_attendees' -
sale_planner_order_cut_hourFloatreadonly=Falserelated='company_id.sale_planner_order_cut_hour' -
susbscriptions_backward_daysIntegerreadonly=Falserelated='company_id.susbscriptions_backward_days'
No public methods.
New fields (1)
-
is_sale_planner_contactBoolean
-
action_calendar_planner(self) -
write(self, vals)
New fields (0)
No new fields.
Public methods (1)-
get_action_sale_planner_calendar_event(self)@api.model
New fields (1)
-
sale_planner_calendar_event_idMany2one → calendar.eventcomodel_name='calendar.event'
No public methods.
New fields (1)
-
sale_planner_calendar_event_idMany2one → calendar.eventcomodel_name='calendar.event'
-
action_set_planner_calendar_event(self, planner_summary=False) -
create(self, vals_list)@api.model_create_multi
New fields (1)
-
sale_planner_calendar_event_idMany2one → calendar.eventcomodel_name='calendar.event'
No public methods.
New fields (1)
-
nameChartranslate=True
No public methods.
New fields (11)
-
calendar_event_idMany2one → calendar.eventcomodel_name='calendar.event'readonly=True -
event_categ_idsMany2many → calendar.event.typecomodel_name='calendar.event.type'related='calendar_event_id.categ_ids' -
event_startDatetimereadonly=True -
event_user_idMany2one → res.userscomodel_name='res.users'domain="[('share','=',False)]"readonly=Truestring='Planner salesperson' -
new_event_categ_idsMany2many → calendar.event.typecomodel_name='calendar.event.type'help='Forces new tags for the specified period. Leave empty to keep current tags.'string='New tags' -
new_user_idMany2one → res.userscomodel_name='res.users'domain="[('share','=',False)]" -
partner_idMany2one → res.partnercomodel_name='res.partner'readonly=True -
partner_user_idMany2one → res.userscomodel_name='res.users'string='Partner salesperson' -
reassign_wiz_idMany2one → sale.planner.calendar.reassign.wizcomodel_name='sale.planner.calendar.reassign.wiz' -
selectedBoolean -
untilDatetimereadonly=True
-
update_subscriptions(self)
New fields (12)
-
assign_new_salesperson_to_partnerBoolean -
event_type_idMany2one → calendar.event.typecomodel_name='calendar.event.type'string='Event type' -
line_idsOne2many → sale.planner.calendar.reassign.line.wizcomodel_name='sale.planner.calendar.reassign.line.wiz'inverse_name='reassign_wiz_id' -
new_endDate -
new_event_categ_idsMany2many → calendar.event.typecomodel_name='calendar.event.type'help='Forces new tags for the specified period. Leave empty to keep current tags.'string='New tags' -
new_startDate -
new_user_idMany2one → res.userscomodel_name='res.users'domain="[('share','=',False)]"string='New salesperson' -
partner_idMany2one → res.partnercomodel_name='res.partner' -
partner_user_idMany2one → res.userscomodel_name='res.users'domain="[('share','=',False)]"string='Partner salesperson' -
unsuscribe_old_salespersonBoolean -
user_idMany2one → res.userscomodel_name='res.users'default=<expr>domain="[('share','=',False)]"string='Salesperson' -
week_listSelectionstring='Weekday' args: [('mon', 'Monday'), ('tue', 'Tuesday'), ('wed', 'Wednesday'), ('thu', 'Thursday'), ('fri', 'Friday'), ('sat', 'Saturday'), ('sun', 'Sunday')]
-
action_assign_new_values(self) -
action_get_lines(self) -
apply(self) -
cron_unsubscribe(self, date=None)@api.model -
onchange_filter_values(self)@api.onchange('user_id', 'event_type_id', 'week_list', 'partner_user_id', 'partner_id') -
select_all_lines(self) -
unselect_all_lines(self)
New fields (17)
-
commentText -
company_idMany2one → res.companycomodel_name='res.company'default=<expr> -
currency_idMany2one → res.currencycomodel_name='res.currency'related='company_id.currency_id' -
dateDatedefault=fields.Date.context_today -
event_done_countIntegercompute='_compute_event_planner_count' -
event_effective_countIntegercompute='_compute_event_planner_count' -
event_off_planning_countIntegercompute='_compute_event_planner_count' -
event_total_countIntegercompute='_compute_event_planner_count' -
event_type_idMany2one → calendar.event.typecomodel_name='calendar.event.type'string='Event type' -
payment_amountMonetarycompute='_compute_event_planner_count' -
payment_countIntegercompute='_compute_event_planner_count' -
sale_idsOne2many → sale.ordercomodel_name='sale.order'compute='_compute_sale_ids' -
sale_order_countIntegercompute='_compute_sale_ids' -
sale_order_subtotalMonetarycompute='_compute_sale_ids'currency_field='currency_id' -
sale_planner_calendar_event_idsOne2many → calendar.eventcomodel_name='calendar.event'inverse_name='calendar_summary_id' -
stateSelectiondefault='pending' args: [('pending', 'Pending'), ('done', 'Done'), ('cancel', 'Cancelled')] -
user_idMany2one → res.userscomodel_name='res.users'default=<expr>domain="[('share','=',False)]"index=True
-
action_cancel(self) -
action_done(self) -
action_event_planner(self) -
action_get_today_summary(self)@api.model -
action_open_issue(self)Open issues related to any event -
action_open_payment_sheet(self)Open payments sheets related to any event -
action_open_sale_order(self)Search or Create an event planner linked to sale order -
action_pending(self) -
action_process(self)
New fields (4)
-
calendar_event_idsOne2many → calendar.eventcomodel_name='calendar.event'compute='_compute_calendar_event_ids'readonly=False -
event_type_idMany2one → calendar.event.typecomodel_name='calendar.event.type'string='Event type' -
user_idMany2one → res.userscomodel_name='res.users'default=<expr>domain="[('share','=',False)]"string='Salesperson' -
week_listSelectionstring='Weekday' args: [('mon', 'Monday'), ('tue', 'Tuesday'), ('wed', 'Wednesday'), ('thu', 'Thursday'), ('fri', 'Friday'), ('sat', 'Saturday'), ('sun', 'Sunday')]
-
apply(self) -
write(self, vals)
Loading…
Loading…