| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -43,7 +43,7 @@ class Reservation(models.Model): | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    name = fields.Char(string='Booking Reference', required=True, copy=False, readonly=True, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                       default=lambda self: _('New')) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    num_person = fields.Integer(string='Number of Persons', default=1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    num_person = fields.Integer(string='Number of Persons', default=1,required=True) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    reservation_line_ids = fields.One2many('room.reservation.line', "reservation_id", string='Booking Info') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    state = fields.Selection([('draft', 'Draft'), ('confirm', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                   'Confirm'), ('occupied', 'Occupied'), ('done', 'Done'), | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -69,7 +69,12 @@ class Reservation(models.Model): | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if vals.get('name', _('New')) == _('New'): | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            vals['name'] = self.env['ir.sequence'].next_by_code( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                'room.reservation') or _('New') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        persons = 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        for rec in vals['reservation_line_ids']: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            room_type = self.env['room.types'].sudo().search([('categ_id','=',rec[2]['type_id'])]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            persons += room_type.num_person | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if vals.get('num_person') > persons: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            raise ValidationError(_("Number of persons out of limit!")) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return super(Reservation, self).create(vals) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |