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.
		
		
		
		
		
			
		
			
				
					
					
						
							39 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							39 lines
						
					
					
						
							2.4 KiB
						
					
					
				
								from datetime import date
							 | 
						|
								from odoo import api, models
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class ParticularReport(models.AbstractModel):
							 | 
						|
								    _name = 'report.studio_management.report_digital_studio'
							 | 
						|
								
							 | 
						|
								    @api.model
							 | 
						|
								    def render_html(self, docids, data=None):
							 | 
						|
								        records = self.env['session.details'].search([])
							 | 
						|
								        report_obj = self.env['report']
							 | 
						|
								        report = report_obj._get_report_from_name('studio_management.report_digital_studio')
							 | 
						|
								        if data['form']['date_from'] and data['form']['date_to'] and data['form']['customer_id']:
							 | 
						|
								            records = self.env['session.details'].search([('customer_id', '=', data['form']['customer_id'][0]),
							 | 
						|
								                                                          ('return_date', '>=', data['form']['date_from']),
							 | 
						|
								                                                          ('return_date', '<=', data['form']['date_to'])])
							 | 
						|
								        elif data['form']['date_from'] and data['form']['date_to']:
							 | 
						|
								            records = self.env['session.details'].search([('return_date', '>=', data['form']['date_from']),
							 | 
						|
								                                                          ('return_date', '<=', data['form']['date_to'])])
							 | 
						|
								        elif data['form']['date_to'] and data['form']['customer_id']:
							 | 
						|
								            records = self.env['session.details'].search([('customer_id', '=', data['form']['customer_id'][0]),
							 | 
						|
								                                                          ('return_date', '<=', data['form']['date_to'])])
							 | 
						|
								        elif data['form']['date_from'] and data['form']['customer_id']:
							 | 
						|
								            records = self.env['session.details'].search([('customer_id', '=', data['form']['customer_id'][0]),
							 | 
						|
								                                                          ('return_date', '>=', data['form']['date_from'])])
							 | 
						|
								        elif data['form']['date_from']:
							 | 
						|
								            records = self.env['session.details'].search([('return_date', '>=', data['form']['date_from'])])
							 | 
						|
								        elif data['form']['date_to']:
							 | 
						|
								            records = self.env['session.details'].search([('return_date', '<=', data['form']['date_to'])])
							 | 
						|
								        elif data['form']['customer_id']:
							 | 
						|
								            records = self.env['session.details'].search([('customer_id', '=', data['form']['customer_id'][0])])
							 | 
						|
								        docargs = {
							 | 
						|
								            'doc_ids': docids,
							 | 
						|
								            'doc_model': report.model,
							 | 
						|
								            'records': records,
							 | 
						|
								            'date_cur': date.today(),
							 | 
						|
								            'docs': self,
							 | 
						|
								        }
							 | 
						|
								        return report_obj.render('studio_management.report_digital_studio', docargs)
							 | 
						|
								
							 |