forked from grassrootseconomics/visedriver
		
	Merge pull request 'menu-profile-edit' (#82) from menu-profile-edit into master
Reviewed-on: urdt/ussd#82
This commit is contained in:
		
						commit
						726d6dd338
					
				| @ -88,7 +88,6 @@ func (ls *LocalHandlerService) GetHandler() (*ussd.Handlers, error) { | ||||
| 	ls.DbRs.AddLocalFunc("get_profile_info", ussdHandlers.GetProfileInfo) | ||||
| 	ls.DbRs.AddLocalFunc("verify_yob", ussdHandlers.VerifyYob) | ||||
| 	ls.DbRs.AddLocalFunc("reset_incorrect_date_format", ussdHandlers.ResetIncorrectYob) | ||||
| 	ls.DbRs.AddLocalFunc("set_reset_single_edit", ussdHandlers.SetResetSingleEdit) | ||||
| 	ls.DbRs.AddLocalFunc("initiate_transaction", ussdHandlers.InitiateTransaction) | ||||
| 	ls.DbRs.AddLocalFunc("save_temporary_pin", ussdHandlers.SaveTemporaryPin) | ||||
| 	ls.DbRs.AddLocalFunc("verify_new_pin", ussdHandlers.VerifyNewPin) | ||||
|  | ||||
| @ -117,17 +117,14 @@ func (h *Handlers) Init(ctx context.Context, sym string, input []byte) (resource | ||||
| func (h *Handlers) SetLanguage(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	var res resource.Result | ||||
| 
 | ||||
| 	sym, _ = h.st.Where() | ||||
| 	symbol, _ := h.st.Where() | ||||
| 	code := strings.Split(symbol, "_")[1] | ||||
| 
 | ||||
| 	switch sym { | ||||
| 	case "set_default": | ||||
| 		res.FlagSet = append(res.FlagSet, state.FLAG_LANG) | ||||
| 		res.Content = "eng" | ||||
| 	case "set_swa": | ||||
| 		res.FlagSet = append(res.FlagSet, state.FLAG_LANG) | ||||
| 		res.Content = "swa" | ||||
| 	default: | ||||
| 	if !utils.IsValidISO639(code) { | ||||
| 		return res, nil | ||||
| 	} | ||||
| 	res.FlagSet = append(res.FlagSet, state.FLAG_LANG) | ||||
| 	res.Content = code | ||||
| 
 | ||||
| 	languageSetFlag, err := h.flagManager.GetFlag("flag_language_set") | ||||
| 	if err != nil { | ||||
| @ -279,32 +276,6 @@ func (h *Handlers) ConfirmPinChange(ctx context.Context, sym string, input []byt | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| // SetResetSingleEdit sets and resets  flags to allow gradual editing of profile information.
 | ||||
| func (h *Handlers) SetResetSingleEdit(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	var res resource.Result | ||||
| 
 | ||||
| 	menuOption := string(input) | ||||
| 
 | ||||
| 	flag_allow_update, _ := h.flagManager.GetFlag("flag_allow_update") | ||||
| 	flag_single_edit, _ := h.flagManager.GetFlag("flag_single_edit") | ||||
| 
 | ||||
| 	switch menuOption { | ||||
| 	case "2": | ||||
| 		res.FlagReset = append(res.FlagReset, flag_allow_update) | ||||
| 		res.FlagSet = append(res.FlagSet, flag_single_edit) | ||||
| 	case "3": | ||||
| 		res.FlagReset = append(res.FlagReset, flag_allow_update) | ||||
| 		res.FlagSet = append(res.FlagSet, flag_single_edit) | ||||
| 	case "4": | ||||
| 		res.FlagReset = append(res.FlagReset, flag_allow_update) | ||||
| 		res.FlagSet = append(res.FlagSet, flag_single_edit) | ||||
| 	default: | ||||
| 		res.FlagReset = append(res.FlagReset, flag_single_edit) | ||||
| 	} | ||||
| 
 | ||||
| 	return res, nil | ||||
| } | ||||
| 
 | ||||
| // VerifyPin checks whether the confirmation PIN is similar to the account PIN
 | ||||
| // If similar, it sets the USERFLAG_PIN_SET flag allowing the user
 | ||||
| // to access the main menu
 | ||||
| @ -435,6 +406,7 @@ func (h *Handlers) SaveLocation(ctx context.Context, sym string, input []byte) ( | ||||
| 
 | ||||
| // SaveGender updates the gender in the gdbm with the provided input.
 | ||||
| func (h *Handlers) SaveGender(ctx context.Context, sym string, input []byte) (resource.Result, error) { | ||||
| 	symbol, _ := h.st.Where() | ||||
| 	var res resource.Result | ||||
| 	var err error | ||||
| 	sessionId, ok := ctx.Value("SessionId").(string) | ||||
| @ -442,21 +414,11 @@ func (h *Handlers) SaveGender(ctx context.Context, sym string, input []byte) (re | ||||
| 		return res, fmt.Errorf("missing session") | ||||
| 	} | ||||
| 
 | ||||
| 	if len(input) > 0 { | ||||
| 		gender := string(input) | ||||
| 		switch gender { | ||||
| 		case "1": | ||||
| 			gender = "Male" | ||||
| 		case "2": | ||||
| 			gender = "Female" | ||||
| 		case "3": | ||||
| 			gender = "Unspecified" | ||||
| 		} | ||||
| 		store := h.userdataStore | ||||
| 		err = store.WriteEntry(ctx, sessionId, utils.DATA_GENDER, []byte(gender)) | ||||
| 		if err != nil { | ||||
| 			return res, nil | ||||
| 		} | ||||
| 	gender := strings.Split(symbol, "_")[1] | ||||
| 	store := h.userdataStore | ||||
| 	err = store.WriteEntry(ctx, sessionId, utils.DATA_GENDER, []byte(gender)) | ||||
| 	if err != nil { | ||||
| 		return res, nil | ||||
| 	} | ||||
| 
 | ||||
| 	return res, nil | ||||
|  | ||||
							
								
								
									
										11
									
								
								internal/utils/isocode.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								internal/utils/isocode.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| package utils | ||||
| 
 | ||||
| var isoCodes = map[string]bool{ | ||||
| 	"eng": true, // English
 | ||||
| 	"swa": true, // Swahili
 | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| func IsValidISO639(code string) bool { | ||||
| 	return isoCodes[code] | ||||
| } | ||||
							
								
								
									
										1
									
								
								services/registration/_catch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/_catch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| Something went wrong.Please try again | ||||
							
								
								
									
										1
									
								
								services/registration/_catch.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								services/registration/_catch.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| HALT | ||||
| @ -11,8 +11,6 @@ MOUT view 7 | ||||
| MOUT back 0 | ||||
| HALT | ||||
| INCMP my_account 0 | ||||
| LOAD set_reset_single_edit 0 | ||||
| RELOAD set_reset_single_edit | ||||
| INCMP enter_name 1 | ||||
| INCMP enter_familyname 2 | ||||
| INCMP select_gender 3 | ||||
|  | ||||
| @ -1,13 +1,15 @@ | ||||
| CATCH incorrect_pin flag_incorrect_pin 1 | ||||
| CATCH profile_update_success flag_allow_update 1 | ||||
| LOAD save_gender 0 | ||||
| MOUT male 1 | ||||
| MOUT female 2 | ||||
| MOUT unspecified 3 | ||||
| MOUT back 0 | ||||
| HALT | ||||
| RELOAD save_gender | ||||
| INCMP _ 0 | ||||
| INCMP pin_entry * | ||||
| INCMP set_male 1 | ||||
| INCMP set_female 2 | ||||
| INCMP set_unspecified 3 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| MOUT english 0 | ||||
| MOUT kiswahili 1 | ||||
| HALT | ||||
| INCMP set_default 0 | ||||
| INCMP set_eng 0 | ||||
| INCMP set_swa 1 | ||||
| INCMP . * | ||||
|  | ||||
							
								
								
									
										4
									
								
								services/registration/set_female.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								services/registration/set_female.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| LOAD save_gender 0 | ||||
| CATCH incorrect_pin flag_incorrect_pin 1 | ||||
| CATCH profile_update_success flag_allow_update 1 | ||||
| MOVE pin_entry | ||||
							
								
								
									
										4
									
								
								services/registration/set_male.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								services/registration/set_male.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| LOAD save_gender 0 | ||||
| CATCH incorrect_pin flag_incorrect_pin 1 | ||||
| CATCH profile_update_success flag_allow_update 1 | ||||
| MOVE pin_entry | ||||
							
								
								
									
										4
									
								
								services/registration/set_unspecified.vis
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								services/registration/set_unspecified.vis
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | ||||
| LOAD save_gender 0 | ||||
| CATCH incorrect_pin flag_incorrect_pin 1 | ||||
| CATCH profile_update_success flag_allow_update 1 | ||||
| MOVE pin_entry | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user