浏览代码

HUE-2575 [home] Fix sharing color and modal dialog for already shared documents

Fixed user load problem on share modal name rendering
Added colored icon also for write perms
Enrico Berti 10 年之前
父节点
当前提交
99756183b0

+ 2 - 2
desktop/core/src/desktop/templates/common_share.mako

@@ -29,7 +29,7 @@ from django.utils.translation import ugettext as _
         <h4 class="muted" style="margin-top:0px">${_('Read')}</h4>
         <div data-bind="visible: (selectedDoc().perms.read.users.length == 0 && selectedDoc().perms.read.groups.length == 0)">${_('The document is not shared for read.')}</div>
         <ul class="unstyled airy" data-bind="foreach: selectedDoc().perms.read.users">
-          <li><span class="badge badge-info badge-left"><i class="fa fa-user"></i> <span data-bind="text: prettifyUsername(id)"></span></span><span class="badge badge-right trash-share" data-bind="click: removeUserReadShare"> <i class="fa fa-times"></i></li>
+          <li><span class="badge badge-info badge-left"><i class="fa fa-user"></i> <span data-bind="text: prettifyUsername(id), css:{'notpretty': prettifyUsername(id) == ''}, attr:{'data-id': id}"></span></span><span class="badge badge-right trash-share" data-bind="click: removeUserReadShare"> <i class="fa fa-times"></i></li>
         </ul>
         <ul class="unstyled airy" data-bind="foreach: selectedDoc().perms.read.groups">
           <li><span class="badge badge-info badge-left"><i class="fa fa-users"></i> ${ _('Group') } &quot;<span data-bind="text: name"></span>&quot;</span><span class="badge badge-right trash-share" data-bind="click: removeGroupReadShare"> <i class="fa fa-times"></i></li>
@@ -40,7 +40,7 @@ from django.utils.translation import ugettext as _
         <h4 class="muted" style="margin-top:0px">${_('Read and Modify')}</h4>
         <div data-bind="visible: (selectedDoc().perms.write.users.length == 0 && selectedDoc().perms.write.groups.length == 0)">${_('The document is not shared for read and modify.')}</div>
         <ul class="unstyled airy" data-bind="foreach: selectedDoc().perms.write.users">
-          <li><span class="badge badge-info badge-left"><i class="fa fa-user"></i> <span data-bind="text: prettifyUsername(id)"></span></span><span class="badge badge-right trash-share" data-bind="click: removeUserWriteShare"> <i class="fa fa-times"></i></li>
+          <li><span class="badge badge-info badge-left"><i class="fa fa-user"></i> <span data-bind="text: prettifyUsername(id), css:{'notpretty': prettifyUsername(id) == ''}, attr:{'data-id': id}"></span></span><span class="badge badge-right trash-share" data-bind="click: removeUserWriteShare"> <i class="fa fa-times"></i></li>
         </ul>
         <ul class="unstyled airy" data-bind="foreach: selectedDoc().perms.write.groups">
           <li><span class="badge badge-info badge-left"><i class="fa fa-users"></i> ${ _('Group') } &quot;<span data-bind="text: name"></span>&quot;</span><span class="badge badge-right trash-share" data-bind="click: removeGroupWriteShare"> <i class="fa fa-times"></i></li>

+ 1 - 1
desktop/core/src/desktop/templates/home.mako

@@ -276,7 +276,7 @@ ${ commonheader(_('Welcome Home'), "home", user) | n,unicode }
       </a>
     </td>
     <td style="width: 40px; text-align: center">
-      <a class="share-link" rel="tooltip" data-placement="left" style="padding-left:10px; padding-right: 10px" data-bind="click: shareDoc, attr: {'data-original-title': '${ _("Share") } '+name}, visible: isMine , css: {'baseShared': true, 'isShared': perms.read.users.length + perms.read.groups.length > 0}">
+      <a class="share-link" rel="tooltip" data-placement="left" style="padding-left:10px; padding-right: 10px" data-bind="click: shareDoc, attr: {'data-original-title': '${ _("Share") } '+name}, visible: isMine , css: {'baseShared': true, 'isShared': perms.read.users.length + perms.read.groups.length + perms.write.users.length + perms.write.groups.length > 0}">
         <i class="fa fa-users"></i>
       </a>
       <i class="fa fa-ban" style="padding-left:8px; padding-right: 8px" data-bind="visible: !isMine"></i>

+ 11 - 6
desktop/core/static/js/share.vm.js

@@ -46,6 +46,9 @@ function openShareModal() {
     $("#documentShareAddBtn").removeClass("disabled");
     $("#documentShareCaret").removeClass("disabled");
     $("#documentShareTypeahead").removeAttr("disabled");
+    $(".notpretty").each(function(){
+      $(this).text(prettifyUsername($(this).attr("data-id")));
+    });
   });
 }
 
@@ -57,13 +60,15 @@ function isShared() {
 
 function prettifyUsername(userId) {
   var _user = null;
-  for (var i = 0; i < JSON_USERS_GROUPS.users.length; i++) {
-    if (JSON_USERS_GROUPS.users[i].id == userId) {
-      _user = JSON_USERS_GROUPS.users[i];
+  if (self.hasSetupBeenCalled) {
+    for (var i = 0; i < JSON_USERS_GROUPS.users.length; i++) {
+      if (JSON_USERS_GROUPS.users[i].id == userId) {
+        _user = JSON_USERS_GROUPS.users[i];
+      }
+    }
+    if (_user != null) {
+      return (_user.first_name != "" ? _user.first_name + " " : "") + (_user.last_name != "" ? _user.last_name + " " : "") + ((_user.first_name != "" || _user.last_name != "") ? "(" : "") + _user.username + ((_user.first_name != "" || _user.last_name != "") ? ")" : "");
     }
-  }
-  if (_user != null) {
-    return (_user.first_name != "" ? _user.first_name + " " : "") + (_user.last_name != "" ? _user.last_name + " " : "") + ((_user.first_name != "" || _user.last_name != "") ? "(" : "") + _user.username + ((_user.first_name != "" || _user.last_name != "") ? ")" : "");
   }
   return "";
 }