mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add user status filter to admin user management page (#16770)
It makes Admin's life easier to filter users by various status. * introduce window.config.PageData to pass template data to javascript module and small refactor move legacy window.ActivityTopAuthors to window.config.PageData.ActivityTopAuthors make HTML structure more IDE-friendly in footer.tmpl and head.tmpl remove incorrect <style class="list-search-style"></style> in head.tmpl use log.Error instead of log.Critical in admin user search * use LEFT JOIN instead of SubQuery when admin filters users by 2fa. revert non-en locale. * use OptionalBool instead of status map * refactor SearchUserOptions.toConds to SearchUserOptions.toSearchQueryBase * add unit test for user search * only allow admin to use filters to search users
This commit is contained in:
		@@ -9,6 +9,7 @@ import (
 | 
			
		||||
	"crypto/rand"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"math/big"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -17,7 +18,7 @@ type OptionalBool byte
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	// OptionalBoolNone a "null" boolean value
 | 
			
		||||
	OptionalBoolNone = iota
 | 
			
		||||
	OptionalBoolNone OptionalBool = iota
 | 
			
		||||
	// OptionalBoolTrue a "true" boolean value
 | 
			
		||||
	OptionalBoolTrue
 | 
			
		||||
	// OptionalBoolFalse a "false" boolean value
 | 
			
		||||
@@ -47,6 +48,15 @@ func OptionalBoolOf(b bool) OptionalBool {
 | 
			
		||||
	return OptionalBoolFalse
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// OptionalBoolParse get the corresponding OptionalBool of a string using strconv.ParseBool
 | 
			
		||||
func OptionalBoolParse(s string) OptionalBool {
 | 
			
		||||
	b, e := strconv.ParseBool(s)
 | 
			
		||||
	if e != nil {
 | 
			
		||||
		return OptionalBoolNone
 | 
			
		||||
	}
 | 
			
		||||
	return OptionalBoolOf(b)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Max max of two ints
 | 
			
		||||
func Max(a, b int) int {
 | 
			
		||||
	if a < b {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user