diff --git a/go.mod b/go.mod index d89f0f3..d6f620f 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module git.grassecon.net/urdt/ussd go 1.23.0 require ( - git.defalsify.org/vise.git v0.2.1-0.20241122120231-9e9ee5bdfa7a + git.defalsify.org/vise.git v0.2.1-0.20241209194740-26fc82a76ede github.com/alecthomas/assert/v2 v2.2.2 github.com/gofrs/uuid v4.4.0+incompatible github.com/grassrootseconomics/eth-custodial v1.3.0-beta diff --git a/go.sum b/go.sum index 5532c1c..e64d16f 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ git.defalsify.org/vise.git v0.2.1-0.20241122120231-9e9ee5bdfa7a h1:LvGKktk0kUnuRN3nF9r15D8OoV0sFaMmQr52kGq2gtE= git.defalsify.org/vise.git v0.2.1-0.20241122120231-9e9ee5bdfa7a/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= +git.defalsify.org/vise.git v0.2.1-0.20241209194740-26fc82a76ede h1:BtooQZJDYEgeRKqv8RSxYSbW5jh0UIFJ6zRMEZZn0sc= +git.defalsify.org/vise.git v0.2.1-0.20241209194740-26fc82a76ede/go.mod h1:jyBMe1qTYUz3mmuoC9JQ/TvFeW0vTanCUcPu3H8p4Ck= github.com/alecthomas/assert/v2 v2.2.2 h1:Z/iVC0xZfWTaFNE6bA3z07T86hd45Xe2eLt6WVy2bbk= github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= github.com/alecthomas/participle/v2 v2.0.0 h1:Fgrq+MbuSsJwIkw3fEj9h75vDP0Er5JzepJ0/HNHv0g= diff --git a/internal/handlers/ussd/menuhandler.go b/internal/handlers/ussd/menuhandler.go index c5356d0..6eeaeb7 100644 --- a/internal/handlers/ussd/menuhandler.go +++ b/internal/handlers/ussd/menuhandler.go @@ -732,9 +732,7 @@ func (h *Handlers) ResetIncorrectPin(ctx context.Context, sym string, input []by // Setback sets the flag_back_set flag when the navigation is back func (h *Handlers) SetBack(ctx context.Context, sym string, input []byte) (resource.Result, error) { var res resource.Result - //TODO: - //Add check if the navigation is lateral nav instead of checking the input. - if string(input) == "0" { + if h.st.Back() { flag_back_set, _ := h.flagManager.GetFlag("flag_back_set") res.FlagSet = append(res.FlagSet, flag_back_set) } diff --git a/services/registration/edit_family_name.vis b/services/registration/edit_family_name.vis index 590eab1..de067c5 100644 --- a/services/registration/edit_family_name.vis +++ b/services/registration/edit_family_name.vis @@ -1,18 +1,7 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_familyname flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info MAP get_current_profile_info MOUT back 0 HALT -RELOAD set_back -CATCH _ flag_back_set 1 -LOAD save_familyname 64 -RELOAD save_familyname -CATCH pin_entry flag_familyname_set 1 -CATCH select_gender flag_gender_set 0 -CATCH edit_yob flag_yob_set 0 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_familyname_set 0 -INCMP select_gender * +INCMP _ 0 +INCMP edit_family_name_next * diff --git a/services/registration/edit_family_name_next.vis b/services/registration/edit_family_name_next.vis new file mode 100644 index 0000000..bc1f858 --- /dev/null +++ b/services/registration/edit_family_name_next.vis @@ -0,0 +1,11 @@ +LOAD save_familyname 32 +RELOAD save_familyname +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_familyname flag_allow_update 1 +RELOAD set_back +CATCH _ flag_back_set 1 +CATCH pin_entry flag_familyname_set 1 +CATCH select_gender flag_gender_set 0 +CATCH edit_yob flag_yob_set 0 +CATCH edit_location flag_location_set 0 +CATCH pin_entry flag_familyname_set 0 diff --git a/services/registration/edit_first_name.vis b/services/registration/edit_first_name.vis index 6848b9c..95c2dc1 100644 --- a/services/registration/edit_first_name.vis +++ b/services/registration/edit_first_name.vis @@ -1,18 +1,7 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_firstname flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info MAP get_current_profile_info MOUT back 0 HALT -RELOAD set_back -CATCH _ flag_back_set 1 -LOAD save_firstname 128 -RELOAD save_firstname -CATCH pin_entry flag_firstname_set 1 -CATCH edit_family_name flag_familyname_set 0 -CATCH edit_gender flag_gender_set 0 -CATCH edit_yob flag_yob_set 0 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_firstname_set 0 +INCMP _ 0 +INCMP edit_first_name_next * diff --git a/services/registration/edit_first_name_next.vis b/services/registration/edit_first_name_next.vis new file mode 100644 index 0000000..41e797d --- /dev/null +++ b/services/registration/edit_first_name_next.vis @@ -0,0 +1,12 @@ +LOAD save_firstname 64 +RELOAD save_firstname +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_firstname flag_allow_update 1 +RELOAD set_back +CATCH _ flag_back_set 1 +CATCH pin_entry flag_firstname_set 1 +CATCH edit_family_name flag_familyname_set 0 +CATCH select_gender flag_gender_set 0 +CATCH edit_yob flag_yob_set 0 +CATCH edit_location flag_location_set 0 +CATCH pin_entry flag_firstname_set 0 diff --git a/services/registration/edit_location.vis b/services/registration/edit_location.vis index e4fcd8b..0869e48 100644 --- a/services/registration/edit_location.vis +++ b/services/registration/edit_location.vis @@ -1,15 +1,7 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_location flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info -LOAD save_location 16 MOUT back 0 HALT -RELOAD set_back -CATCH _ flag_back_set 1 -RELOAD save_location INCMP _ 0 -CATCH pin_entry flag_location_set 1 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_location_set 0 -INCMP edit_offerings * +INCMP edit_location_next * + diff --git a/services/registration/edit_location_next.vis b/services/registration/edit_location_next.vis new file mode 100644 index 0000000..7f2c1c5 --- /dev/null +++ b/services/registration/edit_location_next.vis @@ -0,0 +1,8 @@ +LOAD save_location 16 +RELOAD save_location +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_location flag_allow_update 1 +RELOAD set_back +CATCH _ flag_back_set 1 +CATCH pin_entry flag_location_set 1 +CATCH edit_offerings flag_offerings_set 0 diff --git a/services/registration/edit_offerings.vis b/services/registration/edit_offerings.vis index ddbc9e0..4f91551 100644 --- a/services/registration/edit_offerings.vis +++ b/services/registration/edit_offerings.vis @@ -1,14 +1,7 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_offerings flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info -LOAD save_offerings 8 MOUT back 0 HALT -RELOAD set_back -CATCH _ flag_back_set 1 -RELOAD save_offerings INCMP _ 0 -CATCH pin_entry flag_offerings_set 1 -CATCH pin_entry flag_offerings_set 0 -INCMP update_profile_items * +INCMP edit_offerings_next * + diff --git a/services/registration/edit_offerings_next.vis b/services/registration/edit_offerings_next.vis new file mode 100644 index 0000000..d504781 --- /dev/null +++ b/services/registration/edit_offerings_next.vis @@ -0,0 +1,8 @@ +LOAD save_offerings 8 +RELOAD save_offerings +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_offerings flag_allow_update 1 +RELOAD set_back +CATCH _ flag_back_set 1 +CATCH pin_entry flag_offerings_set 1 +MOVE update_profile_items diff --git a/services/registration/edit_yob.vis b/services/registration/edit_yob.vis index 255bea5..0701c21 100644 --- a/services/registration/edit_yob.vis +++ b/services/registration/edit_yob.vis @@ -1,19 +1,7 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_yob flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info MAP get_current_profile_info MOUT back 0 HALT -RELOAD set_back -CATCH _ flag_back_set 1 -LOAD verify_yob 6 -RELOAD verify_yob -CATCH incorrect_date_format flag_incorrect_date_format 1 -LOAD save_yob 32 -RELOAD save_yob -CATCH pin_entry flag_yob_set 1 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_yob_set 0 -INCMP edit_location * +INCMP _ 0 +INCMP edit_yob_next * diff --git a/services/registration/edit_yob_next.vis b/services/registration/edit_yob_next.vis new file mode 100644 index 0000000..cc45580 --- /dev/null +++ b/services/registration/edit_yob_next.vis @@ -0,0 +1,13 @@ +LOAD save_yob 16 +LOAD verify_yob 8 +RELOAD verify_yob +RELOAD save_yob +CATCH incorrect_date_format flag_incorrect_date_format 1 +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_yob flag_allow_update 1 +RELOAD set_back +CATCH _ flag_back_set 1 +CATCH pin_entry flag_yob_set 1 +CATCH edit_location flag_location_set 0 +CATCH edit_offerings flag_offerings_set 0 +CATCH pin_entry flag_yob_set 0 diff --git a/services/registration/incorrect_date_format.vis b/services/registration/incorrect_date_format.vis index f4a8a2b..5c5cada 100644 --- a/services/registration/incorrect_date_format.vis +++ b/services/registration/incorrect_date_format.vis @@ -2,5 +2,5 @@ LOAD reset_incorrect_date_format 8 MOUT retry 1 MOUT quit 9 HALT -INCMP _ 1 +INCMP ^ 1 INCMP quit 9 diff --git a/services/registration/select_gender.vis b/services/registration/select_gender.vis index c1a00f5..555d238 100644 --- a/services/registration/select_gender.vis +++ b/services/registration/select_gender.vis @@ -1,5 +1,3 @@ -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH profile_update_success flag_allow_update 1 LOAD get_current_profile_info 0 RELOAD get_current_profile_info MOUT male 1 diff --git a/services/registration/set_female.vis b/services/registration/set_female.vis index da92520..30228e9 100644 --- a/services/registration/set_female.vis +++ b/services/registration/set_female.vis @@ -1,10 +1,3 @@ -LOAD save_gender 32 +LOAD save_gender 16 RELOAD save_gender -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_gender flag_allow_update 1 -CATCH pin_entry flag_gender_set 1 -CATCH edit_yob flag_yob_set 0 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_gender_set 0 -MOVE edit_yob +MOVE set_gender_next diff --git a/services/registration/set_gender_next b/services/registration/set_gender_next new file mode 100644 index 0000000..723a3b5 --- /dev/null +++ b/services/registration/set_gender_next @@ -0,0 +1 @@ +Select gender \ No newline at end of file diff --git a/services/registration/set_gender_next.vis b/services/registration/set_gender_next.vis new file mode 100644 index 0000000..095455a --- /dev/null +++ b/services/registration/set_gender_next.vis @@ -0,0 +1,6 @@ +CATCH incorrect_pin flag_incorrect_pin 1 +CATCH update_gender flag_allow_update 1 +CATCH pin_entry flag_gender_set 1 +CATCH edit_yob flag_yob_set 0 +CATCH edit_location flag_location_set 0 +CATCH edit_offerings flag_offerings_set 0 diff --git a/services/registration/set_male.vis b/services/registration/set_male.vis index 9a95937..30228e9 100644 --- a/services/registration/set_male.vis +++ b/services/registration/set_male.vis @@ -1,10 +1,3 @@ LOAD save_gender 16 RELOAD save_gender -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_gender flag_allow_update 1 -CATCH pin_entry flag_gender_set 1 -CATCH edit_yob flag_yob_set 0 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_gender_set 0 -MOVE edit_yob +MOVE set_gender_next diff --git a/services/registration/set_unspecified.vis b/services/registration/set_unspecified.vis index 824105c..30228e9 100644 --- a/services/registration/set_unspecified.vis +++ b/services/registration/set_unspecified.vis @@ -1,10 +1,3 @@ -LOAD save_gender 8 +LOAD save_gender 16 RELOAD save_gender -CATCH incorrect_pin flag_incorrect_pin 1 -CATCH update_gender flag_allow_update 1 -CATCH pin_entry flag_gender_set 1 -CATCH edit_yob flag_yob_set 0 -CATCH edit_location flag_location_set 0 -CATCH edit_offerings flag_offerings_set 0 -CATCH pin_entry flag_gender_set 0 -MOVE edit_yob +MOVE set_gender_next