$token = $this->generateRandomDeviceToken();
$deviceToken = $this->tokenProvider->generateToken($token, $this->uid, $loginName, $password, $name, IToken::PERMANENT_TOKEN);
+ $tokenData = $deviceToken->jsonSerialize();
+ $tokenData['canDelete'] = true;
return [
'token' => $token,
'loginName' => $loginName,
- 'deviceToken' => $deviceToken
+ 'deviceToken' => $tokenData
];
}
}
#sessions .token-list a.icon,
#apppasswords .token-list a.icon {
- display: block;
opacity: 0.6;
margin-top: 4px;
+ display: none;
+}
+
+#sessions .token-list tr:hover a.icon,
+#apppasswords .token-list tr:hover a.icon {
+ display: block;
}
#sessions .token-list td div.configure,
#apppasswords .token-list td div.configure {
display: none;
+ height: 18px;
}
#sessions .token-list tr.active div.configure,
var list = this.$('.token-list');
var tokens = this.collection.filter(function (token) {
- return parseInt(token.get('type'), 10) === _this.type;
+ return token.get('type') === _this.type;
});
list.html('');
var ts = viewData.lastActivity * 1000;
viewData.lastActivity = OC.Util.relativeModifiedDate(ts);
viewData.lastActivityTime = OC.Util.formatDate(ts, 'LLL');
- viewData.canScope = token.get('type') === '1';
+ viewData.canScope = token.get('type') === 1;
// preserve title for cases where we format it further
viewData.title = viewData.name;