Merge pull request #1679 from gradido/mass_creation_do_not_show_unactivated

Refactor: Multicreation - do not show unactivated emails
This commit is contained in:
Ulf Gebhardt 2022-03-29 20:39:30 +02:00 committed by GitHub
commit 902d45e8d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 24 deletions

View File

@ -71,6 +71,8 @@ describe('Creation', () => {
searchText: '', searchText: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
isDeleted: false,
notActivated: false,
}, },
}), }),
) )
@ -269,6 +271,8 @@ describe('Creation', () => {
searchText: 'XX', searchText: 'XX',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
isDeleted: false,
notActivated: false,
}, },
}), }),
) )
@ -284,6 +288,8 @@ describe('Creation', () => {
searchText: '', searchText: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
isDeleted: false,
notActivated: false,
}, },
}), }),
) )
@ -299,6 +305,8 @@ describe('Creation', () => {
searchText: '', searchText: '',
currentPage: 2, currentPage: 2,
pageSize: 25, pageSize: 25,
isDeleted: false,
notActivated: false,
}, },
}), }),
) )

View File

@ -102,6 +102,8 @@ export default {
searchText: this.criteria, searchText: this.criteria,
currentPage: this.currentPage, currentPage: this.currentPage,
pageSize: this.perPage, pageSize: this.perPage,
notActivated: false,
isDeleted: false,
}, },
fetchPolicy: 'network-only', fetchPolicy: 'network-only',
}) })

View File

@ -82,8 +82,8 @@ describe('UserSearch', () => {
searchText: '', searchText: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
notActivated: false, notActivated: null,
isDeleted: false, isDeleted: null,
}, },
}), }),
) )
@ -102,7 +102,7 @@ describe('UserSearch', () => {
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
notActivated: true, notActivated: true,
isDeleted: false, isDeleted: null,
}, },
}), }),
) )
@ -121,7 +121,7 @@ describe('UserSearch', () => {
searchText: '', searchText: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
notActivated: false, notActivated: null,
isDeleted: true, isDeleted: true,
}, },
}), }),
@ -141,8 +141,8 @@ describe('UserSearch', () => {
searchText: '', searchText: '',
currentPage: 2, currentPage: 2,
pageSize: 25, pageSize: 25,
notActivated: false, notActivated: null,
isDeleted: false, isDeleted: null,
}, },
}), }),
) )
@ -161,8 +161,8 @@ describe('UserSearch', () => {
searchText: 'search string', searchText: 'search string',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
notActivated: false, notActivated: null,
isDeleted: false, isDeleted: null,
}, },
}), }),
) )
@ -178,8 +178,8 @@ describe('UserSearch', () => {
searchText: '', searchText: '',
currentPage: 1, currentPage: 1,
pageSize: 25, pageSize: 25,
notActivated: false, notActivated: null,
isDeleted: false, isDeleted: null,
}, },
}), }),
) )

View File

@ -3,11 +3,11 @@
<div class="user-search-first-div"> <div class="user-search-first-div">
<b-button class="unconfirmedRegisterMails" variant="light" @click="unconfirmedRegisterMails"> <b-button class="unconfirmedRegisterMails" variant="light" @click="unconfirmedRegisterMails">
<b-icon icon="envelope" variant="danger"></b-icon> <b-icon icon="envelope" variant="danger"></b-icon>
{{ filterCheckedEmails ? $t('all_emails') : $t('unregistered_emails') }} {{ filterCheckedEmails ? $t('unregistered_emails') : $t('all_emails') }}
</b-button> </b-button>
<b-button class="deletedUserSearch" variant="light" @click="deletedUserSearch"> <b-button class="deletedUserSearch" variant="light" @click="deletedUserSearch">
<b-icon icon="x-circle" variant="danger"></b-icon> <b-icon icon="x-circle" variant="danger"></b-icon>
{{ filterDeletedUser ? $t('all_emails') : $t('deleted_user') }} {{ filterDeletedUser ? $t('deleted_user') : $t('all_emails') }}
</b-button> </b-button>
</div> </div>
<label>{{ $t('user_search') }}</label> <label>{{ $t('user_search') }}</label>
@ -60,8 +60,8 @@ export default {
searchResult: [], searchResult: [],
massCreation: [], massCreation: [],
criteria: '', criteria: '',
filterCheckedEmails: false, filterCheckedEmails: null,
filterDeletedUser: false, filterDeletedUser: null,
rows: 0, rows: 0,
currentPage: 1, currentPage: 1,
perPage: 25, perPage: 25,
@ -70,11 +70,11 @@ export default {
}, },
methods: { methods: {
unconfirmedRegisterMails() { unconfirmedRegisterMails() {
this.filterCheckedEmails = !this.filterCheckedEmails this.filterCheckedEmails = this.filterCheckedEmails ? null : true
this.getUsers() this.getUsers()
}, },
deletedUserSearch() { deletedUserSearch() {
this.filterDeletedUser = !this.filterDeletedUser this.filterDeletedUser = this.filterDeletedUser ? null : true
this.getUsers() this.getUsers()
}, },
getUsers() { getUsers() {

View File

@ -12,8 +12,8 @@ export default class SearchUsersArgs {
pageSize?: number pageSize?: number
@Field(() => Boolean, { nullable: true }) @Field(() => Boolean, { nullable: true })
notActivated?: boolean notActivated?: boolean | null
@Field(() => Boolean, { nullable: true }) @Field(() => Boolean, { nullable: true })
isDeleted?: boolean isDeleted?: boolean | null
} }

View File

@ -58,19 +58,19 @@ export class AdminResolver {
searchText, searchText,
currentPage = 1, currentPage = 1,
pageSize = 25, pageSize = 25,
notActivated = false, notActivated = null,
isDeleted = false, isDeleted = null,
}: SearchUsersArgs, }: SearchUsersArgs,
): Promise<SearchUsersResult> { ): Promise<SearchUsersResult> {
const userRepository = getCustomRepository(UserRepository) const userRepository = getCustomRepository(UserRepository)
const filterCriteria: ObjectLiteral[] = [] const filterCriteria: ObjectLiteral[] = []
if (notActivated) { if (notActivated !== null) {
filterCriteria.push({ emailChecked: false }) filterCriteria.push({ emailChecked: !notActivated })
} }
if (isDeleted) { if (isDeleted !== null) {
filterCriteria.push({ deletedAt: Not(IsNull()) }) filterCriteria.push({ deletedAt: isDeleted ? Not(IsNull()) : IsNull() })
} }
const userFields = ['id', 'firstName', 'lastName', 'email', 'emailChecked', 'deletedAt'] const userFields = ['id', 'firstName', 'lastName', 'email', 'emailChecked', 'deletedAt']