From: Philippe Lelong Date: Tue, 20 Dec 2016 13:40:06 +0000 (+0100) Subject: Add user autorisations information X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2FHomeScreen.git;a=commitdiff_plain;h=36a507d476066e7b12b462ec2d48d71447b663ab Add user autorisations information Signed-off-by: Philippe Lelong --- diff --git a/HomeScreen/qml/Home.qml b/HomeScreen/qml/Home.qml index ba7e1af..423c24c 100644 --- a/HomeScreen/qml/Home.qml +++ b/HomeScreen/qml/Home.qml @@ -18,6 +18,8 @@ import QtQuick 2.2 import QtQuick.Layouts 1.1 import QtQuick.Controls 1.0 +import QtQuick.Controls 1.4 +import QtQuick.Controls.Styles 1.4 import Home 1.0 Item { @@ -128,6 +130,19 @@ Item { function changeFlag(flagImage) { flagLanguage.source = flagImage } + function setUser(type, auts) { + if(type === '') { + authorisations.visible = false + } else { + authorisations.visible = true + labelUserType.text = type + myModel.clear() + for (var i=0; ifrench_flag.png us_flag.png Logout-01.png + Update Software.png + Open Trunk.png + Install App.png + View Online.png diff --git a/HomeScreen/src2/usermanagement.cpp b/HomeScreen/src2/usermanagement.cpp index 5daa1f5..9ea968f 100644 --- a/HomeScreen/src2/usermanagement.cpp +++ b/HomeScreen/src2/usermanagement.cpp @@ -37,6 +37,11 @@ void UserManagement::slot_disconnect() QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, false)); QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, false), Q_ARG(QVariant, "")); QMetaObject::invokeMethod(home, "changeFlag", Q_ARG(QVariant, "./images/us_flag.png")); + QMetaObject::invokeMethod(home, "setUser", Q_ARG(QVariant, ""), Q_ARG(QVariant, "")); + QVariantList list; + list << 2 << QString().setNum(++sequence) << "agl-identity-agent/logout" << true; + listToJson(list, &data); + slot_sendData(); } void UserManagement::setUser(const User &user) @@ -50,6 +55,21 @@ void UserManagement::setUser(const User &user) QMetaObject::invokeMethod(shortcutArea, "languageChanged", Q_ARG(QVariant, user.graphPreferredLanguage)); QMetaObject::invokeMethod(statusArea, "languageChanged", Q_ARG(QVariant, user.graphPreferredLanguage)); QMetaObject::invokeMethod(home, "showSign90", Q_ARG(QVariant, !user.graphActions.contains("Exceed 100 Kph"))); + QStringList t; + foreach(const QString &s, user.graphActions) { + if(!s.contains("Exceed")) + t.append(s); + } + QString type = user.policy; + if(user.graphPreferredLanguage == "fr") { + if(type == "Owner") + type = "Propriétaire"; + else if(type == "Driver") + type = "Conducteur"; + else if(type == "Maintainer") + type = "Maintenance"; + } + QMetaObject::invokeMethod(home, "setUser", Q_ARG(QVariant, type), Q_ARG(QVariant, QVariant::fromValue(t))); if(user.ccNumberMasked.isEmpty()) QMetaObject::invokeMethod(home, "showVisa", Q_ARG(QVariant, false), Q_ARG(QVariant, "")); else @@ -160,6 +180,7 @@ void UserManagement::onTextMessageReceived(QString message) user.postal_code = map["postal_code"].toString(); user.first_name = map["first_name"].toString(); user.keytoken = map["keytoken"].toString(); + user.policy = map["graphPolicies"].toString(); setUser(user); } } @@ -243,14 +264,14 @@ void UserManagement::processTextMessage(QString message) ":\"19\",\"ccExpMonth\":\"01\",\"description\":\"Original description\",\"groups\":[],\"last_name\":\"" "Jensen\",\"ccNumber\":\"111-2343-1121-111\",\"house_identifier\":\"ForgeRock\",\"phone\":\"" "+1 408 555 1862\",\"name\":\"bjensen\",\"state\":\"CA\",\"common_name\":\"Barbara Jensen\",\"fax\":\"" - "+1 408 555 1862\",\"postal_code\":\"94105\",\"first_name\":\"Barbara\",\"keytoken\":\"a123456\"}"; + "+1 408 555 1862\",\"postal_code\":\"94105\",\"first_name\":\"Barbara\",\"keytoken\":\"a123456\",\"graphPolicies\":\"Driver\"}"; QString clientDetails_2 = "{\"postal_address\":\"201 Mission Street\",\"loc\":\"37.7914374,-122.3950694\"" ",\"country\":\"USA\",\"mail\":\"bjensen@example.com\",\"city\":\"San Francisco\",\"graphEmail\":" "\"bjensen@example.com\",\"graphPreferredLanguage\":\"fr\",\"ccNumberMasked\":\"-222\",\"ccExpYear\"" ":\"19\",\"ccExpMonth\":\"01\",\"description\":\"Original description\",\"groups\":[],\"last_name\":\"" "Jensen\",\"ccNumber\":\"111-2343-1121-111\",\"house_identifier\":\"ForgeRock\",\"phone\":\"" "+1 408 555 1862\",\"name\":\"bjensen\",\"state\":\"CA\",\"common_name\":\"Barbara Jensen\",\"fax\":\"" - "+1 408 555 1862\",\"postal_code\":\"94105\",\"first_name\":\"José\",\"keytoken\":\"a123456\"}"; + "+1 408 555 1862\",\"postal_code\":\"94105\",\"first_name\":\"José\",\"keytoken\":\"a123456\",\"graphPolicies\":\"Maintainer\"}"; QString clientDetails = clientDetails_1; if(sequence % 2 == 1) clientDetails = clientDetails_2; diff --git a/HomeScreen/src2/usermanagement.h b/HomeScreen/src2/usermanagement.h index b374719..c3a41bc 100644 --- a/HomeScreen/src2/usermanagement.h +++ b/HomeScreen/src2/usermanagement.h @@ -1,7 +1,7 @@ #ifndef USERMANAGEMENT_H #define USERMANAGEMENT_H -#define REAL_SERVER "ws://localhost:1212/api?token=hello" +//#define REAL_SERVER "ws://localhost:1212/api?token=hello" #include #include "applicationmodel.h" @@ -36,6 +36,7 @@ struct User { QString first_name; QString keytoken; QStringList graphActions; + QString policy; }; class UserManagement : public QObject