moved validations to sepeate functions
This commit is contained in:
		
							parent
							
								
									2c99594688
								
							
						
					
					
						commit
						aa918e8528
					
				| @ -8,22 +8,31 @@ from frappe import _ | ||||
| import datetime | ||||
| from frappe.model.document import Document | ||||
| 
 | ||||
| 
 | ||||
| class AppointmentBookingSettings(Document): | ||||
| 	def validate(self): | ||||
| 		# Day of week should not be repeated | ||||
| 		list_of_days = [] | ||||
| 		date = '01/01/1970 ' | ||||
| 		format_string = "%d/%m/%Y %H:%M:%S" | ||||
|     min_date = '01/01/1970 ' | ||||
|     format_string = "%d/%m/%Y %H:%M:%S" | ||||
| 
 | ||||
| 		for record in self.availability_of_slots: | ||||
| 			list_of_days.append(record.day_of_week) | ||||
| 			# Difference between from_time and to_time is multiple of appointment_duration | ||||
| 			from_time = datetime.datetime.strptime(date+record.from_time, format_string) | ||||
| 			to_time = datetime.datetime.strptime(date+record.to_time, format_string) | ||||
| 			timedelta = to_time-from_time | ||||
|     def validate(self): | ||||
|         self.validate_availability_of_slots() | ||||
| 
 | ||||
| 			if(from_time > to_time): | ||||
| 				frappe.throw('From Time cannot be later than To Time for '+record.day_of_week) | ||||
| 			 | ||||
| 			if timedelta.total_seconds() % (self.appointment_duration * 60): | ||||
| 				frappe.throw('The difference between from time and To Time must be a multiple of Appointment ') | ||||
|     def validate_availability_of_slots(self): | ||||
|         for record in self.availability_of_slots: | ||||
|             from_time = datetime.datetime.strptime( | ||||
|                 min_date+record.from_time, format_string) | ||||
|             to_time = datetime.datetime.strptime( | ||||
|                 min_date+record.to_time, format_string) | ||||
|             timedelta = to_time-from_time | ||||
|             self.from_time_is_later_than_to_time(from_time, to_time) | ||||
|             self.duration_is_divisible(from_time, to_time) | ||||
| 
 | ||||
|     def from_time_is_later_than_to_time(self, from_time, to_time): | ||||
|         if from_time > to_time: | ||||
|             err_msg = 'From Time cannot be later than To Time for '+record.day_of_week | ||||
|             frappe.throw(_(err_msg)) | ||||
| 
 | ||||
|     def duration_is_divisible(self, from_time, to_time): | ||||
|         timedelta = to_time - from_time | ||||
|         if timedelta.total_seconds() % (self.appointment_duration * 60): | ||||
|             frappe.throw( | ||||
|                 _('The difference between from time and To Time must be a multiple of Appointmen')) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user