From f0b6401da5f26bef1565d7c54ac7e4ca093c9c4a Mon Sep 17 00:00:00 2001 From: totoro Date: Tue, 21 Feb 2017 17:49:35 +0100 Subject: [PATCH] fix get(XXX) type which come with Var(List... and not List only Add AWS_SESSION_STEP counter in web session. --- web/CXM_making_a_web_site.anubis | 15 ++++++++++++++- web/CXM_web_session.anubis | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------- 2 files changed, 74 insertions(+), 59 deletions(-) diff --git a/web/CXM_making_a_web_site.anubis b/web/CXM_making_a_web_site.anubis index 84b5e21..1421ffa 100644 --- a/web/CXM_making_a_web_site.anubis +++ b/web/CXM_making_a_web_site.anubis @@ -333,6 +333,9 @@ public type WEB_Controller_Result: String action_name ), redirect_to_previous, + redirect_to_previous( + Var(List(WEB_Session_Field)) fields + ), ajax( HTTP_Answer http_answer ) @@ -2980,6 +2983,8 @@ define WEB_Controller_Result url(url) then url, }, if requested_action_name = action_name then + with step = get_Int(_session.fields, "AWS_SESSION_STEP", 0) + 1, + replace_Int(_session.fields, "AWS_SESSION_STEP", step); if h.allowed_proto is { //Action only in HTTP @@ -3082,7 +3087,7 @@ define (Maybe(WEB_Session), HTTP_Answer) if get_controller(r_controller_name, controllers) is { failure then (failure, error_page(http_not_found, "Redirect Controller "+r_controller_name+" not found", new_session)), - success(new_controller) then + success(new_controller) then apply_controller_action(new_controller, controllers, new_session, success(r_action_name), initial_session), }, @@ -3094,6 +3099,14 @@ define (Maybe(WEB_Session), HTTP_Answer) since _session is web_session(lang, entries, _, previous), apply_controller_action(new_controller, controllers, web_session(lang, entries, previous, previous), failure, initial_session), }, + redirect_to_previous(entries) then + if get_controller(get_String(_session.previous_web_request.lwa, "aws_controller", "root"), controllers) is + { + failure then (failure, error_page(http_not_found, "Redirect to previous Controller not found", _session)), + success(new_controller) then + since _session is web_session(lang, _, _, previous), + apply_controller_action(new_controller, controllers, web_session(lang, entries, previous, previous), failure, initial_session), + }, ajax(answer) then (failure, answer), } } diff --git a/web/CXM_web_session.anubis b/web/CXM_web_session.anubis index 69284dc..8ce4e46 100644 --- a/web/CXM_web_session.anubis +++ b/web/CXM_web_session.anubis @@ -190,7 +190,9 @@ define One { [] then fields_org <- [session_field(_field_name, _field_type, var(_field_value)) . *fields_org], [h . t] then + println("h.field_name = "+h.field_name+" _field_name = "+_field_name); if h.field_name = _field_name & h.field_type = _field_type then + println("replace field_name found"); h.field_datum <- _field_value else replace_any(t, _field_type, _field_name, _field_value, fields_org) @@ -282,10 +284,10 @@ public define One public define Maybe(Bool) get_Bool ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name ) = - if get_field(fields, bool_t, _field_name) is + if get_field(*fields, bool_t, _field_name) is { failure then failure, success(datum) then @@ -299,9 +301,9 @@ public define Maybe(Bool) public define Bool get_Bool ( - List(WEB_Session_Field) fields, - String _field_name, - Bool default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Bool default_value ) = if get_Bool(fields, _field_name) is { @@ -347,10 +349,10 @@ public define One public define Maybe(Int) get_Int ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, int_t, _field_name) is + if get_field(*fields, int_t, _field_name) is { failure then failure, success(datum) then @@ -364,9 +366,9 @@ public define Maybe(Int) public define Int get_Int ( - List(WEB_Session_Field) fields, - String _field_name, - Int default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Int default_value ) = if get_Int(fields, _field_name) is { @@ -476,10 +478,10 @@ public define One public define Maybe(ByteArray) get_ByteArray ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, byte_array_t, _field_name) is + if get_field(*fields, byte_array_t, _field_name) is { failure then failure, success(datum) then @@ -493,9 +495,9 @@ public define Maybe(ByteArray) public define ByteArray get_ByteArray ( - List(WEB_Session_Field) fields, - String _field_name, - ByteArray default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + ByteArray default_value ) = if get_ByteArray(fields, _field_name) is { @@ -540,10 +542,10 @@ public define One public define Maybe(Float) get_Float ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, float_t, _field_name) is + if get_field(*fields, float_t, _field_name) is { failure then failure, success(datum) then @@ -557,9 +559,9 @@ public define Maybe(Float) public define Float get_Float ( - List(WEB_Session_Field) fields, - String _field_name, - Float default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Float default_value ) = if get_Float(fields, _field_name) is { @@ -604,10 +606,10 @@ public define One public define Maybe(Word128) get_Word128 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word128_t, _field_name) is + if get_field(*fields, word128_t, _field_name) is { failure then failure, success(datum) then @@ -621,9 +623,9 @@ public define Maybe(Word128) public define Word128 get_Word128 ( - List(WEB_Session_Field) fields, - String _field_name, - Word128 default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Word128 default_value ) = if get_Word128(fields, _field_name) is { @@ -668,10 +670,10 @@ public define One public define Maybe(Word64) get_Word64 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word64_t, _field_name) is + if get_field(*fields, word64_t, _field_name) is { failure then failure, success(datum) then @@ -685,9 +687,9 @@ public define Maybe(Word64) public define Word64 get_Word64 ( - List(WEB_Session_Field) fields, - String _field_name, - Word64 default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Word64 default_value ) = if get_Word64(fields, _field_name) is { @@ -732,10 +734,10 @@ public define One public define Maybe(Word32) get_Word32 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word32_t, _field_name) is + if get_field(*fields, word32_t, _field_name) is { failure then failure, success(datum) then @@ -749,9 +751,9 @@ public define Maybe(Word32) public define Word32 get_Word32 ( - List(WEB_Session_Field) fields, - String _field_name, - Word32 default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Word32 default_value ) = if get_Word32(fields, _field_name) is { @@ -796,10 +798,10 @@ public define One public define Maybe(Word16) get_Word16 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word16_t, _field_name) is + if get_field(*fields, word16_t, _field_name) is { failure then failure, success(datum) then @@ -813,8 +815,8 @@ public define Maybe(Word16) public define Word16 get_Word16 ( - List(WEB_Session_Field) fields, - String _field_name, + Var(List(WEB_Session_Field)) fields, + String _field_name, Word16 default_value ) = if get_Word16(fields, _field_name) is @@ -860,10 +862,10 @@ public define One public define Maybe(Word8) get_Word8 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word8_t, _field_name) is + if get_field(*fields, word8_t, _field_name) is { failure then failure, success(datum) then @@ -877,9 +879,9 @@ public define Maybe(Word8) public define Word8 get_Word8 ( - List(WEB_Session_Field) fields, - String _field_name, - Word8 default_value + Var(List(WEB_Session_Field)) fields, + String _field_name, + Word8 default_value ) = if get_Word8(fields, _field_name) is { @@ -924,10 +926,10 @@ public define One public define Maybe(Word4) get_Word4 ( - List(WEB_Session_Field) fields, - String _field_name + Var(List(WEB_Session_Field)) fields, + String _field_name, ) = - if get_field(fields, word4_t, _field_name) is + if get_field(*fields, word4_t, _field_name) is { failure then failure, success(datum) then @@ -941,8 +943,8 @@ public define Maybe(Word4) public define Word4 get_Word4 ( - List(WEB_Session_Field) fields, - String _field_name, + Var(List(WEB_Session_Field)) fields, + String _field_name, Word4 default_value ) = if get_Word4(fields, _field_name) is -- libgit2 0.21.4