mirror of
				https://github.com/fspc/workstand.git
				synced 2025-10-31 08:25:35 -04:00 
			
		
		
		
	Include available states to transition to.
This commit is contained in:
		
							parent
							
								
									5d85579a4f
								
							
						
					
					
						commit
						1e0f1cd496
					
				| @ -78,8 +78,9 @@ class Bike(models.Model): | ||||
|         return self.stolen is False and self.cpic_searched_at is not None and self.serial_number is not None | ||||
| 
 | ||||
|     def can_claim(self): | ||||
|         return self.claimed_by is None or not (self.claimed_by is not None and self.last_worked_on > timezone.now() - timedelta( | ||||
|             weeks=4)) or self.last_worked_on is None | ||||
|         return self.claimed_by is None or not ( | ||||
|             self.claimed_by is not None and self.last_worked_on > timezone.now() - timedelta( | ||||
|                 weeks=4)) or self.last_worked_on is None | ||||
| 
 | ||||
|     def can_purchase(self): | ||||
|         if self.claimed_by: | ||||
| @ -122,3 +123,10 @@ class Bike(models.Model): | ||||
|     @transition(field=state, source=[BikeState.ASSESSED, BikeState.RECEIVED], conditions=[can_transfer_to_police]) | ||||
|     def transfer_to_police(self): | ||||
|         pass | ||||
| 
 | ||||
|     @property | ||||
|     def available_states(self): | ||||
|         states = [state_transition.name | ||||
|                   for state_transition in self.get_available_state_transitions()] | ||||
| 
 | ||||
|         return states | ||||
|  | ||||
| @ -10,3 +10,4 @@ class BikeSerializer(serializers.HyperlinkedModelSerializer): | ||||
| 
 | ||||
|     created_at = serializers.ReadOnlyField() | ||||
|     state = serializers.ReadOnlyField() | ||||
|     available_states = serializers.ReadOnlyField() | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user