Fixed issue where metered billing mode still count in some cases members after team folder was deleted

This commit is contained in:
Čarodej
2022-08-08 12:44:00 +02:00
parent b029bfd39a
commit 88fa5732d3
5 changed files with 35 additions and 10 deletions

View File

@@ -1,6 +1,7 @@
## Version 2.2.4
#### Release date: 8. August 2022
- Account verification email is now sending in preferred app language
- Fixed issue where metered billing mode still count in some cases members after team folder was deleted
## Version 2.2.3
#### Release date: 6. August 2022

View File

@@ -79,5 +79,6 @@ return [
'2_2_1',
'2_2_2',
'2_2_3',
'2_2_4',
],
];

View File

@@ -68,7 +68,7 @@
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=43323d3af3fc99da",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=972917c59e64bea8",
"/chunks/trash.js": "/chunks/trash.js?id=b1b9e524584df8e2",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=4e9ccc15e31f837e",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=4016a01068316054",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=0ca840ede1053d54",
"/chunks/invitation.js": "/chunks/invitation.js?id=65fa8c36aa7940ea",
"/css/tailwind.css": "/css/tailwind.css",

View File

@@ -3,8 +3,8 @@
<MobileContextMenu>
<OptionGroup v-if="item">
<Option @click.native="$renameFileOrFolder(item)" :title="$t('rename')" icon="rename" />
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" :class="{'is-inactive': isTeamFolderHomepage}" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" :class="{'is-inactive': isTeamFolderHomepage}" />
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
</OptionGroup>
<OptionGroup v-if="item">
<Option
@@ -67,6 +67,7 @@
<MobileMultiSelectToolbar>
<ToolbarButton
v-if="! isTeamFolderHomepage"
@click.native="$moveFileOrFolder(clipboard)"
class="mr-4"
source="move"
@@ -74,6 +75,7 @@
:class="{ 'is-inactive': clipboard.length < 1 }"
/>
<ToolbarButton
v-if="! isTeamFolderHomepage"
@click.native="$deleteFileOrFolder()"
class="mr-4"
source="trash"
@@ -121,8 +123,8 @@
:title="$t('rename')"
icon="rename"
/>
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" :class="{'is-inactive': isTeamFolderHomepage}" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" :class="{'is-inactive': isTeamFolderHomepage}" />
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
</OptionGroup>
<OptionGroup>
<Option
@@ -168,8 +170,8 @@
/>
</OptionGroup>
<OptionGroup>
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" />
<Option @click.native="$moveFileOrFolder(item)" :title="$t('move')" icon="move-item" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
<Option @click.native="$deleteFileOrFolder(item)" :title="$t('delete')" icon="trash" :class="{'is-inactive': isTeamFolderHomepage || isTeamFolder}" />
</OptionGroup>
<OptionGroup>
<Option @click.native="$downloadSelection()" :title="$t('download')" icon="download" />
@@ -274,6 +276,9 @@ export default {
teamFolder() {
return this.currentTeamFolder ? this.currentTeamFolder : this.clipboard[0]
},
isTeamFolder() {
return this.teamFolder?.data.id === this.item.data.id
},
isTeamFolderHomepage() {
return this.$isThisRoute(this.$route, ['TeamFolders']) && !this.$route.params.id
},

View File

@@ -1,11 +1,11 @@
<?php
namespace Support\Upgrading\Controllers;
use DB;
use Artisan;
use Illuminate\Support\Facades\Artisan;
use Domain\Localization\Models\Language;
use Domain\Settings\Models\Setting;
use Storage;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use App\Users\Models\User;
use Illuminate\Support\Arr;
use Domain\Files\Models\File;
@@ -24,6 +24,24 @@ class UpgradingVersionsController
) {
}
public function upgrade_to_2_2_4(): void
{
// Delete members from team folders where team folder doesn't exist
collect(['team_folder_members', 'team_folder_invitations'])
->each(function ($table) {
DB::table($table)
->get()
->groupBy('parent_id')
->each(function ($item, $id) use ($table) {
if (! Folder::find($id)) {
DB::table($table)
->where('parent_id', $id)
->delete();
}
});
});
}
public function upgrade_to_2_2_3(): void
{
($this->upgradeDatabase)();