Group members by userId. Ref #125
This commit is contained in:
parent
46f141ab68
commit
5cef103648
40
js/3rdparty/webodf/editor/MemberListView.js
vendored
40
js/3rdparty/webodf/editor/MemberListView.js
vendored
@ -69,6 +69,8 @@ define("webodf/editor/MemberListView",
|
||||
|
||||
while (node) {
|
||||
if (node.memberId === memberId) {
|
||||
node.setAttribute('uid', memberDetails.uid);
|
||||
node.setAttribute('count', 1);
|
||||
node = node.firstChild;
|
||||
while (node) {
|
||||
if (node.localName === "img") {
|
||||
@ -76,11 +78,11 @@ define("webodf/editor/MemberListView",
|
||||
node.src = memberDetails.imageUrl;
|
||||
// update border color
|
||||
node.style.borderColor = memberDetails.color;
|
||||
} else if (node.localName === "span" && memberDetails.imageUrl){
|
||||
try {
|
||||
$(node).avatar(memberDetails.imageUrl, 60);
|
||||
} catch (e){}
|
||||
node.style.borderColor = memberDetails.color;
|
||||
} else if (node.localName === "span" && memberDetails.imageUrl){
|
||||
try {
|
||||
$(node).avatar(memberDetails.imageUrl, 60);
|
||||
} catch (e){}
|
||||
node.style.borderColor = memberDetails.color;
|
||||
} else if (node.localName === "div") {
|
||||
node.setAttribute('fullname', memberDetails.fullName);
|
||||
}
|
||||
@ -119,10 +121,6 @@ define("webodf/editor/MemberListView",
|
||||
if (memberId === editorSession.sessionController.getInputMemberId()){
|
||||
documentsMain.onNickChange(memberId, fullnameNode);
|
||||
}
|
||||
var caret = editorSession.sessionView.getCaret(memberId);
|
||||
if (caret) {
|
||||
//caret.toggleHandleVisibility();
|
||||
}
|
||||
};
|
||||
if (memberId === editorSession.sessionController.getInputMemberId()){
|
||||
memberListDiv.insertBefore(avatarDiv, memberListDiv.firstChild);
|
||||
@ -139,7 +137,12 @@ define("webodf/editor/MemberListView",
|
||||
var node = memberListDiv.firstChild;
|
||||
while (node) {
|
||||
if (node.memberId === memberId) {
|
||||
memberListDiv.removeChild(node);
|
||||
var count = parseInt(node.getAttribute('count'));
|
||||
if (count>1){
|
||||
node.setAttribute('count', count-1);
|
||||
} else {
|
||||
memberListDiv.removeChild(node);
|
||||
}
|
||||
return;
|
||||
}
|
||||
node = node.nextSibling;
|
||||
@ -152,8 +155,21 @@ define("webodf/editor/MemberListView",
|
||||
*/
|
||||
function addMember(memberId) {
|
||||
var member = editorSession.getMember(memberId),
|
||||
properties = member.getProperties();
|
||||
createAvatarButton(memberId);
|
||||
properties = member.getProperties(),
|
||||
node = memberListDiv.firstChild,
|
||||
found = false;
|
||||
while (node) {
|
||||
if (node.getAttribute('uid') === properties.uid) {
|
||||
var count = parseInt(node.getAttribute('count'));
|
||||
node.setAttribute('count', count+1);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
node = node.nextSibling;
|
||||
}
|
||||
if (!found){
|
||||
createAvatarButton(memberId);
|
||||
}
|
||||
updateAvatarButton(memberId, properties);
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ class Op extends \OCA\Documents\Db {
|
||||
return $result->fetchAll();
|
||||
}
|
||||
|
||||
public function addMember($esId, $memberId, $fullName, $color, $imageUrl){
|
||||
public function addMember($esId, $memberId, $fullName, $userId, $color, $imageUrl){
|
||||
$op = array(
|
||||
'optype' => 'AddMember',
|
||||
'memberid' => (string) $memberId,
|
||||
@ -94,7 +94,8 @@ class Op extends \OCA\Documents\Db {
|
||||
'setProperties' => array(
|
||||
'fullName' => $fullName,
|
||||
'color' => $color,
|
||||
'imageUrl' => $imageUrl
|
||||
'imageUrl' => $imageUrl,
|
||||
'uid' => $userId,
|
||||
)
|
||||
);
|
||||
$this->insertOp($esId, $memberId, $op);
|
||||
|
@ -79,29 +79,31 @@ class Session extends \OCA\Documents\Db {
|
||||
$file->getToken()
|
||||
));
|
||||
|
||||
if ($member->insert()){
|
||||
// Do we have OC_Avatar in out disposal?
|
||||
if (!class_exists('\OC_Avatar') || \OC_Config::getValue('enable_avatars', true) !== true){
|
||||
$imageUrl = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==';
|
||||
} else {
|
||||
$imageUrl = $uid;
|
||||
}
|
||||
|
||||
$displayName = $file->isPublicShare() ? $uid . ' ' . \OCA\Documents\Db\Member::getGuestPostfix() : \OCP\User::getDisplayName($uid);
|
||||
|
||||
$sessionData['member_id'] = (string) $member->getLastInsertId();
|
||||
$op = new \OCA\Documents\Db\Op();
|
||||
$op->addMember(
|
||||
$sessionData['es_id'],
|
||||
$sessionData['member_id'],
|
||||
$displayName,
|
||||
$memberColor,
|
||||
$imageUrl
|
||||
);
|
||||
} else {
|
||||
if (!$member->insert()){
|
||||
throw new \Exception('Failed to add member into database');
|
||||
}
|
||||
|
||||
// Do we have OC_Avatar in out disposal?
|
||||
if (\OC_Config::getValue('enable_avatars', true) !== true){
|
||||
$imageUrl = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==';
|
||||
} else {
|
||||
$imageUrl = $uid;
|
||||
}
|
||||
|
||||
$displayName = $file->isPublicShare() ? $uid . ' ' . \OCA\Documents\Db\Member::getGuestPostfix() : \OCP\User::getDisplayName($uid);
|
||||
$userId = $file->isPublicShare() ? $displayName : \OCP\User::getUser();
|
||||
|
||||
$sessionData['member_id'] = (string) $member->getLastInsertId();
|
||||
$op = new \OCA\Documents\Db\Op();
|
||||
$op->addMember(
|
||||
$sessionData['es_id'],
|
||||
$sessionData['member_id'],
|
||||
$displayName,
|
||||
$userId,
|
||||
$memberColor,
|
||||
$imageUrl
|
||||
);
|
||||
|
||||
$sessionData['title'] = basename($path);
|
||||
$fileInfo = $ownerView->getFileInfo($path);
|
||||
$sessionData['permissions'] = $fileInfo->getPermissions();
|
||||
|
Loading…
x
Reference in New Issue
Block a user