[IMP] (website_)event: clean fields definition and parameters
In this commit we prepare future event model changes by reordering removing
unnecessary parameters definitions, notably readonly set to False as it is
the default value. Those parameters notably come from 412ff994f1 .
Some reordering is also done in order to better understand future pre / post
change model organization.
LINKS
Task ID 2177281 (support tickets directly in event)
Prepares Community PR odoo/odoo#43488
Closes Community PR odoo/odoo#44066
This commit is contained in:
@@ -48,8 +48,7 @@ class EventType(models.Model):
|
||||
name = fields.Char('Event Category', required=True, translate=True)
|
||||
sequence = fields.Integer()
|
||||
# registration
|
||||
has_seats_limitation = fields.Boolean(
|
||||
'Limited Seats', default=False)
|
||||
has_seats_limitation = fields.Boolean('Limited Seats')
|
||||
default_registration_min = fields.Integer(
|
||||
'Minimum Registrations', default=0,
|
||||
help="It will select this default minimum value when you choose this event")
|
||||
@@ -94,28 +93,22 @@ class EventEvent(models.Model):
|
||||
event_stages = self.env['event.stage'].search([])
|
||||
return event_stages[0] if event_stages else False
|
||||
|
||||
name = fields.Char(
|
||||
string='Event', translate=True, required=True,
|
||||
readonly=False)
|
||||
name = fields.Char(string='Event', translate=True, required=True)
|
||||
note = fields.Text(string='Note')
|
||||
description = fields.Html(string='Description', translate=html_translate, sanitize_attributes=False)
|
||||
active = fields.Boolean(default=True)
|
||||
user_id = fields.Many2one(
|
||||
'res.users', string='Responsible',
|
||||
default=lambda self: self.env.user,
|
||||
tracking=True,
|
||||
readonly=False)
|
||||
'res.users', string='Responsible', tracking=True,
|
||||
default=lambda self: self.env.user)
|
||||
company_id = fields.Many2one(
|
||||
'res.company', string='Company', change_default=True,
|
||||
default=lambda self: self.env.company,
|
||||
required=False, readonly=False)
|
||||
required=False)
|
||||
organizer_id = fields.Many2one(
|
||||
'res.partner', string='Organizer',
|
||||
tracking=True,
|
||||
'res.partner', string='Organizer', tracking=True,
|
||||
default=lambda self: self.env.company.partner_id,
|
||||
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
|
||||
event_type_id = fields.Many2one(
|
||||
'event.type', string='Category',
|
||||
readonly=False)
|
||||
event_type_id = fields.Many2one('event.type', string='Category', ondelete='set null')
|
||||
color = fields.Integer('Kanban Color Index')
|
||||
event_mail_ids = fields.One2many('event.mail', 'event_id', string='Mail Schedule', copy=True)
|
||||
# Kanban fields
|
||||
@@ -154,36 +147,26 @@ class EventEvent(models.Model):
|
||||
string='Number of Expected Attendees',
|
||||
compute_sudo=True, readonly=True, compute='_compute_seats')
|
||||
# Registration fields
|
||||
registration_ids = fields.One2many(
|
||||
'event.registration', 'event_id', string='Attendees',
|
||||
readonly=False)
|
||||
auto_confirm = fields.Boolean(string='Autoconfirm Registrations')
|
||||
registration_ids = fields.One2many('event.registration', 'event_id', string='Attendees')
|
||||
event_registrations_open = fields.Boolean('Registration open', compute='_compute_event_registrations_open')
|
||||
# Date fields
|
||||
date_tz = fields.Selection(
|
||||
_tz_get, string='Timezone', required=True,
|
||||
default=lambda self: self.env.user.tz or 'UTC')
|
||||
date_begin = fields.Datetime(
|
||||
string='Start Date', required=True,
|
||||
tracking=True)
|
||||
date_end = fields.Datetime(
|
||||
string='End Date', required=True,
|
||||
tracking=True)
|
||||
date_begin = fields.Datetime(string='Start Date', required=True, tracking=True)
|
||||
date_end = fields.Datetime(string='End Date', required=True, tracking=True)
|
||||
date_begin_located = fields.Char(string='Start Date Located', compute='_compute_date_begin_tz')
|
||||
date_end_located = fields.Char(string='End Date Located', compute='_compute_date_end_tz')
|
||||
is_one_day = fields.Boolean(compute='_compute_field_is_one_day')
|
||||
auto_confirm = fields.Boolean(string='Autoconfirm Registrations')
|
||||
# Location and communication
|
||||
is_online = fields.Boolean('Online Event')
|
||||
address_id = fields.Many2one(
|
||||
'res.partner', string='Location',
|
||||
'res.partner', string='Location', tracking=True,
|
||||
default=lambda self: self.env.company.partner_id,
|
||||
readonly=False,
|
||||
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
|
||||
tracking=True)
|
||||
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]")
|
||||
country_id = fields.Many2one('res.country', 'Country', related='address_id.country_id', store=True, readonly=False)
|
||||
twitter_hashtag = fields.Char('Twitter Hashtag')
|
||||
description = fields.Html(
|
||||
string='Description', translate=html_translate, sanitize_attributes=False,
|
||||
readonly=False)
|
||||
# badge fields
|
||||
badge_front = fields.Html(string='Badge Front')
|
||||
badge_back = fields.Html(string='Badge Back')
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import pytz
|
||||
import werkzeug
|
||||
import json
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.addons.http_routing.models.ir_http import slug
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
GOOGLE_CALENDAR_URL = 'https://www.google.com/calendar/render?'
|
||||
|
||||
@@ -15,27 +14,26 @@ class EventType(models.Model):
|
||||
_name = 'event.type'
|
||||
_inherit = ['event.type']
|
||||
|
||||
website_menu = fields.Boolean(
|
||||
'Display a dedicated menu on Website')
|
||||
website_menu = fields.Boolean('Display a dedicated menu on Website')
|
||||
|
||||
|
||||
class Event(models.Model):
|
||||
_name = 'event.event'
|
||||
_inherit = ['event.event', 'website.seo.metadata', 'website.published.multi.mixin']
|
||||
|
||||
website_published = fields.Boolean(tracking=True)
|
||||
|
||||
# description
|
||||
subtitle = fields.Char('Event Subtitle', translate=True)
|
||||
|
||||
# registration
|
||||
is_participating = fields.Boolean("Is Participating", compute="_compute_is_participating")
|
||||
|
||||
# website
|
||||
website_published = fields.Boolean(tracking=True)
|
||||
cover_properties = fields.Text(
|
||||
'Cover Properties',
|
||||
default='{"background-image": "none", "background-color": "oe_blue", "opacity": "0.4", "resize_class": "o_half_screen_height"}')
|
||||
|
||||
website_menu = fields.Boolean('Dedicated Menu',
|
||||
website_menu = fields.Boolean(
|
||||
'Dedicated Menu', copy=False,
|
||||
help="Creates menus Introduction, Location and Register on the page "
|
||||
" of the event on the website.", copy=False)
|
||||
" of the event on the website.")
|
||||
menu_id = fields.Many2one('website.menu', 'Event Menu', copy=False)
|
||||
|
||||
def _compute_is_participating(self):
|
||||
|
||||
Reference in New Issue
Block a user