diff --git a/services/web/app/coffee/Features/Project/ProjectController.coffee b/services/web/app/coffee/Features/Project/ProjectController.coffee index 722d0b73b4..359d0ddeb4 100644 --- a/services/web/app/coffee/Features/Project/ProjectController.coffee +++ b/services/web/app/coffee/Features/Project/ProjectController.coffee @@ -395,19 +395,27 @@ module.exports = ProjectController = return model _buildV1ProjectViewModel: (project) -> - { + projectViewModel = { id: project.id name: project.title lastUpdated: new Date(project.updated_at * 1000) # Convert from epoch - accessLevel: if project.owner?.user_is_owner then "owner" else "readOnly" archived: project.removed || project.archived - owner: { - # Unlisted V1 projects don't have an owner, so just show N/A - first_name: if project.owner then project.owner.name else 'N/A' - last_name: '' - } isV1Project: true } + if (project.owner? and project.owner.user_is_owner) or (project.creator? and project.creator.user_is_creator) + projectViewModel.accessLevel = "owner" + else + projectViewModel.accessLevel = "readOnly" + if project.owner? + projectViewModel.owner = { + first_name: project.owner.name + } + else if project.creator? + projectViewModel.owner = { + first_name: project.creator.name + } + return projectViewModel + _injectProjectOwners: (projects, callback = (error, projects) ->) -> users = {} diff --git a/services/web/app/views/project/list/v1-item.pug b/services/web/app/views/project/list/v1-item.pug index 31fd036f7a..68f7b2af63 100644 --- a/services/web/app/views/project/list/v1-item.pug +++ b/services/web/app/views/project/list/v1-item.pug @@ -1,20 +1,22 @@ .col-xs-6 - span.v1-badge( - aria-label=translate("v1_badge") - tooltip-template="'v1ProjectTooltipTemplate'" - tooltip-append-to-body="true" - ) + .select-item + span.v1-badge( + aria-label=translate("v1_badge") + tooltip-template="'v1ProjectTooltipTemplate'" + tooltip-append-to-body="true" + ) span if settings.overleaf && settings.overleaf.host + button.btn.btn-link.projectName( + ng-click="openV1ImportModal(project)" + stop-propagation="click" + ng-show="project.accessLevel == 'owner'" + ) {{project.name}} a.projectName( href=settings.overleaf.host + "/{{project.id}}" target="_blank" + ng-hide="project.accessLevel == 'owner'" ) {{project.name}} - //- To re-enable the import dialog (may need style changing for padding/line-height): - //- button.btn.btn-link.projectName( - //- ng-click="openV1ImportModal(project)" - //- stop-propagation="click" - //- ) {{project.name}} .col-xs-2 span.owner {{ownerName()}} diff --git a/services/web/public/coffee/main/project-list/project-list.coffee b/services/web/public/coffee/main/project-list/project-list.coffee index 75d4767ec0..5880129294 100644 --- a/services/web/public/coffee/main/project-list/project-list.coffee +++ b/services/web/public/coffee/main/project-list/project-list.coffee @@ -480,9 +480,9 @@ define [ if $scope.project.accessLevel == "owner" return "You" else if $scope.project.owner? - return "#{$scope.project.owner.first_name} #{$scope.project.owner.last_name}" + return [$scope.project.owner.first_name, $scope.project.owner.last_name].filter((n) -> n?).join(" ") else - return "?" + return "None" $scope.$watch "project.selected", (value) -> if value? diff --git a/services/web/public/stylesheets/app/project-list.less b/services/web/public/stylesheets/app/project-list.less index 3a5ea560db..fc6777dea8 100644 --- a/services/web/public/stylesheets/app/project-list.less +++ b/services/web/public/stylesheets/app/project-list.less @@ -336,6 +336,10 @@ ul.project-list { } .projectName { margin-right: @line-height-computed / 4; + padding: 0; + vertical-align: inherit; + white-space: normal; + text-align: left; } .tag-label { @@ -373,8 +377,7 @@ ul.project-list { } .v1-badge { - margin-right: 9px; - margin-left: 7px; + margin-left: -4px; } } i.tablesort {