Browse Source

retraites individuelles

dev-rcn
root 3 years ago
parent
commit
7d59e465f9
7 changed files with 149 additions and 2 deletions
  1. +1
    -0
      __manifest__.py
  2. +3
    -0
      models/booking_event_registration.py
  3. +18
    -0
      models/event.py
  4. +3
    -0
      static/js/booking.js
  5. +33
    -2
      views/booking_event.xml
  6. +67
    -0
      views/booking_website_registration.xml
  7. +24
    -0
      views/individual_booking_event.xml

+ 1
- 0
__manifest__.py View File

@ -47,6 +47,7 @@
'views/booking_product.xml',
'views/booking_event.xml',
'views/individual_booking_event.xml',
'views/booking_event_registration.xml',
'views/booking_website_registration.xml',
'views/booking_registration.xml',


+ 3
- 0
models/booking_event_registration.py View File

@ -100,6 +100,9 @@ class EventRegistration(models.Model):
to_be_paid_amount=fields.Monetary('to be paid amount',compute='_compute_to_be_paid_amount',currency_field='currency_id')
payment_adjustement=fields.Monetary('payment adjustement',currency_field='currency_id')
individual_room=fields.Boolean('Individual room',compute='compute_individual_room')
start_day_individual_booking=fields.Date('Start day individual booking')
end_day_individual_booking=fields.Date('End day individual booking')
def compute_individual_room(self):
for rec in self:


+ 18
- 0
models/event.py View File

@ -279,6 +279,24 @@ class KalachakraEvent(models.Model):
booking_super_member_price=fields.Monetary('Super member price',currency_field='currency_id')
booking_down_payment=fields.Monetary('Down payment',default=50,currency_field='currency_id')
booking_product_id=fields.Many2one('product.product',string='booking product',domain="[('booking_product','=','True')]")
individual_day_price=fields.Monetary('Day price',currency_field='currency_id')
individual_member_day_price=fields.Monetary('Member day price',currency_field='currency_id')
individual_super_member_day_price=fields.Monetary('Super member Day price',currency_field='currency_id')
individual_week_price=fields.Monetary('Week price',currency_field='currency_id')
individual_member_week_price=fields.Monetary('Member week price',currency_field='currency_id')
individual_super_member_week_price=fields.Monetary('Super member Week price',currency_field='currency_id')
individual_2weeks_price=fields.Monetary('2 weeks price',currency_field='currency_id')
individual_member_2weeks_price=fields.Monetary('Member 2 weeks price',currency_field='currency_id')
individual_super_member_2weeks_price=fields.Monetary('Super member 2 Weeks price',currency_field='currency_id')
individual_3weeks_price=fields.Monetary('3 weeks price',currency_field='currency_id')
individual_member_3weeks_price=fields.Monetary('Member 3 weeks price',currency_field='currency_id')
individual_super_member_3weeks_price=fields.Monetary('Super member 3 Weeks price',currency_field='currency_id')
@api.onchange('booking_event')
def onchange_bookin_event(self):


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

@ -2,6 +2,9 @@ odoo.define('booking.main', function (require) {
$(document).ready(function() {
$('#datetimepickerstart_day').datetimepicker({format: 'DD/MM/YYYY'});
$('#datetimepickerend_day').datetimepicker({format: 'DD/MM/YYYY'});
$('#medical_info').hide()


+ 33
- 2
views/booking_event.xml View File

@ -90,7 +90,7 @@
</xpath>
<xpath expr="//page[@name='tickets']" position="before">
<page string="Prices" name="booking" attrs="{'invisible':[('booking_event','=',False)]}">
<page string="Prices" name="booking" attrs="{'invisible':['|',('booking_event','=',False),('individual_booking_event','=',True)]}">
<group style="width:25%%">
<field name="booking_product_id" attrs="{'required': [('booking_event','=', True)]}"/>
@ -102,7 +102,7 @@
</page>
</xpath>
<xpath expr="//page[@name='booking']" position="after">
<page string="Options" name="booking_options" attrs="{'invisible':[('booking_event','=',False)]}">
<page string="Options" name="booking_options" attrs="{'invisible':['|',('booking_event','=',False),('individual_booking_event','=',True)]}">
<group style="width:100%%">
<field name="booking_option_ids" style="width: 100%;">
<tree string="Options" editable="bottom">
@ -125,6 +125,37 @@
</tree>
</field>
</group>
</page>
<page string="Individual Prices" name="individual booking price" attrs="{'invisible':['|',('booking_event','=',False),('individual_booking_event','=',False)]}">
<group style="width:25%%">
<field name="individual_day_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_member_day_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_super_member_day_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
</group>
<group style="width:25%%">
<field name="individual_week_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_member_week_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_super_member_week_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
</group>
<group style="width:25%%">
<field name="individual_2weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_member_2weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_super_member_2weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
</group>
<group style="width:25%%">
<field name="individual_3weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_member_3weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
<field name="individual_super_member_3weeks_price" attrs="{'required': [('individual_booking_event','=', True)]}"/>
</group>
</page>
</xpath>
<xpath expr="//page[@name='tickets']" position="replace">


+ 67
- 0
views/booking_website_registration.xml View File

@ -49,6 +49,34 @@
<br></br>
<t t-if="not options">
<input type="hidden" name="nb_o" value="0"/>
</t>
<t t-if="event.individual_booking_event">
<h6>
Les inscriptions sont acceptées sous réserve.<br></br>Nous vous conseillons, préalablement de contacter par
mail le staff du centre à <a href="mailto: info@centre-kalachakra.net"> info@centre-kalachakra.net</a> <b>pour vérifier la disponibilité et valider votre projet
de séjour en solitaire.</b>
</h6>
<h6>Participations amounts : </h6>
<table class="table" style="width:50%">
<tr><td></td><td>Not member</td><td>Member</td><td>Super member</td></tr>
<tr><td>1 day</td><td><span t-esc="str(int(event.individual_day_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_member_day_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_super_member_day_price))+' €'"/></td>
</tr>
<tr><td>1 week</td><td><span t-esc="str(int(event.individual_week_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_member_week_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_super_member_week_price))+' €'"/></td>
</tr>
<tr><td>2 weeks</td><td><span t-esc="str(int(event.individual_2weeks_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_member_2weeks_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_super_member_2weeks_price))+' €'"/></td>
</tr>
<tr><td>3 weeks</td><td><span t-esc="str(int(event.individual_3weeks_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_member_3weeks_price))+' €'"/></td>
<td><span t-esc="str(int(event.individual_super_member_3weeks_price))+' €'"/></td>
</tr>
</table>
</t>
<h6>Total Price : <span id="booking_total_price"></span></h6>
@ -70,6 +98,45 @@
</div>
<br></br>
<t t-if="event.individual_booking_event">
<h6>Dates souhaitées :</h6>
<div class="form-group">
<div class="input-group datetime"
id="datetimepickerstart_day"
data-target-input="nearest">
<div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-3">
<input type="text" placeholder="Du"
class="form-control datetimepicker-input"
data-target="#datetimepickerstart_day"
name="start_day"/>
</div>
<div class="input-group-append"
data-target="#datetimepickerstart_day"
data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
<div class="form-group">
<div class="input-group datetime"
id="datetimepickerend_day"
data-target-input="nearest">
<div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-3">
<input type="text" placeholder="Au"
class="form-control datetimepicker-input"
data-target="#datetimepickerend_day"
name="end_day"/>
</div>
<div class="input-group-append"
data-target="#datetimepickerend_day"
data-toggle="datetimepicker">
<div class="input-group-text"><i class="fa fa-calendar"></i></div>
</div>
</div>
</div>
</t>
<h6>Please select your booking options :</h6>
<br></br>


+ 24
- 0
views/individual_booking_event.xml View File

@ -0,0 +1,24 @@
<odoo>
<record model="ir.actions.act_window" id="individual_booking_event_action">
<field name="name">Individual booking events</field>
<field name="res_model">event.event</field>
<field name="view_mode">tree,form,pivot</field>
<field name="context">{'default_individual_booking_event': True, 'individual_booking_event_view': True}</field>
<field name="domain">[('individual_booking_event', '=', True)]</field>
</record>
<menuitem id="individual_booking_event_top_menu" sequence="20"
name="Individual Booking Events" web_icon="event,static/description/icon.png"/>
<menuitem id="individual_booking_title_menu" name ="Booking"
parent="individual_booking_event_top_menu" groups="event.group_event_user" sequence="99"/>
<menuitem id="individual_booking_event_title_menu" parent="individual_booking_event_top_menu"
sequence="15" name="individual booking event"/>
<menuitem id="individual_booking_event_menu" action="individual_booking_event_action"
parent="individual_booking_event_title_menu" sequence="10"/>
</odoo>

Loading…
Cancel
Save