74 lines
3.2 KiB
Python
74 lines
3.2 KiB
Python
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
from trytond.model import ModelView, ModelSQL, ModelSingleton, fields
|
|
from trytond.pyson import Eval, Id
|
|
|
|
|
|
class Configuration(ModelSingleton, ModelSQL, ModelView):
|
|
'Rental Configuration'
|
|
__name__ = 'rental.configuration'
|
|
rental_uom = fields.Many2One('product.uom', 'UoM Rental')
|
|
default_service = fields.Many2One('product.product', 'Default Service',
|
|
domain=[
|
|
('type', '=', 'service'),
|
|
], required=True)
|
|
rental_service_sequence = fields.Many2One('ir.sequence',
|
|
'Rental Service Sequence', domain=[
|
|
('sequence_type', '=',
|
|
Id('rental', 'sequence_type_rental')),
|
|
], required=True)
|
|
rental_booking_sequence = fields.Many2One('ir.sequence',
|
|
'Rental Booking Sequence', domain=[
|
|
('sequence_type', '=',
|
|
Id('rental', 'sequence_type_rental')),
|
|
], required=True)
|
|
value_early_return = fields.Numeric('Value to Early Return', digits=(16, 2),
|
|
required=True)
|
|
booking_start_time = fields.Time('Booking Start Time')
|
|
booking_end_time = fields.Time('Booking End Time')
|
|
default_check_list = fields.Many2Many(
|
|
'rental.configuration-product.check_list_item', 'configuration',
|
|
'check_list_item', 'Default Check List')
|
|
email_booking_customer = fields.Many2One('email.template',
|
|
'Email Booking Customer')
|
|
email_booking_company = fields.Many2One('email.template',
|
|
'Email Booking Company')
|
|
email_rental_customer = fields.Many2One('email.template',
|
|
'Email Rental Customer')
|
|
email_rental_company = fields.Many2One('email.template',
|
|
'Email Rental Company')
|
|
email_rental_return_customer = fields.Many2One('email.template',
|
|
'Email Rental Return Customer')
|
|
email_rental_return_company = fields.Many2One('email.template',
|
|
'Email Rental Return Company')
|
|
email_rental_expire_company = fields.Many2One('email.template',
|
|
'Email Rental Expire Company')
|
|
email_rental_expire_customer = fields.Many2One('email.template',
|
|
'Email Rental Expire Customer')
|
|
email_rental_return_deposit = fields.Many2One('email.template',
|
|
'Email Rental Return Deposit')
|
|
uom_hiring_time = fields.Selection([
|
|
('hour', 'Hour'),
|
|
('day', 'Day'),
|
|
('week', 'Week'),
|
|
('month', 'Month'),
|
|
], 'UoM Hiring Time')
|
|
# sms_customer_pickup = fields.Many2One('sms.template',
|
|
# 'SMS Customer Pickup')
|
|
# email_template_customer_return = fields.Many2One('email.template',
|
|
# 'Template Customer Return Service')
|
|
|
|
@staticmethod
|
|
def default_uom_hiring_time():
|
|
return 'week'
|
|
|
|
|
|
class RentalConfigCheckList(ModelSQL):
|
|
'Rental Config - Check List'
|
|
__name__ = 'rental.configuration-product.check_list_item'
|
|
_table = 'rental_config_product_check_list_item_rel'
|
|
configuration = fields.Many2One('rental.configuration', 'Configuration',
|
|
ondelete='CASCADE', select=True, required=True)
|
|
check_list_item = fields.Many2One('product.check_list_item', 'Check List Item',
|
|
ondelete='RESTRICT', select=True, required=True)
|