TT#134102 API language handling

* Fix for language solving for API requests. Changed the sequence of language choosing:
1. Request parameter "lang" for API and UI.
2. Cookie value "ngcp_panel_lang" for UI only.
3. User agent/browser language for API and UI.

Change-Id: Id5d814deead22eb7e2908fdc742b0c8474314d49
mr10.2
Oleksandr Duts 4 years ago
parent f8d982708b
commit ddb7412d85

@ -58,11 +58,9 @@ sub auto :Private {
} }
# clear form cache (they need to be properly re-translated) # clear form cache (they need to be properly re-translated)
NGCP::Panel::Form::clear_form_cache(); NGCP::Panel::Form::clear_form_cache();
} } elsif (defined $c->session->{lang}) {
unless ($is_api_request) {
if (defined $c->session->{lang}) {
$c->languages([$c->session->{lang}, "i-default"]); $c->languages([$c->session->{lang}, "i-default"]);
} elsif ( $c->req->cookie('ngcp_panel_lang') ) { } elsif ( ! $is_api_request && $c->req->cookie('ngcp_panel_lang') ) {
$c->session->{lang} = $c->req->cookie('ngcp_panel_lang')->value; $c->session->{lang} = $c->req->cookie('ngcp_panel_lang')->value;
$c->languages([$c->session->{lang}, 'i-default']); $c->languages([$c->session->{lang}, 'i-default']);
} else { # if language has not yet be set, set it from config or browser } else { # if language has not yet be set, set it from config or browser
@ -71,10 +69,10 @@ sub auto :Private {
$c->languages([$c->config->{appearance}{force_language}, 'i-default']); $c->languages([$c->config->{appearance}{force_language}, 'i-default']);
} else { } else {
$c->languages([ map { s/^en.*$/i-default/r } @{ $c->languages } ]); $c->languages([ map { s/^en.*$/i-default/r } @{ $c->languages } ]);
$c->log->debug("lang set by browser: " . $c->language);
} }
$c->session->{lang} = $c->language; $c->session->{lang} = $c->language
$c->log->debug("lang set by browser or config: " . $c->language); if ! $is_api_request;
}
} }
################################################### timezone retrieval ################################################### timezone retrieval

Loading…
Cancel
Save