forked from urdt/ussd
		
	show a balance of 0 and prevent sending when no voucher exists
This commit is contained in:
		
							parent
							
								
									eea3be3a39
								
							
						
					
					
						commit
						25bc7006a4
					
				| @ -624,7 +624,7 @@ func (h *Handlers) ResetIncorrectYob(ctx context.Context, sym string, input []by | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| // CheckBalance retrieves the balance from the API using the "PublicKey" and sets
 | ||||
| // CheckBalance retrieves the balance of the active voucher and sets
 | ||||
| // the balance as the result content
 | ||||
| func (h *Handlers) CheckBalance(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	var res resource.Result | ||||
| @ -640,12 +640,13 @@ func (h *Handlers) CheckBalance(ctx context.Context, sym string, input []byte) ( | ||||
| 	// get the active sym and active balance
 | ||||
| 	activeSym, err := store.ReadEntry(ctx, sessionId, utils.DATA_ACTIVE_SYM) | ||||
| 	if err != nil { | ||||
| 		return res, err | ||||
| 		res.Content = "0.00" | ||||
| 		return res, nil | ||||
| 	} | ||||
| 
 | ||||
| 	activeBal, err := store.ReadEntry(ctx, sessionId, utils.DATA_ACTIVE_BAL) | ||||
| 	if err != nil { | ||||
| 		return res, err | ||||
| 		return res, nil | ||||
| 	} | ||||
| 
 | ||||
| 	res.Content = fmt.Sprintf("%s %s", activeBal, activeSym) | ||||
| @ -991,6 +992,8 @@ func (h *Handlers) SetDefaultVoucher(ctx context.Context, sym string, input []by | ||||
| 		return res, fmt.Errorf("missing session") | ||||
| 	} | ||||
| 
 | ||||
| 	flag_no_active_voucher, _ := h.flagManager.GetFlag("flag_no_active_voucher") | ||||
| 
 | ||||
| 	// check if the user has an active sym
 | ||||
| 	_, err = store.ReadEntry(ctx, sessionId, utils.DATA_ACTIVE_SYM) | ||||
| 
 | ||||
| @ -1008,9 +1011,10 @@ func (h *Handlers) SetDefaultVoucher(ctx context.Context, sym string, input []by | ||||
| 				return res, nil | ||||
| 			} | ||||
| 
 | ||||
| 			// Ensure there is at least one voucher
 | ||||
| 			// Return if there is no voucher
 | ||||
| 			if len(vouchersResp.Result.Holdings) == 0 { | ||||
| 				return res, err | ||||
| 				res.FlagSet = append(res.FlagSet, flag_no_active_voucher) | ||||
| 				return res, nil | ||||
| 			} | ||||
| 
 | ||||
| 			// Use only the first voucher
 | ||||
| @ -1035,6 +1039,8 @@ func (h *Handlers) SetDefaultVoucher(ctx context.Context, sym string, input []by | ||||
| 		return res, err | ||||
| 	} | ||||
| 
 | ||||
| 	res.FlagReset = append(res.FlagReset, flag_no_active_voucher) | ||||
| 
 | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| @ -1160,7 +1166,7 @@ func (h *Handlers) ViewVoucher(ctx context.Context, sym string, input []byte) (r | ||||
| 		if err != nil { | ||||
| 			return res, err | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		res.FlagReset = append(res.FlagReset, flag_incorrect_voucher) | ||||
| 		res.Content = fmt.Sprintf("%s\n%s", matchedSymbol, matchedBalance) | ||||
| 	} else { | ||||
|  | ||||
							
								
								
									
										1
									
								
								services/registration/no_voucher
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/no_voucher
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| You need a voucher to send | ||||
							
								
								
									
										5
									
								
								services/registration/no_voucher.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								services/registration/no_voucher.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| MOUT back 0 | ||||
| MOUT quit 9 | ||||
| HALT | ||||
| INCMP ^ 0 | ||||
| INCMP quit 9 | ||||
							
								
								
									
										1
									
								
								services/registration/no_voucher_swa
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/no_voucher_swa
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| Unahitaji sarafu kutuma | ||||
| @ -15,4 +15,5 @@ flag,flag_allow_update,21,this is set to allow a user to update their profile da | ||||
| flag,flag_single_edit,22,this is set to allow a user to edit a single profile item such as year of birth | ||||
| flag,flag_incorrect_date_format,23,this is set when the given year of birth is invalid | ||||
| flag,flag_incorrect_voucher,24,this is set when the selected voucher is invalid | ||||
| flag,flag_api_call_error,25,this is set when communication  to an external service fails | ||||
| flag,flag_api_call_error,25,this is set when communication to an external service fails | ||||
| flag,flag_no_active_voucher,26,this is set when a user does not have an active voucher | ||||
|  | ||||
| 
 | 
| @ -1,4 +1,5 @@ | ||||
| LOAD transaction_reset 0 | ||||
| CATCH no_voucher flag_no_active_voucher 1 | ||||
| MOUT back 0 | ||||
| HALT | ||||
| LOAD validate_recipient 20 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user