Browse Source

booking

dev-rcn
root 3 years ago
parent
commit
dc8a2d21f2
7 changed files with 73 additions and 5 deletions
  1. +1
    -1
      models/booking_event.py
  2. +10
    -0
      models/booking_event_registration.py
  3. +1
    -0
      models/booking_product.py
  4. +39
    -0
      static/js/booking.js
  5. +5
    -4
      views/booking_website_registration.xml
  6. +16
    -0
      views/event.xml
  7. +1
    -0
      views/product.xml

+ 1
- 1
models/booking_event.py View File

@ -21,7 +21,7 @@ class EventType(models.Model):
class EventBookingOptions(models.Model):
_name='booking.option'
_description='booking options for events'
booking_option_id=fields.Many2one('product.product',string='booking options',domain="[('booking_option_product','=','True')]")
booking_option_id=fields.Many2one('product.product',string='booking options',domain="['|',('booking_option_product','=','True'),('booking_option_product_backoffice','=','True')]")
name=fields.Char(related='booking_option_id.name')
booking_option_price=fields.Monetary('Price',currency_field='currency_id')


+ 10
- 0
models/booking_event_registration.py View File

@ -73,6 +73,7 @@ class EventRegistration(models.Model):
age=fields.Integer('Age')
gender=fields.Selection([('male','Male'),('femelle','Femelle')],string='gender')
mobile=fields.Char('Mobile')
kanban_color=fields.Char('kanban color',compute='_compute_kanban_color')
invoice_state=fields.Selection(related='invoice_id.payment_state')
@ -106,7 +107,16 @@ class EventRegistration(models.Model):
if rec.down_payment_invoice_state!='paid':rec.payment_status='down payment not paid'
if rec.down_payment_invoice_state=='paid' and rec.balance_payment_invoice_state=='paid' :rec.payment_status='paid'
if rec.down_payment_invoice_state=='paid' and rec.balance_payment_invoice_state!='paid':rec.payment_status='down payment paid'
if rec.payment_status=='paid':
rec.state='open'
else:
rec.state='draft'
# @api.onchange('payment_status')
# def _onchange_payment_status(self):
# if self.payment_status=='paid' :self.state='open'
def _compute_kanban_color(self):
for rec in self:


+ 1
- 0
models/booking_product.py View File

@ -10,6 +10,7 @@ class ProductTemplate(models.Model):
booking_product = fields.Boolean(string="booking product", tracking=True)
booking_option_product = fields.Boolean(string="booking option product", tracking=True)
booking_option_product_backoffice = fields.Boolean(string="booking option product for backoffice", tracking=True)
# def _get_special_price(self, combination=False, product_id=False, add_qty=1, pricelist=False, parent_combination=False, only_template=False):


+ 39
- 0
static/js/booking.js View File

@ -29,6 +29,45 @@ odoo.define('booking.main', function (require) {
});
$( "#continue_button" ).click(function() {
if ($('#email').val()=='' && $('#mobile').val()=='' && $('#phone').val()=='')
{
$('#validation_message').text('merci de saisir un email ou un mobile ou un téléphone')
$('#validation_message').show()
}
else
{
if ($('#name').val()=='')
{
$('#validation_message').text('merci de saisir un nom')
$('#validation_message').show()
}
else if ($('#firstname').val()=='')
{
$('#validation_message').text('merci de saisir un prénom')
$('#validation_message').show()
}
else if ($('#age').val()=='')
{
$('#validation_message').text('merci de saisir l\'age du participant')
$('#validation_message').show()
}
else
{
$('#form1').submit()
}
}
});
$( "#back_button2" ).click(function() {
history.back()


+ 5
- 4
views/booking_website_registration.xml View File

@ -52,7 +52,7 @@
<br></br>
<h6>Please select your booking options :</h6>
<br></br>
<form action="questionnaire" method="post" class="form js_website_submit_form">
<form id="form1" action="questionnaire" method="post" class="form js_website_submit_form">
<input type="hidden" id="booking_price_product" name="price_product" t-att-value="int(price)"/>
<input type="hidden" id="booking_price" name="booking_price" t-att-value="int(event.booking_price)"/>
@ -152,7 +152,7 @@
<span class="s_website_form_mark"></span>
</label>
<div class="col-sm">
<input type="text" class="form-control s_website_form_input" name="phone" t-att-value="partner.phone" id="phone" style="cursor: auto;"/>
<input type="text" id='phone' class="form-control s_website_form_input" name="phone" t-att-value="partner.phone" style="cursor: auto;"/>
</div>
</div>
</div>
@ -174,12 +174,13 @@
<span class="s_website_form_mark"></span>
</label>
<div class="col-sm">
<input type="text" class="form-control s_website_form_input" name="email" readonly="readonly" t-att-value="partner.email" id="email" style="cursor: auto;"/>
<input type="text" class="form-control s_website_form_input" name="email" t-att-value="partner.email" id="email" style="cursor: auto;"/>
</div>
</div>
</div>
<h6 id='validation_message' style='display:none;color:red'>Please enter an email or a phone or a mobile</h6>
<button id="back_button1" type="button" class="btn btn-warning" >back</button>
<button type="submit" class="btn btn-primary" >Continue</button>
<button id="continue_button" type="button" class="btn btn-primary" >Continue</button>
<br/>
</section>


+ 16
- 0
views/event.xml View File

@ -149,4 +149,20 @@
</field>
</record>
<record id="event_search_view" model="ir.ui.view">
<field name="name">kalachakra.event.search</field>
<field name="model">event.event</field>
<field name="inherit_id" ref="event.view_event_search" />
<field name="arch" type="xml">
<filter name="myevents" position="before">
<filter
name="filter_booking_event"
string="Booking events"
domain="[('booking_event', '=', True)]"
/>
</filter>
</field>
</record>
</odoo>

+ 1
- 0
views/product.xml View File

@ -13,6 +13,7 @@
<field name="booking_product" />
<field name="booking_option_product" />
<field name="booking_option_product_backoffice" />
<field name="price_per" attrs="{'invisible':[('booking_option_product','!=',True)]}" />


Loading…
Cancel
Save