Merge pull request #50591 from nextcloud/fix/files-sharing-file-drop-folder

[stable31] fix(files_sharing): Disable folder upload on file drop shares for now
This commit is contained in:
Ferdinand Thiessen 2025-05-17 13:00:22 +02:00 committed by GitHub
commit ff5bd5c82f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 34 additions and 22 deletions

View file

@ -24,7 +24,7 @@
<!-- Uploader -->
<UploadPicker v-if="canUpload && !isQuotaExceeded && currentFolder"
allow-folders
:allow-folders="canUploadFolders"
class="files-list__header-upload-button"
:content="getContent"
:destination="currentFolder"
@ -282,6 +282,14 @@ export default defineComponent({
},
computed: {
canUploadFolders() {
// TODO: Remove this small files_sharing hack when https://github.com/nextcloud/server/issues/15921 is implmented
if (this.currentView?.id === 'public-file-drop') {
return false
}
return true
},
/**
* Get a callback function for the uploader to fetch directory contents for conflict resolution
*/

View file

@ -25,8 +25,7 @@
:name="t('files_sharing', 'Terms of service')"
:message="disclaimer" />
</template>
<UploadPicker allow-folders
:content="() => []"
<UploadPicker :content="() => []"
no-menu
:destination="uploadDestination"
multiple />

View file

@ -70,7 +70,8 @@ describe('files_sharing: Public share - File drop', { testIsolation: true }, ()
.should('not.exist')
})
it('Can only see upload files and upload folders menu entries', () => {
// TODO: reenable folder upload with https://github.com/nextcloud/server/issues/15921
it.skip('Can only see upload files and upload folders menu entries', () => {
cy.contains(`Upload files to ${shareName}`)
.should('be.visible')
@ -87,6 +88,16 @@ describe('files_sharing: Public share - File drop', { testIsolation: true }, ()
.findAllByRole('menuitem')
.should('have.length', 2)
})
it('Can only see upload files', () => {
cy.contains(`Upload files to ${shareName}`)
.should('be.visible')
cy.findByRole('button', { name: 'New' })
.should('be.visible')
.click()
cy.findByRole('menu')
.should('not.exist')
})
it('Can only see dedicated upload button', () => {
cy.contains(`Upload files to ${shareName}`)
@ -95,15 +106,9 @@ describe('files_sharing: Public share - File drop', { testIsolation: true }, ()
cy.findByRole('button', { name: 'Upload' })
.should('be.visible')
.click()
// See upload actions
cy.findByRole('menuitem', { name: 'Upload files' })
.should('be.visible')
cy.findByRole('menuitem', { name: 'Upload folders' })
.should('be.visible')
// But no other
// But no menu
cy.findByRole('menu')
.findAllByRole('menuitem')
.should('have.length', 2)
.should('not.exist')
})
it('Can upload files', () => {

2
dist/201-201.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/201-201.js.map vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/201-201.js.map.license vendored Symbolic link
View file

@ -0,0 +1 @@
201-201.js.license

2
dist/9087-9087.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
9087-9087.js.license

4
dist/files-main.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long