From 8c8b9a1da6e02743f3fddfc035c4e57576b365f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Bernardi?= Date: Fri, 13 Aug 2021 10:56:08 -0300 Subject: [PATCH] lims: services unplanned spreedsheet: code refactoring --- lims/planification.py | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/lims/planification.py b/lims/planification.py index 2ee7b27b..c29595e4 100644 --- a/lims/planification.py +++ b/lims/planification.py @@ -6465,21 +6465,7 @@ class PendingServicesUnplannedSpreadsheet(Report): else: labs = [l.id for l in Laboratory.search([])] - clause = [ - ('plannable', '=', True), - ('state', '=', 'unplanned'), - ('analysis.behavior', '!=', 'internal_relation'), - ('service.fraction.confirmed', '=', True), - ] - if data['start_date']: - clause.append( - ('service.confirmation_date', '>=', data['start_date'])) - if data['end_date']: - clause.append( - ('service.confirmation_date', '<=', data['end_date'])) - if data['party']: - clause.append(('party', '=', data['party'])) - + clause = cls._get_details_clause(data) objects = {} with Transaction().set_user(0): details = EntryDetailAnalysis.search(clause) @@ -6571,6 +6557,24 @@ class PendingServicesUnplannedSpreadsheet(Report): report_context['objects'] = objects return report_context + @classmethod + def _get_details_clause(cls, data): + clause = [ + ('plannable', '=', True), + ('state', '=', 'unplanned'), + ('analysis.behavior', '!=', 'internal_relation'), + ('service.fraction.confirmed', '=', True), + ] + if data['start_date']: + clause.append( + ('service.confirmation_date', '>=', data['start_date'])) + if data['end_date']: + clause.append( + ('service.confirmation_date', '<=', data['end_date'])) + if data['party']: + clause.append(('party', '=', data['party'])) + return clause + @classmethod def _get_estimated_waiting(cls, detail_id): cursor = Transaction().connection.cursor()