This commit is contained in:
oscar alvarez 2022-05-17 17:34:42 -05:00
parent 92cfb69491
commit 2497d76753
8 changed files with 61 additions and 6 deletions

View File

@ -28,7 +28,6 @@ def register():
room.RoomTemplate,
city.MigrationCity,
location.HotelLocation,
channel.SaleChannel,
policy.HotelPolicyCancellation,
company.Company,
configuration.ConfigurationProduct,
@ -41,12 +40,15 @@ def register():
housekeeping.Housekeeping,
housekeeping.HousekeepingCleaningType,
party.Party,
channel.SaleChannel,
channel.ChannelTax,
channel.ChannelCommission,
booking.SelectRoomsAsk,
booking.BookingVoucher,
booking.RoomsOccupancyStart,
booking.BookingForecastStart,
booking.UpdateHolderStart,
booking.BookingChannelCommision,
folio.FolioGuest,
folio.GuestsListStart,
folio.StatisticsByMonthStart,

View File

@ -154,6 +154,10 @@ class Booking(Workflow, ModelSQL, ModelView):
)
invoices = fields.Function(fields.Many2Many('account.invoice',
None, None, 'Invoices'), 'get_invoices')
extra_commissions = fields.Many2Many('hotel.booking-channel.commission',
'booking', 'commission', 'Channel Commission', domain=[
('channel', '=', Eval('channel'))
])
@classmethod
def __setup__(cls):
@ -1716,6 +1720,15 @@ class ManagerReport(Report):
report_context['guests_by_city'] = guests_by_city.values()
report_context['company'] = Company(data['company'])
user_id = Transaction().context.get('user')
print(user_id)
report_context['user'] = User(user_id)
return report_context
class BookingChannelCommision(ModelSQL):
'Booking Channel Commision'
__name__ = 'hotel.booking-channel.commission'
_table = 'hotel_booking_channel_commission_rel'
commission = fields.Many2One('hotel.channel.commission', 'Channel Commission',
ondelete='CASCADE', select=True, required=True)
booking = fields.Many2One('hotel.booking', 'Booking', ondelete='RESTRICT',
required=True)

View File

@ -8,6 +8,15 @@ from trytond.pool import Pool
from .constants import PAYMENT_METHOD_CHANNEL
class ChannelCommission(ModelSQL, ModelView):
'Channel Commission Extra'
__name__ = 'hotel.channel.commission'
channel = fields.Many2One('hotel.channel', 'Sale Channel',
ondelete='CASCADE', select=True, required=True)
name = fields.Char('Name', required=True)
commission = fields.Float('Commission', required=True, digits=(4, 2))
class SaleChannel(ModelSQL, ModelView):
'Sale Channel'
__name__ = 'hotel.channel'
@ -45,15 +54,17 @@ class SaleChannel(ModelSQL, ModelView):
]
)
currency = fields.Many2One('currency.currency', 'Currency',
required=True)
required=True)
price_list = fields.Many2One('product.price_list', 'Price List')
payment_method = fields.Selection(PAYMENT_METHOD_CHANNEL,
'Payment Method')
payment_method = fields.Selection(PAYMENT_METHOD_CHANNEL, 'Payment Method')
collection_mode = fields.Selection([
('', ''),
('anticipated', 'Anticipated'),
('after_sale', 'After-Sale'),
], 'Collection Mode', required=False, help="Commission collection mode")
], 'Collection Mode', required=False,
help="Commission collection mode")
extra_commissions = fields.One2Many('hotel.channel.commission',
'channel', 'Extra Commissions')
@staticmethod
def default_company():

View File

@ -4,6 +4,17 @@ this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="hotel_channel_commission_view_tree">
<field name="model">hotel.channel.commission</field>
<field name="type">tree</field>
<field name="name">channel_commission_tree</field>
</record>
<record model="ir.ui.view" id="hotel_channel_commission_view_form">
<field name="model">hotel.channel.commission</field>
<field name="type">form</field>
<field name="name">channel_commission_form</field>
</record>
<record model="ir.ui.view" id="hotel_channel_view_tree">
<field name="model">hotel.channel</field>
<field name="type">tree</field>

View File

@ -75,6 +75,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="created_channel"/>
<label name="channel_commission"/>
<field name="channel_commission"/>
<field name="extra_commissions" colspan="4"/>
</page>
</notebook>
<group col="5" colspan="4" id="buttons">

View File

@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="name"/>
<field name="name"/>
<label name="commission"/>
<field name="commission"/>
</form>

View File

@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="name"/>
<field name="commission"/>
</tree>

View File

@ -25,4 +25,5 @@ this repository contains the full copyright notices and license terms. -->
<label name="price_list"/>
<field name="price_list"/>
<field name="taxes" colspan="4"/>
<field name="extra_commissions" colspan="4"/>
</form>