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.
		
		
		
		
		
			
		
			
				
					
					
						
							92 lines
						
					
					
						
							4.3 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							92 lines
						
					
					
						
							4.3 KiB
						
					
					
				
								# -*- coding: utf-8 -*-
							 | 
						|
								#############################################################################
							 | 
						|
								#
							 | 
						|
								#    Cybrosys Technologies Pvt. Ltd.
							 | 
						|
								#
							 | 
						|
								#    Copyright (C) 2023-TODAY Cybrosys Technologies(<https://www.cybrosys.com>).
							 | 
						|
								#    Author: Farhana Jahan PT (odoo@cybrosys.com)
							 | 
						|
								#
							 | 
						|
								#    You can modify it under the terms of the GNU AFFERO
							 | 
						|
								#    GENERAL PUBLIC LICENSE (AGPL v3), Version 3.
							 | 
						|
								#
							 | 
						|
								#    This program is distributed in the hope that it will be useful,
							 | 
						|
								#    but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						|
								#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						|
								#    GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details.
							 | 
						|
								#
							 | 
						|
								#    You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
							 | 
						|
								#    (AGPL v3) along with this program.
							 | 
						|
								#    If not, see <http://www.gnu.org/licenses/>.
							 | 
						|
								#
							 | 
						|
								#############################################################################
							 | 
						|
								from odoo import fields, models
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class CleaningInspection(models.Model):
							 | 
						|
								    """Create a new model for detailing cleaning inspection specifics.
							 | 
						|
								    The system will incorporate two buttons to indicate the
							 | 
						|
								    cleaning status: "Clean" and "Dirty"."""
							 | 
						|
								    _name = "cleaning.inspection"
							 | 
						|
								    _description = "Cleaning Inspection"
							 | 
						|
								    _inherit = ['mail.thread', 'mail.activity.mixin']
							 | 
						|
								    _rec_name = 'cleaning_team_id'
							 | 
						|
								
							 | 
						|
								    inspector_name_id = fields.Many2one('res.users',
							 | 
						|
								                                        string='Inspector Name',
							 | 
						|
								                                        required=True,
							 | 
						|
								                                        help="Choose Inspector Name")
							 | 
						|
								    cleaning_id = fields.Many2one('cleaning.booking',
							 | 
						|
								                                  help="Cleaning Management",
							 | 
						|
								                                  string="Select Cleaning Management")
							 | 
						|
								    inspection_date_and_time = fields.Datetime(
							 | 
						|
								        string='Inspection Date and Time',
							 | 
						|
								        required=True,
							 | 
						|
								        help="Choose Inspection date and time")
							 | 
						|
								    cleaning_team_id = fields.Many2one('cleaning.team',
							 | 
						|
								                                       string='Cleaning Team',
							 | 
						|
								                                       required=True,
							 | 
						|
								                                       help="Choose cleaning team")
							 | 
						|
								    cleaning_team_duty_id = fields.Many2one('cleaning.team.duty',
							 | 
						|
								                                            string='Cleaning Team Duty',
							 | 
						|
								                                            required=True,
							 | 
						|
								                                            help="Choose cleaning team Duty")
							 | 
						|
								    team_leader_id = fields.Many2one('hr.employee',
							 | 
						|
								                                     string='Team Leader',
							 | 
						|
								                                     help="Choose team leader")
							 | 
						|
								    date_from = fields.Char(string='Cleaning Start Time',
							 | 
						|
								                            help="Choose Cleaning Start Time", readonly=True)
							 | 
						|
								    date_to = fields.Char(string='Cleaning End Date',
							 | 
						|
								                          help="Choose Cleaning End Time", readonly=True)
							 | 
						|
								    state = fields.Selection([('draft', 'Draft'),
							 | 
						|
								                              ('cleaned', 'Cleaned'),
							 | 
						|
								                              ('dirty', 'Dirty')
							 | 
						|
								                              ], string='Status',
							 | 
						|
								                             default='draft',
							 | 
						|
								                             help="Inspection stages for cleaning")
							 | 
						|
								    dirty_clean = fields.Boolean('Is Dirty or Clean',
							 | 
						|
								                                 help="When the button is disabled,"
							 | 
						|
								                                      " it signifies a Dirty state, "
							 | 
						|
								                                      "while an enabled button signifies"
							 | 
						|
								                                      " a Clean state.")
							 | 
						|
								
							 | 
						|
								    def action_clean(self):
							 | 
						|
								        """The button action for "Clean" involves executing a process
							 | 
						|
								         to perform cleaning tasks"""
							 | 
						|
								        self.write({'state': 'cleaned', 'dirty_clean': True})
							 | 
						|
								        self.cleaning_id.write({'state': 'cleaned', 'clean_stage': True,
							 | 
						|
								                                'cleaning_inspection_id': self.id})
							 | 
						|
								        self.cleaning_team_duty_id.write(
							 | 
						|
								            {'state': 'cleaned'})
							 | 
						|
								        if not self.cleaning_id.cancel_stage:
							 | 
						|
								            self.cleaning_id.cancel_stage = True
							 | 
						|
								
							 | 
						|
								    def action_dirt(self):
							 | 
						|
								        """The button action for "Dirty" typically
							 | 
						|
								        involves marking task as dirty. """
							 | 
						|
								        self.write({'state': 'dirty', 'dirty_clean': True})
							 | 
						|
								        self.cleaning_team_duty_id.write(
							 | 
						|
								            {'state': 'dirty'})
							 | 
						|
								
							 | 
						|
								    def action_reclean(self):
							 | 
						|
								        """Function for Reclean processes"""
							 | 
						|
								        self.write({'state': 'draft'})
							 | 
						|
								
							 |