summaryrefslogtreecommitdiff
path: root/indra/newview/lleventnotifier.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2022-03-01 13:21:16 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2022-03-01 13:41:42 +0200
commit97a103255e433629f13e2156aa307ca329cdcfc6 (patch)
treebf5de1cef5930647c4ab87a0cff7f88f0007832d /indra/newview/lleventnotifier.cpp
parent92c302d6fba687f0921544b278e22b698d058646 (diff)
parent6ca09a94554ec01f5c94ec60fffd01d7e33f3546 (diff)
Merge branch 'master' (DRTVWR-557) into DRTVWR-546
# Conflicts: # autobuild.xml # doc/contributions.txt # indra/cmake/GLOD.cmake # indra/llcommon/tests/llprocess_test.cpp # indra/newview/VIEWER_VERSION.txt # indra/newview/lldrawpoolavatar.cpp # indra/newview/llfloatermodelpreview.cpp # indra/newview/llmodelpreview.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvovolume.cpp # indra/newview/viewer_manifest.py
Diffstat (limited to 'indra/newview/lleventnotifier.cpp')
-rw-r--r--indra/newview/lleventnotifier.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp
index e3c17f9877..f1a44a68c9 100644
--- a/indra/newview/lleventnotifier.cpp
+++ b/indra/newview/lleventnotifier.cpp
@@ -36,6 +36,7 @@
#include "llfloaterevent.h"
#include "llagent.h"
#include "llcommandhandler.h" // secondlife:///app/... support
+#include "lltrans.h"
class LLEventHandler : public LLCommandHandler
{
@@ -218,8 +219,40 @@ void LLEventNotifier::load(const LLSD& event_options)
end = event_options.endArray(); resp_it != end; ++resp_it)
{
LLSD response = *resp_it;
-
- add(response["event_id"].asInteger(), response["event_date_ut"], response["event_date"].asString(), response["event_name"].asString());
+ LLDate date;
+ bool is_iso8601_date = false;
+
+ if (response["event_date"].isDate())
+ {
+ date = response["event_date"].asDate();
+ is_iso8601_date = true;
+ }
+ else if (date.fromString(response["event_date"].asString()))
+ {
+ is_iso8601_date = true;
+ }
+
+ if (is_iso8601_date)
+ {
+ std::string dateStr;
+
+ dateStr = "[" + LLTrans::getString("LTimeYear") + "]-["
+ + LLTrans::getString("LTimeMthNum") + "]-["
+ + LLTrans::getString("LTimeDay") + "] ["
+ + LLTrans::getString("LTimeHour") + "]:["
+ + LLTrans::getString("LTimeMin") + "]:["
+ + LLTrans::getString("LTimeSec") + "]";
+
+ LLSD substitution;
+ substitution["datetime"] = date;
+ LLStringUtil::format(dateStr, substitution);
+
+ add(response["event_id"].asInteger(), response["event_date_ut"], dateStr, response["event_name"].asString());
+ }
+ else
+ {
+ add(response["event_id"].asInteger(), response["event_date_ut"], response["event_date"].asString(), response["event_name"].asString());
+ }
}
}