You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.6 KiB
83 lines
2.6 KiB
from openerp import models, fields,api,http,SUPERUSER_ID,_
|
|
from openerp.http import request
|
|
|
|
|
|
class Period(models.Model):
|
|
_name = 'salon.period'
|
|
_rec_name = 'display_booked'
|
|
|
|
name = fields.Float('Time')
|
|
|
|
# _sql_constraints = [
|
|
# ('name_unique', 'unique(name)', 'This time is already exist !')]
|
|
|
|
chair_lines = fields.One2many('salon.period.line', 'period_id')
|
|
period_type = fields.Selection([('on', 'On'), ('off', 'Off')], default='on', string='On/Off')
|
|
off_reason = fields.Char()
|
|
day_id = fields.Many2one('salon.day')
|
|
|
|
@api.one
|
|
def _get_booked(self):
|
|
count = 0
|
|
for Each_Chair in self.chair_lines:
|
|
if Each_Chair.partner_id.id:
|
|
count += 1
|
|
if count < len(self.chair_lines):
|
|
self.booked = False
|
|
else:
|
|
self.booked = True
|
|
booked = fields.Boolean('Fully Booked', compute='_get_booked')
|
|
|
|
@api.one
|
|
def _get_display_booked(self):
|
|
count = 0
|
|
for Each_Chair in self.chair_lines:
|
|
if Each_Chair.partner_id.id:
|
|
count += 1
|
|
if count < len(self.chair_lines):
|
|
self.display_booked = str(self.name)
|
|
else:
|
|
self.display_booked = str(self.name) + ' -Fully Booked'
|
|
|
|
|
|
|
|
display_booked = fields.Char(compute='_get_display_booked')
|
|
# @api.onchange('chair_lines')
|
|
# def unique_chair(self):
|
|
# # GET VALUE TO CHILD CHAIR
|
|
# selected_chair = str(request.session.get('onchange_chair_selected'))
|
|
# request.session['onchange_chair_selected'] = None
|
|
# already_exist = 0
|
|
# for Each_Chair in self.chair_lines:
|
|
# if Each_Chair.chair_id.name == selected_chair:
|
|
# already_exist += 1
|
|
# if already_exist >= 2:
|
|
# return {'warning': {
|
|
# 'title': _('Constraint Error'),
|
|
# 'message': 'This chair is already selected for this period',
|
|
# }}
|
|
|
|
|
|
class PeriodLine(models.Model):
|
|
_name = 'salon.period.line'
|
|
|
|
chair_id = fields.Many2one('salon.chair', string='Chair')
|
|
period_id = fields.Many2one('salon.period')
|
|
partner_id = fields.Many2one('res.partner', string='Customer')
|
|
|
|
@api.one
|
|
def _get_related_emp(self):
|
|
self.related_employee = self.chair_id.related_employee
|
|
related_employee = fields.Many2one('hr.employee', compute='_get_related_emp', string='Dressing Person')
|
|
|
|
@api.one
|
|
def _get_booked(self):
|
|
if self.partner_id:
|
|
self.booked = True
|
|
else:
|
|
self.booked = False
|
|
booked = fields.Boolean('Booked', compute='_get_booked')
|
|
book_no = fields.Char('Booking No', default=' ')
|
|
|
|
|
|
|
|
|