3131			<div  class =" version__info" 
3232				<div  v-if =" versionLabel" 
3333					class =" version__info__label" 
34+ 					data-cy-files-version-label 
3435					:title =" versionLabel" 
3536					{{ versionLabel }}
3637				</div >
37- 				<div  v-if =" versionAuthor" class =" version__info" 
38+ 				<div  v-if =" versionAuthor" 
39+ 					class =" version__info" 
40+ 					data-cy-files-version-author-name >
3841					<span  v-if =" versionLabel" span >
3942					<NcAvatar  class =" avatar" 
4043						:user =" version.author" 
41- 						:size =" 16 " 
42- 						: disable-menu= " true " 
43- 						: disable-tooltip= " true " 
44+ 						:size =" 20 " 
45+ 						disable-menu 
46+ 						disable-tooltip 
4447						:show-user-status =" false" 
4548					<div >{{ versionAuthor }}</div >
4649				</div >
5356				<NcDateTime  class =" version__info__date" 
5457					relative-time =" short" 
5558					:timestamp =" version.mtime" 
56- 				<!--  Separate dot to improve alignement  --> 
59+ 				<!--  Separate dot to improve alignment  --> 
5760				<span >•</span >
5861				<span >{{ humanReadableSize }}</span >
5962			</div >
114117import  type  { PropType  } from  ' vue' 
115118import  type  { Version  } from  ' ../utils/versions' 
116119
120+ import  { getCurrentUser  } from  ' @nextcloud/auth' 
121+ import  { Permission , formatFileSize  } from  ' @nextcloud/files' 
122+ import  { loadState  } from  ' @nextcloud/initial-state' 
123+ import  { t  } from  ' @nextcloud/l10n' 
124+ import  { joinPaths  } from  ' @nextcloud/paths' 
125+ import  { getRootUrl , generateUrl  } from  ' @nextcloud/router' 
117126import  { defineComponent  } from  ' vue' 
118127
128+ import  axios  from  ' @nextcloud/axios' 
129+ import  moment  from  ' @nextcloud/moment' 
130+ import  logger  from  ' ../utils/logger' 
131+ 
119132import  BackupRestore  from  ' vue-material-design-icons/BackupRestore.vue' 
120133import  Delete  from  ' vue-material-design-icons/Delete.vue' 
121134import  Download  from  ' vue-material-design-icons/Download.vue' 
@@ -130,14 +143,6 @@ import NcDateTime from '@nextcloud/vue/dist/Components/NcDateTime.js'
130143import  NcListItem  from  ' @nextcloud/vue/dist/Components/NcListItem.js' 
131144import  Tooltip  from  ' @nextcloud/vue/dist/Directives/Tooltip.js' 
132145
133- import  moment  from  ' @nextcloud/moment' 
134- import  { getRootUrl , generateOcsUrl  } from  ' @nextcloud/router' 
135- import  { joinPaths  } from  ' @nextcloud/paths' 
136- import  { loadState  } from  ' @nextcloud/initial-state' 
137- import  { Permission , formatFileSize  } from  ' @nextcloud/files' 
138- import  { translate  as  t  } from  ' @nextcloud/l10n' 
139- import  axios  from  ' @nextcloud/axios' 
140- 
141146const =  (permissions :  number , permission :  number ):  boolean  =>  (permissions  &  permission ) !==  0 
142147
143148export  default  defineComponent ({
@@ -199,7 +204,7 @@ export default defineComponent({
199204			previewLoaded: false , 
200205			previewErrored: false , 
201206			capabilities: loadState (' core' ' capabilities' false , version_deletion: false  } }), 
202- 			versionAuthor: ' '  
207+ 			versionAuthor: ' '   as   string   |   null , 
203208		} 
204209	}, 
205210
@@ -295,21 +300,26 @@ export default defineComponent({
295300		}, 
296301
297302		async  fetchDisplayName() { 
298- 			//  check to make sure that we have a valid author - in case database did not migrate, null author, etc. 
299- 			if  (this .version .author ) { 
303+ 			this .versionAuthor  =  null  
304+ 			if  (! this .version .author ) { 
305+ 				return  
306+ 			} 
307+ 
308+ 			if  (this .version .author  ===  getCurrentUser ()?.uid ) { 
309+ 				this .versionAuthor  =  t (' files_versions' ' You'  
310+ 			} else  { 
300311				try  { 
301- 					const =  await  axios .get (generateOcsUrl (` /cloud/users/${this .version .author } ` )) 
302- 					this .versionAuthor  =  data .ocs .data .displayname  
303- 				} catch  (e ) { 
304- 					//  Promise got rejected - default to null author to not try to load author profile 
305- 					this .versionAuthor  =  null  
312+ 					const =  await  axios .post (generateUrl (' /displaynames' this .version .author ] }) 
313+ 					this .versionAuthor  =  data .users [this .version .author ] 
314+ 				} catch  (error ) { 
315+ 					logger .warn (' Could not load user display name' error  }) 
306316				} 
307317			} 
308318		}, 
309319
310320		click() { 
311321			if  (! this .canView ) { 
312- 				window .location  =  this .downloadURL  
322+ 				window .location . href  =  this .downloadURL  
313323				return  
314324			} 
315325			this .$emit (' click' this .version  }) 
0 commit comments