@@ -203,21 +203,6 @@ def get_properties(self, row_data: RowData) -> dict[str, Any]:
203203# ============================================================================
204204
205205
206- FILTER_LABELS = {
207- "report_template" : _ ("Report Template" ),
208- "filter_based_on" : _ ("Filter Based On" ),
209- "period_start_date" : _ ("Start Date" ),
210- "period_end_date" : _ ("End Date" ),
211- "from_fiscal_year" : _ ("Start Year" ),
212- "to_fiscal_year" : _ ("End Year" ),
213- }
214-
215- REQUIRED_FILTERS_BY_BASIS = {
216- "Date Range" : ("period_start_date" , "period_end_date" ),
217- "Fiscal Year" : ("from_fiscal_year" , "to_fiscal_year" ),
218- }
219-
220-
221206class FinancialReportEngine :
222207 def execute (self , filters : dict [str , Any ]) -> tuple [list [dict ], list [dict ]]:
223208 """Execute the complete report generation"""
@@ -237,15 +222,29 @@ def execute(self, filters: dict[str, Any]) -> tuple[list[dict], list[dict]]:
237222 return context .get_result ()
238223
239224 def _validate_filters (self , filters : dict [str , Any ]) -> None :
225+ filter_labels = {
226+ "report_template" : _ ("Report Template" ),
227+ "filter_based_on" : _ ("Filter Based On" ),
228+ "period_start_date" : _ ("Start Date" ),
229+ "period_end_date" : _ ("End Date" ),
230+ "from_fiscal_year" : _ ("Start Year" ),
231+ "to_fiscal_year" : _ ("End Year" ),
232+ }
233+
234+ required_filters_by_basis = {
235+ "Date Range" : ("period_start_date" , "period_end_date" ),
236+ "Fiscal Year" : ("from_fiscal_year" , "to_fiscal_year" ),
237+ }
238+
240239 required_filters = ["report_template" , "filter_based_on" ]
241- required_filters .extend (REQUIRED_FILTERS_BY_BASIS .get (filters .get ("filter_based_on" ), ()))
240+ required_filters .extend (required_filters_by_basis .get (filters .get ("filter_based_on" ), ()))
242241
243242 for filter_key in required_filters :
244243 if not filters .get (filter_key ):
245244 frappe .throw (
246245 title = _ ("Missing Required Filter" ),
247246 msg = _ ("Missing required filter: {0}" ).format (
248- frappe .bold (FILTER_LABELS .get (filter_key , filter_key ))
247+ frappe .bold (filter_labels .get (filter_key , filter_key ))
249248 ),
250249 )
251250
0 commit comments