Fixed bugs in rules returning strings.
This commit is contained in:
		
							parent
							
								
									bc7fc340f5
								
							
						
					
					
						commit
						9ea335d68f
					
				
					 4 changed files with 10 additions and 7 deletions
				
			
		|  | @ -79,6 +79,7 @@ class Field(models.Model): | |||
|             return "{}".format(self.data_string) | ||||
|         elif self.field_type == "integer": | ||||
|             return "{}".format(self.data_integer) | ||||
|         return "Invalid type" | ||||
| 
 | ||||
|     def get_datatype(self): | ||||
|         """ | ||||
|  |  | |||
|  | @ -70,13 +70,13 @@ general_section = Section( | |||
|     title="General Info", | ||||
|     html_description="<p>Each section of this report is designed to guide you through the reimbursement process. Please read through each and answer as many questions as you can that apply to you.</p><p>Be sure to click 'Save' after completing each section. Your entered data will be saved as you progress. You may also receive feedback from sections regarding policy restrictions and special requirements.</p>", | ||||
|     fields={ | ||||
|         "before_trip": {"number": 0, "label": "Have you taken this trip already?", "field_type": "boolean"}, | ||||
|         "after_trip": {"number": 0, "label": "Have you taken this trip already?", "field_type": "boolean"}, | ||||
|     } | ||||
| ) | ||||
| 
 | ||||
| general_section.add_rule( | ||||
|     title="Pre-trip / post-trip check", | ||||
|     rule=lambda report, fields: None if fields['before_trip'] else "If you have already take the trip your request will require special approval by the administrator. You may skip the following 'Pre-trip Planning' section." | ||||
|     rule=lambda report, fields: "If you have already take the trip your request will require special approval by the administrator. You may skip the following 'Pre-trip Planning' section." if fields['after_trip'] else None | ||||
| ) | ||||
| 
 | ||||
| pol.add_section(general_section) | ||||
|  | @ -193,7 +193,7 @@ lodging_section = Section( | |||
|         "cost": {"number": 1, "label": "Total cost for lodging", "field_type": "decimal"}, | ||||
|         "check_in_date": {"number": 2, "label": "Check-in date", "field_type": "date"}, | ||||
|         "check_out_date": {"number": 3, "label": "Check-out date", "field_type": "date"}, | ||||
|         "invoice_screenshot": {"number": 4, "label": "Screenshot of invoice", "field_type": "screenshot"}, | ||||
|         "invoice_screenshot": {"number": 4, "label": "Screenshot of invoice", "field_type": "file"}, | ||||
|     } | ||||
| ) | ||||
| 
 | ||||
|  |  | |||
|  | @ -53,10 +53,11 @@ def get_sections(r_id): | |||
|             for rule in rules: | ||||
|                 try: | ||||
|                     named_fields = generate_named_fields_for_section(data['fields']) | ||||
|                     if not rule['rule'](data, named_fields): | ||||
|                     result = rule['rule'](data, named_fields) | ||||
|                     if not result is None: | ||||
|                         info = { | ||||
|                             "label": rule['title'], | ||||
|                             "rule_break_text": rule['rule_break_text'], | ||||
|                             "rule_break_text": result, | ||||
|                         } | ||||
|                         data['rule_violations'].append(info) | ||||
|                 except Exception as e: | ||||
|  | @ -342,10 +343,11 @@ def section(request, report_pk, section_pk): | |||
|         for rule in rules: | ||||
|             try: | ||||
|                 named_fields = generate_named_fields_for_section(data['fields']) | ||||
|                 if not rule['rule'](data, named_fields): | ||||
|                 result = rule['rule'](data, named_fields) | ||||
|                 if not result is None: | ||||
|                     info = { | ||||
|                         "label": rule['title'], | ||||
|                         "rule_break_text": rule['rule_break_text'], | ||||
|                         "rule_break_text": result, | ||||
|                     } | ||||
|                     data['rule_violations'].append(info) | ||||
|             except Exception as e: | ||||
|  |  | |||
							
								
								
									
										
											BIN
										
									
								
								back/db.sqlite3
									
										
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								back/db.sqlite3
									
										
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 kououken
						kououken