mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-14 01:35:55 +09:00
new admin user list UI
This commit is contained in:
1 parent
247017d9ff
commit
be89802bd8
7 files changed
+100
-75
No files matched your search
@@ -18,6 +18,10 @@ EXPLORE_PAGING_NUM = 20
|
||||
; Number of issues that are showed in one page
|
||||
ISSUE_PAGING_NUM = 10
|
||||
|
||||
[ui.admin]
|
||||
; Numer of users that are showed in one page
|
||||
USER_PAGING_NUM = 50
|
||||
|
||||
[markdown]
|
||||
; Enable hard line break extension
|
||||
ENABLE_HARD_LINE_BREAK = false
|
||||
|
||||
@@ -716,8 +716,8 @@ authentication = Authentications
|
||||
config = Configuration
|
||||
notices = System Notices
|
||||
monitor = Monitoring
|
||||
prev = Prev.
|
||||
next = Next
|
||||
first_page = First
|
||||
last_page = Last
|
||||
total = Total: %d
|
||||
|
||||
dashboard.statistic = Statistic
|
||||
|
||||
+4
-5
@@ -432,11 +432,10 @@ func CountUsers() int64 {
|
||||
return countUsers(x)
|
||||
}
|
||||
|
||||
// GetUsers returns given number of user objects with offset.
|
||||
func GetUsers(num, offset int) ([]*User, error) {
|
||||
users := make([]*User, 0, num)
|
||||
err := x.Limit(num, offset).Where("type=0").Asc("id").Find(&users)
|
||||
return users, err
|
||||
// Users returns number of users in given page.
|
||||
func Users(page, pageSize int) ([]*User, error) {
|
||||
users := make([]*User, 0, pageSize)
|
||||
return users, x.Limit(pageSize, (page-1)*pageSize).Where("type=0").Asc("id").Find(&users)
|
||||
}
|
||||
|
||||
// get user by erify code
|
||||
|
||||
@@ -284,7 +284,7 @@ func (fi bindataFileInfo) Sys() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x5a\x5b\x6f\xe3\x48\x76\x7e\xe7\xaf\xa8\xf6\x64\x32\xdd\x81\x24\xdf\xa6\x2f\xe3\x19\x27\x2d\x4b\x94\xcd\xb5\x6e\x43\x4a\xed\xe9\x69\x18\x34\x4d\x96\x24\xb6\x29\x52\xcd\x22\xed\xd6\x20\x0f\x3b\xc8\x43\x80\x3c\x26\x8b\xe4\x25\x08\x92\x87\x20\xc0\xe6\x82\x2c\xf2\xb2\xbb\x41\x9e\x06\x79\xef\xfe\x0f\x83\xd9\xcd\xbf\xc8\x77\x4e\x91\x12\xe5\xf6\xf4\xce\x6e\xb2\xe8\x86\x45\xd5\xe5\x54\xd5\x57\xa7\xbe\xf3\x9d\xa2\x3e\x10\x7d\xf3\x99\x69\x0b\xfe\xd3\x1b\xb4\xad\xce\x73\x31\x3a\xb1\x1c\xd1\xb1\xba\xa6\xf1\x81\x18\x76\xcd\xa6\x63\x8a\x5e\xf3\xd4\x14\xad\x93\x66\xff\xd8\x74\xc4\xa0\x2f\x5a\x03\xdb\x36\x9d\xe1\xa0\xdf\xb6\xfa\xc7\xa2\x35\x76\x46\x83\x1e\x0a\xfb\x1d\xeb\x58\xf7\x34\x3e\x15\xcd\xc5\x42\xc4\xde\x5c\x8a\x6c\xe6\x65\x42\xcd\x92\x1b\x25\x92\x58\xc8\x6b\x99\x2e\xc5\xc2\x9b\xa2\x22\xcc\x22\x69\x34\x87\x43\xb7\xdf\xec\x99\xe2\x50\x1c\x27\x53\x75\x80\xbf\xe2\x38\xcc\x84\x23\xd3\xeb\xd0\x97\xb0\xd4\x9a\x79\x31\x9a\xa3\x2c\x9c\x88\x65\x92\x8b\x34\x8f\x45\x94\xf8\x5e\x14\x2d\x0d\x7b\xdc\x77\xc7\x0e\x66\x7f\x28\xa6\x61\x86\xd6\x66\x98\xcd\x64\x2a\xb6\x02\x79\xbd\x55\x13\x5b\x8b\x34\x09\xb6\x44\x82\x82\x4c\xaa\x0c\x25\x81\x9c\x78\x79\x04\x5b\x4a\xb7\x61\x0b\x58\x3a\x4d\x00\xdf\x0d\xe3\x45\x2a\x17\x89\x0a\xb3\x24\x5d\x9e\x1b\xf6\x60\x30\x12\x87\x86\xd3\xb2\xad\xe1\xc8\x1d\x3d\x1f\x52\xb3\x4b\x4f\xcd\xd0\x2e\x0f\xcf\x31\x5e\x3f\x9f\x5f\x62\xbc\x64\x22\x56\xfd\x42\xa9\xf4\xaa\xbd\x54\xf2\xca\x65\x20\xc2\x18\xab\x97\x42\xbe\x5e\x44\x09\x4a\x09\x00\xc3\xfc\x62\xd8\x1d\xd8\xa6\x3b\x6c\x1e\x03\x47\xb7\x3f\xee\xc1\xf8\xde\xce\x86\xd1\x50\xa9\xfc\xfb\xcd\xb1\x19\xcb\x71\xc6\xb7\x8c\xec\xee\x60\x7e\x73\x2f\xbd\x0a\x92\x9b\x98\x66\x69\xc6\xde\x65\x24\xc5\xcc\x4b\x03\x11\x85\xe8\x79\x99\x4a\xef\x0a\xd3\xc9\x64\xac\xc2\x24\x36\xcc\x7e\xf3\xa8\x6b\xba\x27\x4d\xbb\xed\x76\xad\xbe\xe9\x1e\xd9\x66\xf3\x14\xa6\x26\x5e\xa4\x24\xac\x29\xec\x87\x4c\xcf\x8d\xa1\x3d\x18\x0d\x5a\x83\x2e\xaa\x66\x59\xb6\x30\xda\x83\x5e\xd3\xea\xe3\x1b\xef\xc8\x2c\x51\x19\x83\xe6\x8e\x6d\x6a\xf2\xe1\xfd\xb2\xfd\x03\x75\xb0\xbd\xfd\xe1\x7d\xdd\x1c\x5f\x3e\xbc\x7f\x32\x1a\x0d\xdd\xe1\xc0\x1e\x3d\x50\xdb\x06\x7f\x69\xb6\xdb\xd8\x48\x63\x55\x01\x03\xfb\x3b\x3b\x04\x48\x3b\x54\xbc\x00\xc7\x39\x11\x13\xe9\x65\x39\xa0\xb8\x99\xc9\x58\xc4\x09\x70\xb9\xf6\xc2\x88\xaa\x8d\xb6\xe5\xf0\x32\xa8\x59\x39\x75\x3c\x97\xc6\xf6\xf6\x2a\xa6\x5a\xed\x3e\x79\x63\x4c\x58\x16\x6e\x32\x4f\x02\x69\x0c\x3a\x1d\x06\xa0\xf0\x09\x6d\xa4\x34\x6c\x0f\xc6\x23\xd3\x76\xbb\x83\xe3\x55\xd5\xa7\xe2\x58\xc6\x32\xf5\x32\x6c\x4e\x26\x17\xea\x00\x25\x7f\x20\xfc\x00\x9b\x93\xcd\xb6\xb3\x64\x7b\x0a\xb7\xde\xf6\x73\x95\x25\xf3\x6d\x82\x4c\x71\x83\x06\x97\x0b\x5f\xa6\x99\xa8\xfb\xde\x61\x96\xe6\x52\xd4\x83\x1c\x86\xb0\x1f\x87\x4f\x1e\x3f\xda\x99\xed\xcc\x77\x94\xa8\x13\xa6\x87\xf3\x25\x7d\x34\xe4\x6b\x6f\xbe\x88\x64\xc3\x4f\xe6\xc6\xa7\xb0\x33\x48\xc5\x24\x4d\xe6\xc2\x13\x8d\xc5\xe4\xb5\x98\x84\x11\xfb\x58\x92\x66\x70\x12\xae\xc1\x69\x10\x67\x61\x1c\xd0\xf9\xa3\xc1\xc2\x49\xe8\xeb\xb9\x92\x1f\xde\x0f\x12\x58\x21\x10\x27\x49\x3a\x95\x99\xc8\x92\xa2\x3f\x77\x5c\xa4\xe1\x35\x35\xbe\x92\xcb\x07\x7a\x5d\xc9\x02\x0e\xa3\x22\xb1\xb8\xf2\xd5\xee\x9e\xa8\x03\x3c\xb2\xca\xa3\xd7\x93\x3c\x2b\xbe\xc9\xb9\xa8\xc7\x09\xba\xa9\x1f\xd6\x0b\x2d\xcb\x4e\x54\xa1\xe8\x21\x90\xca\x68\x99\xf6\xc8\x25\x4a\x01\xdc\x55\x08\xb7\xcb\x61\x8c\x53\xf3\xf9\x9d\x0d\x0a\x8b\x18\x7e\xbc\x58\xe0\x2c\x45\xd8\xeb\x88\x4e\x54\x26\x81\x20\x2d\xca\x8b\x03\xa0\x00\xb8\x7d\x8d\x1b\xed\x17\x9a\x57\x08\x82\x21\x40\x29\xb9\x1a\xc0\x22\x7e\xa2\x62\xf9\x5a\xfa\x39\x00\x36\x9c\x51\x73\x64\xb5\x5c\xf6\xf7\x61\x73\x04\x9f\xd3\xc4\x17\x11\xc4\xd8\xc5\x62\xd0\xe3\x2f\xad\xa1\x50\xf9\x82\x60\x2d\x0f\x1a\x97\xad\x5d\xa8\x8b\xc9\x84\xf1\x54\x13\x23\xb6\x02\x5b\x12\xd7\xa3\x64\x3a\xc5\x36\xe6\x38\x7a\xaa\x26\x7c\x2f\x16\x97\x52\x6c\xcd\x92\xb9\xd4\x8c\x56\x90\xc9\x96\xd1\x6d\x32\x13\x13\x07\x10\x0e\xd4\x02\x27\x36\xf0\x32\x0f\x54\x25\xcf\x2b\xac\x38\x5f\xaa\x57\x11\xf3\x22\xbc\x69\x9a\x4a\xa5\x2d\xa1\x30\xcc\xe4\x3e\x2a\xc2\xec\x23\x45\x24\x9b\x0a\x7f\x96\x10\xff\xb6\x8f\x4a\xda\xe3\xbe\xc6\xc9\xc0\xa1\xa3\xb4\xbb\xf7\xb8\xb1\x83\x7f\xbb\x07\xfb\xfb\x3b\x8f\x8c\x82\xc1\xc9\xa5\x8d\x82\x8e\xd3\x24\xc9\x8c\x61\xd3\x71\xce\xda\x8c\x4b\x87\x06\xaa\x0c\x1b\x47\xcb\x9a\x90\x25\x5b\xeb\x43\x49\x33\x4b\xe5\xab\x3c\x4c\x8b\x25\x82\x72\xc2\xc9\xb2\x3e\xc9\xa3\x68\x0b\x27\xb9\xbb\x62\x6a\xdd\xbe\x34\x5b\xce\x9f\xad\x1a\x7a\x2b\x04\xad\x9f\x0f\x59\x23\xb8\x04\x1c\x5e\x30\x0f\xc1\x85\xc4\x64\x7e\x9e\x86\x19\xd8\xdd\xea\x63\x07\xbb\x5d\x1c\xe7\xd6\x69\x65\x33\xee\xdd\xd3\xb1\x4e\x87\xc2\xd1\x40\x9c\x9a\xe6\x50\x3c\x1f\x8c\x6d\xc1\x6b\x6b\x37\x47\x4d\xe1\x34\x3b\xe6\xbd\x7b\x86\x63\xb6\x6c\x73\xe4\xc2\x0b\x61\xe0\xde\x07\x4f\x3b\x6d\xf3\xcc\xc6\xff\x3f\xfc\xa3\xfb\xe4\x0b\x79\x96\xd0\x36\xc2\xdf\x53\x39\x97\x4c\xea\x81\x87\x43\x01\x02\xb1\xfa\xae\x6d\xf6\xcc\xde\x11\xf8\xa4\xdd\x7c\xee\xa0\xff\x63\xa3\x35\x18\x9c\x5a\x26\x47\xb4\x0a\xa4\xae\x77\x23\x15\x6d\x6a\x51\xbd\xea\x57\x6d\x13\xc6\x7e\x2a\x83\x50\Line truncated
|
||||
var _confAppIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x5a\x5b\x8f\xe3\x46\x76\x7e\xe7\xaf\x28\xb7\xe3\x78\x1c\x48\xea\x9b\xe7\xe2\xb6\x3b\xb1\x5a\xa2\xba\xb9\xa3\x96\x64\x52\x9a\xf1\x78\x30\xe0\xb0\xc9\x92\x44\x37\x45\x6a\x58\x64\xf7\xc8\xc8\xc3\x1a\x79\x08\x90\xc7\x64\x91\xbc\x04\x41\xf2\x10\x04\xd8\x5c\x90\x45\x5e\x76\x37\xc8\x93\x91\xf7\x99\xff\x60\x78\x37\xff\x22\xdf\x39\x55\x94\xa8\x9e\xf6\xac\x77\x93\xc5\x0c\x5a\x54\x5d\x4e\xd5\xf9\xea\x5c\xbe\x53\xd4\xbb\x62\x60\x3f\xb2\x5d\xc1\x7f\xce\x87\x5d\xa7\xf7\x44\x8c\xcf\x1c\x4f\xf4\x9c\xbe\x6d\xbd\x2b\x46\x7d\xbb\xed\xd9\xe2\xbc\xfd\xd0\x16\x9d\xb3\xf6\xe0\xd4\xf6\xc4\x70\x20\x3a\x43\xd7\xb5\xbd\xd1\x70\xd0\x75\x06\xa7\xa2\x33\xf1\xc6\xc3\x73\x34\x0e\x7a\xce\xa9\x9e\x69\x7d\x2c\xda\xcb\xa5\x48\x83\x85\x14\xc5\x3c\x28\x84\x9a\x67\xd7\x4a\x64\xa9\x90\x57\x32\x5f\x89\x65\x30\x43\x47\x5c\x24\xd2\x6a\x8f\x46\xfe\xa0\x7d\x6e\x8b\x63\x71\x9a\xcd\xd4\x11\xfe\x8a\xd3\xb8\x10\x9e\xcc\xaf\xe2\x50\x42\x52\x67\x1e\xa4\x18\x8e\xb6\x78\x2a\x56\x59\x29\xf2\x32\x15\x49\x16\x06\x49\xb2\xb2\xdc\xc9\xc0\x9f\x78\xd8\xfd\xb1\x98\xc5\x05\x46\xdb\x71\x31\x97\xb9\xd8\x89\xe4\xd5\x4e\x43\xec\x2c\xf3\x2c\xda\x11\x19\x1a\x0a\xa9\x0a\xb4\x44\x72\x1a\x94\x09\x64\x29\x3d\x86\x25\x40\x75\xda\x00\xbe\x5b\xd6\xd3\x5c\x2e\x33\x15\x17\x59\xbe\x7a\x66\xb9\xc3\xe1\x58\x1c\x5b\x5e\xc7\x75\x46\x63\x7f\xfc\x64\x44\xc3\x2e\x02\x35\xc7\xb8\x32\x7e\x86\xf5\x06\xe5\xe2\x02\xeb\x65\x53\xb1\x9e\x17\x4b\xa5\xb5\x0e\x72\xc9\x9a\xcb\x48\xc4\x29\xb4\x97\x42\xbe\x5c\x26\x19\x5a\x09\x00\xcb\xfe\x7c\xd4\x1f\xba\xb6\x3f\x6a\x9f\x02\x47\x7f\x30\x39\x87\xf0\x83\xbd\x2d\xa1\xb1\x52\xe5\xf7\x8b\x63\x31\x8e\xe7\x4d\x6e\x08\xd9\xdf\xe3\xfd\xb5\x82\x68\x11\xa7\x66\x97\x5a\x5e\xa9\x64\xfe\x76\x71\x84\xe6\xb6\xb4\xbb\x24\x6d\x11\xe4\x97\x51\x76\xcd\xd2\xec\x34\xb8\x48\xa4\x98\x07\x79\x24\x92\x18\x13\x2f\x72\x19\x5c\x42\xb9\x42\xa6\x2a\xce\x52\xcb\x1e\xb4\x4f\xfa\xb6\x7f\xd6\x76\xbb\x7e\xdf\x19\xd8\xfe\x89\x6b\xb7\x1f\x42\xd4\x34\x48\x94\x84\x34\xec\x02\x86\xf0\xcc\x1a\xb9\xc3\xf1\xb0\x33\xec\xa3\x6b\x5e\x14\x4b\xab\x3b\x3c\x6f\x3b\x03\x7c\xe3\xf3\x9d\x67\xaa\xe0\x23\xf0\x27\x2e\x0d\x79\xef\x4e\x35\xfe\x03\x75\xb4\xbb\xfb\xde\x1d\x3d\x1c\x5f\xde\xbb\x73\x36\x1e\x8f\xfc\xd1\xd0\x1d\x7f\xa0\x76\x2d\xfe\xd2\xee\x76\x61\x16\xd6\xba\x03\x02\x0e\xf7\xf6\x08\xde\x6e\xac\x58\x01\xcf\x3b\x13\x53\x19\x14\x25\x90\xb8\x9e\xcb\x54\xa4\x19\x60\xb9\x0a\xe2\x84\xba\xad\xae\xe3\xb1\x1a\x34\xac\xda\x3a\x9e\x2b\x61\x07\x07\x35\x51\x9d\xee\x80\x6c\x3b\x25\x28\x8d\xd1\x2d\xb2\x48\x5a\xc3\x5e\x8f\x01\x30\x16\xa6\x85\x54\x82\xdd\xe1\x64\x0c\xb0\xfb\xc3\xd3\x75\xd7\xc7\xe2\x54\xa6\x32\x0f\x0a\x9c\x4d\x21\x97\xea\x08\x2d\x7f\x20\xc2\x08\x67\x53\xcc\x77\x8b\x6c\x77\x06\x27\xd9\x0d\x4b\x55\x64\x8b\x5d\x82\x4c\xf1\x80\x16\xb7\x8b\x50\xe6\x85\x68\x86\xc1\x71\x91\x97\x52\x34\xa3\x12\x82\x70\x1e\xc7\x0f\xee\xdf\xdb\x9b\xef\x2d\xf6\x94\x68\x12\xa6\xc7\x8b\x15\x7d\xb4\xe4\xcb\x60\xb1\x4c\x64\x2b\xcc\x16\xd6\xc7\x90\x33\xcc\xc5\x34\xcf\x16\x22\x10\xad\xe5\xf4\xa5\x98\xc6\x09\x5b\x6c\x96\x17\xb0\x11\xee\x81\x6f\x89\xc7\x71\x1a\x91\x37\xd3\x62\xf1\x34\x0e\xf5\x5e\xc9\xaa\xef\x44\x19\xa4\x10\x88\xd3\x2c\x9f\xc9\x42\x14\x99\x99\xcf\x13\x97\x79\x7c\x45\x83\x2f\xe5\xea\x03\xad\x57\xb6\x84\xc1\xa8\x44\x2c\x2f\x43\xb5\x7f\x20\x9a\x00\x8f\xa4\xf2\xea\xcd\xac\x2c\xcc\x37\xb9\x10\xcd\x34\xc3\x34\xf5\xc3\x66\x61\x64\x35\x89\x3a\x14\x3d\x44\x52\x59\x1d\xdb\x1d\xfb\x14\xa0\x00\x77\x1d\xc2\xdd\x6a\x19\xeb\xa1\xfd\xe4\xd6\x01\x46\x22\x96\x9f\x2c\x97\xf0\xa4\x04\x67\x9d\x90\x3f\x15\x12\x08\x92\x52\x41\x1a\x01\x05\xc0\x1d\x6a\xdc\xe8\xbc\x30\xbc\x16\x6e\x18\x02\xb4\x92\xa9\x01\x2c\x8a\x76\xd4\x2c\x5f\xca\xb0\x04\xc0\x96\x37\x6e\x8f\x9d\x8e\xcf\xf6\x3e\x6a\x8f\x61\x73\x3a\x8c\x26\x04\x31\x4e\xd1\x2c\x7a\xfa\x85\x33\x12\xaa\x5c\x12\xac\x95\xa3\x71\xdb\xc6\x84\xfa\xd8\x4c\x9c\xce\x74\x98\xc5\x51\xe0\x48\xd2\x66\x92\xcd\x66\x38\x46\x0e\x00\x0d\x11\x06\xa9\xb8\x90\x62\x67\x9e\x2d\xa4\x8e\x8f\x26\x34\xed\x58\xfd\x36\xc7\x75\x8a\x01\x84\x03\x8d\x80\xc7\x46\x41\x11\x20\xf0\xc9\x67\xb5\x18\xbb\x58\xa9\x17\x09\x47\x59\x58\xd3\x2c\x97\x4a\x4b\x42\x63\x5c\xc8\x43\x74\xc4\xc5\xfb\x8a\x42\x76\x2e\xc2\x79\x46\xd1\xbc\x7b\x52\x05\x51\x9e\x6b\x9d\x0d\x3d\x72\xa5\xfd\x83\xfb\xad\x3d\xfc\xdb\x3f\x3a\x3c\xdc\xbb\x67\x99\x7c\x40\x26\x6d\x99\xe0\x9e\x67\x59\x61\x8d\xda\x9e\xf7\xb8\xcb\xb8\xf4\x68\xa1\xda\xb2\x69\xb2\x6a\x08\x59\xc5\x7e\xed\x94\xb4\xb3\x5c\xbe\x28\xe3\xdc\xa8\x88\x90\x13\x4f\x57\xcd\x69\x99\x24\x3b\xf0\xe4\xfe\x3a\xee\xeb\xf1\x95\xd8\x6a\xff\x2c\xd5\xd2\x47\x21\x48\x7f\x76\xb2\x56\x74\x01\x38\x4c\x64\xa5\x48\x16\x96\x79\x5c\x20\x57\x38\x03\x9c\x60\xbf\x0f\x77\xee\x3c\xac\x1d\xc6\x3b\xef\xe8\xcc\xa9\x13\xeb\x78\x28\x1e\xda\xf6\x48\x3c\x19\x4e\x5c\xc1\xba\x75\xdb\xe3\xb6\xf0\xda\x3d\xfb\x9d\x77\x2c\xcf\xee\xb8\xf6\xd8\x87\x15\x42\xc0\x3b\xef\x7e\xda\xeb\xda\x8f\x5d\xfc\xff\xc3\x3f\xba\x43\xb6\x50\x16\x19\x1d\x23\xec\x3d\x97\x0b\xc9\x29\x22\x0a\xe0\x14\x08\x20\xce\xc0\x77\xed\x73\xfb\xfc\x04\xf1\xa4\xdb\x7e\xe2\x61\xfe\x7d\xab\x33\x1c\x3e\x74\x6c\xce\x8f\x35\x48\Line truncated
|
||||
|
||||
func confAppIniBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
@@ -299,7 +299,7 @@ func confAppIni() (*asset, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "conf/app.ini", size: 9731, mode: os.FileMode(420), modTime: time.Unix(1441219263, 0)}
|
||||
info := bindataFileInfo{name: "conf/app.ini", size: 9809, mode: os.FileMode(420), modTime: time.Unix(1442017584, 0)}
|
||||
a := &asset{bytes: bytes, info: info}
|
||||
return a, nil
|
||||
}
|
||||
@@ -4364,7 +4364,7 @@ func confLocaleLocale_deDeIni() (*asset, error) {
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\xbd\xeb\x72\xdc\xc8\x8e\x27\xfe\x9d\x4f\xc1\xee\x09\xff\xdd\x1d\x21\x97\xa3\xbb\xff\x7b\x89\x0e\xdb\xbd\xb2\xd4\xbe\xcc\x58\x96\xc6\x52\x9f\xb3\x67\x1d\x8e\x6a\x56\x91\xaa\xe2\x71\x15\x59\x4d\xb2\x2c\xeb\x4c\x4c\xc4\xbe\xc6\xbe\xde\x3e\xc9\x02\x3f\x00\x79\x23\x4b\xb2\xcf\x99\xd8\xfd\x22\xb1\x32\x91\x37\x24\x12\x09\x20\x91\xc8\x62\xb7\x9b\x97\x55\xbf\xcc\x9f\xe6\xc7\xf9\xae\xa8\x9b\x4d\xd5\xf7\x79\x5f\x6d\xae\x1f\xad\xdb\x7e\xa8\xca\xfc\x65\x3d\xd0\xef\xee\x53\xbd\xac\xb2\x6c\xdd\x6e\x2b\x02\x7d\x45\xff\xb2\xb2\xe8\xd7\x8b\xb6\xe8\x4a\x4a\x38\xb5\xef\xac\xfa\xbc\xdb\xb4\x1d\x03\xfd\x2a\x5f\xd9\xba\xda\xec\xb8\x0c\xfd\xcb\xfa\x7a\xd5\xcc\xeb\x86\x7e\x5e\xd2\x57\xfe\xba\xc9\xfa\x76\x59\x17\x9b\x79\x90\x81\x04\xcb\xff\x39\xff\xb1\x29\xf3\xcb\xa1\xda\xe5\x4f\xfa\x6d\xb1\xd9\x3c\x2b\x7a\x14\x19\xaa\xbc\x58\x2e\xdb\x7d\x33\x3c\x79\x2c\x19\x52\x79\xbb\x1f\xac\xf6\xf3\xfd\x20\x69\xfb\x9d\x25\xfd\xb6\xcb\xba\x6a\x55\xd3\xc0\x3a\x4a\x7a\xa7\x9f\xd9\x4d\xb5\xe8\xeb\x81\x3b\xfd\x67\xf9\xca\x3e\x55\x5d\x5f\xb7\xdc\x9f\x3f\xc9\x57\xb6\x2b\x56\x0c\x70\x41\xff\xb2\xa1\xda\xee\x36\x05\x0a\x5c\xe9\x67\xb6\x29\x9a\xd5\x5e\x60\xde\xe8\x67\xb6\xec\x2a\xca\x9a\x37\xd5\x0d\xa5\x9e\xe0\xc7\x6c\x36\xcb\xf6\x84\xcf\xf9\xae\x6b\xaf\xeb\x4d\x35\x2f\x9a\x72\xbe\x15\x8c\xfd\x46\xe9\xb9\xa6\xe7\x94\x9e\x73\x3a\x86\x50\x95\x84\x9c\x79\xd1\xeb\x38\x68\x5a\x08\x57\x45\x9f\xa1\xaa\xa6\xd8\x5a\x69\xfe\xcc\xaa\x6d\x51\x6f\x78\x02\x1e\xf1\x07\x75\xbc\xef\x6f\x5a\x4c\xd3\x85\x7e\x12\x12\xe6\xc3\xed\xae\x02\x0e\x1e\x5d\xd1\x57\xb6\x2c\x76\xc3\x72\x5d\x70\x3f\xe5\x2b\x23\xa0\x5d\x4b\xc8\x68\xbb\x5b\xc0\xd9\x8f\xac\xed\x56\x45\x53\xff\xad\x18\x04\x41\xe7\xc1\xcf\x6c\x5b\x77\x5d\xcb\xb8\x3d\xc3\x47\x46\x43\x9f\x73\x3d\x94\xf2\x96\xb0\x10\xd4\xc2\x39\xdb\x7a\xd5\x09\x1a\x39\xf3\x0c\xbf\xb8\x16\xce\xbb\x6e\xbb\x8f\x9a\xf1\x82\x3f\x93\xa2\xd4\x09\xcd\x8d\xdb\x2f\x1a\x42\xbc\xe6\x9e\xe1\x47\x04\xd0\x67\x45\xb9\x25\x54\xee\x8a\xa6\x62\x1c\x1d\xf3\x2f\xc2\x0b\xfd\xca\x94\x9e\xe6\x7d\x35\x0c\x75\xb3\x62\x64\x1f\x4b\x52\x7e\xa9\x49\x59\x90\xe7\xd2\x6e\xdb\xbd\x9b\x4e\x4a\xff\x0b\xfd\xcc\x2f\xe4\xa7\xe4\x05\x85\x90\xe9\x4a\xf2\x48\xfa\xf9\x75\x55\x95\x32\x96\x3e\x7f\x41\xdf\xd9\x6e\xbf\xd9\x10\xd6\xfe\xd8\x57\xfd\xc0\x85\x2e\xe8\x37\x8d\x5f\x7e\x67\x75\xdf\xd3\x07\x25\xbf\xc6\x47\x46\x53\xd7\x2c\x31\x98\x13\x7c\x64\xd9\xfb\xbe\x2a\xba\xe5\xfa\x43\x26\xff\xd1\x57\xfe\x60\xda\x3b\x34\xa9\x4c\x48\x4a\x44\xd2\x82\x35\x90\x2d\xdb\x92\x7f\x9c\xd0\x3f\xaa\xba\x6e\xfa\x81\x56\xdb\x87\x4c\x3f\x18\x4c\xbe\x64\x02\x86\x7a\x00\x16\x34\x11\x4b\xb7\xe7\x19\xcc\x5f\xd4\x5d\x3f\x3c\x1a\x6a\x22\xd6\x77\xfb\x26\xe3\xf1\xd1\x4a\x9b\x97\x0b\x63\x40\x2f\x5b\x42\x11\x92\x3b\x1a\xdf\xd9\xed\xe5\xbf\xbe\x39\xca\x2f\x88\x0b\xad\xba\x8a\xbe\x73\xaa\x83\xfe\x51\x99\x9f\x66\x19\x95\xb2\x96\x4e\x8b\xa1\x58\x14\x7d\xe5\xd1\xca\x99\x42\xdd\x2e\x0f\x34\xce\x1c\x0d\xdc\xab\x1f\xa2\xf1\x4e\xad\x10\xaa\x43\xd7\x95\xab\xe3\x2d\x2f\x2e\x4a\x67\x86\x86\xc2\x17\x9b\x8a\xd3\xa9\xaa\xfc\xf5\xdb\xb7\xe7\xa7\xcf\xf3\xaa\x59\xd5\x4d\x95\xdf\xd4\xc3\x3a\xdf\x0f\xd7\xff\x75\xbe\xaa\x9a\xaa\x23\xfe\xb6\xac\x73\x5a\x53\x1d\x51\x42\x4e\x84\x2d\x83\x9b\x65\x7d\xbf\xa1\xb5\x0f\xf4\x5e\x5e\xbe\xc9\xcf\x18\xc5\xbb\x62\x58\xa3\x23\xc3\x3a\xeb\xff\xd8\x30\x8a\x5c\x83\x57\xeb\x2a\x07\x95\x01\xa8\xbd\x36\x7c\xe4\xa5\xf6\x71\x96\x55\x5d\x37\x27\x96\x34\xdc\xce\xb5\xb0\xd6\x97\x42\x4a\x15\x44\x3a\x4d\x3b\xe4\x8b\x2a\x47\x99\x59\x96\x59\x87\x0d\xbb\xc7\xbb\xdd\xa6\x5e\xca\x5a\x7f\x29\x79\x1e\xd1\xbc\x7b\x28\x96\x42\x38\x20\xca\xf2\x02\x74\x11\x6b\xe6\xf5\x90\x47\x0c\x04\xe5\xd7\x15\x31\xc0\xf5\x7e\x25\x6c\x6f\xd3\xee\xcb\x6f\x40\xa9\xd6\x7b\x4f\xa8\xf9\xbb\x96\x3a\x0c\xec\x38\x00\xdf\xc4\x31\x51\x1c\x6f\x58\x5d\xb5\x6d\x89\xaf\x38\x62\xaf\x89\xa0\x6e\x6a\xca\xa4\x91\xf6\xc5\x27\x5a\x6f\x43\x9b\x0f\xeb\xba\xcf\x4b\x22\xb6\x25\x57\x4c\x4b\x63\x4f\x5b\x85\x90\x05\x11\xa8\x90\x86\xa5\xc5\x73\x00\xa8\xed\x9e\xa8\x69\x4d\x95\xf1\x46\xc4\xbb\x26\x55\x39\xd5\x4f\x0c\x89\xea\x01\x7d\x13\xe5\xb6\xc4\x95\x99\x6f\x9e\xe2\x43\x7f\x87\xf5\x53\xaf\x8a\xeb\x6b\xea\x55\x4f\x54\xf1\x2a\x5f\x6e\x5a\x22\xa9\xdf\xde\xbd\xe9\x99\x60\xd6\xf3\x5d\xdb\x61\x8b\xa3\xac\x0b\xfa\x74\x69\x01\xa2\x19\xa2\xd9\x6f\x17\xf4\xeb\x66\x5d\x13\x07\x00\xda\xb9\x04\xef\xe4\x94\x4a\x4d\xec\x7b\x9a\xc2\xa3\x9c\x48\x98\x46\x40\x28\x03\x01\xf0\x18\xca\xba\x2f\x16\x34\xf7\x0c\x7e\x4d\x5b\xd6\xbe\x23\xb2\x5a\x0f\xc3\xce\x5a\x7e\x75\x75\x75\x21\x4d\xbb\xd4\xbb\xda\x2e\x02\xca\xc0\x1c\x6c\x78\xd3\x6d\xf2\xb6\x99\x81\x48\xf6\xdd\x26\xa1\x1f\x1a\xab\xe5\x1c\xc0\x0b\x77\xe1\x31\xff\xb9\xf4\xe8\x01\x9e\x7b\x92\x4c\x6e\x40\x4d\x84\xe3\x0a\x1b\x20\x11\x75\xbb\xe3\x7a\x03\xaa\x3e\xd7\x04\x4f\xca\xd8\x34\x5d\xbe\x6c\x9d\x94\x0b\xb9\x27\x60\xff\x5b\x1a\xb0\xb2\x91\xcb\x33\x42\x03\x78\x09\x52\xaf\xbb\x76\x4b\xa9\x2f\xe8\x9f\x4f\xf0\xdd\x3f\xe3\xfa\x00\x53\x94\x25\xf1\xb7\xfe\x28\x7f\xf7\xe2\x24\xff\x4f\x3f\xfd\xf8\xe3\x2c\x7f\x3d\xf0\x4a\x64\xe2\xfc\x2b\x13\x15\x7d\xca\x1e\xee\x40\x89\x65\x0Line truncated
|
||||
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\xbd\xeb\x72\xdc\xc8\x8e\x27\xfe\x9d\x4f\xc1\xee\x09\xff\xdd\x1d\x21\x97\xa3\xbb\xff\x7b\x89\x0e\xdb\xbd\xb2\xd4\xbe\xcc\x58\x96\xc6\x52\x9f\xb3\x67\x1d\x8e\x6a\x56\x91\xaa\xe2\x71\x15\x59\x4d\xb2\x2c\xeb\x4c\x4c\xc4\xbe\xc6\xbe\xde\x3e\xc9\x02\x3f\x00\x79\x23\x4b\xb2\xcf\x99\xd8\xfd\x22\xb1\x32\x91\x37\x24\x12\x09\x20\x91\xc8\x62\xb7\x9b\x97\x55\xbf\xcc\x9f\xe6\xc7\xf9\xae\xa8\x9b\x4d\xd5\xf7\x79\x5f\x6d\xae\x1f\xad\xdb\x7e\xa8\xca\xfc\x65\x3d\xd0\xef\xee\x53\xbd\xac\xb2\x6c\xdd\x6e\x2b\x02\x7d\x45\xff\xb2\xb2\xe8\xd7\x8b\xb6\xe8\x4a\x4a\x38\xb5\xef\xac\xfa\xbc\xdb\xb4\x1d\x03\xfd\x2a\x5f\xd9\xba\xda\xec\xb8\x0c\xfd\xcb\xfa\x7a\xd5\xcc\xeb\x86\x7e\x5e\xd2\x57\xfe\xba\xc9\xfa\x76\x59\x17\x9b\x79\x90\x81\x04\xcb\xff\x39\xff\xb1\x29\xf3\xcb\xa1\xda\xe5\x4f\xfa\x6d\xb1\xd9\x3c\x2b\x7a\x14\x19\xaa\xbc\x58\x2e\xdb\x7d\x33\x3c\x79\x2c\x19\x52\x79\xbb\x1f\xac\xf6\xf3\xfd\x20\x69\xfb\x9d\x25\xfd\xb6\xcb\xba\x6a\x55\xd3\xc0\x3a\x4a\x7a\xa7\x9f\xd9\x4d\xb5\xe8\xeb\x81\x3b\xfd\x67\xf9\xca\x3e\x55\x5d\x5f\xb7\xdc\x9f\x3f\xc9\x57\xb6\x2b\x56\x0c\x70\x41\xff\xb2\xa1\xda\xee\x36\x05\x0a\x5c\xe9\x67\xb6\x29\x9a\xd5\x5e\x60\xde\xe8\x67\xb6\xec\x2a\xca\x9a\x37\xd5\x0d\xa5\x9e\xe0\xc7\x6c\x36\xcb\xf6\x84\xcf\xf9\xae\x6b\xaf\xeb\x4d\x35\x2f\x9a\x72\xbe\x15\x8c\xfd\x46\xe9\xb9\xa6\xe7\x94\x9e\x73\x3a\x86\x50\x95\x84\x9c\x79\xd1\xeb\x38\x68\x5a\x08\x57\x45\x9f\xa1\xaa\xa6\xd8\x5a\x69\xfe\xcc\xaa\x6d\x51\x6f\x78\x02\x1e\xf1\x07\x75\xbc\xef\x6f\x5a\x4c\xd3\x85\x7e\x12\x12\xe6\xc3\xed\xae\x02\x0e\x1e\x5d\xd1\x57\xb6\x2c\x76\xc3\x72\x5d\x70\x3f\xe5\x2b\x23\xa0\x5d\x4b\xc8\x68\xbb\x5b\xc0\xd9\x8f\xac\xed\x56\x45\x53\xff\xad\x18\x04\x41\xe7\xc1\xcf\x6c\x5b\x77\x5d\xcb\xb8\x3d\xc3\x47\x46\x43\x9f\x73\x3d\x94\xf2\x96\xb0\x10\xd4\xc2\x39\xdb\x7a\xd5\x09\x1a\x39\xf3\x0c\xbf\xb8\x16\xce\xbb\x6e\xbb\x8f\x9a\xf1\x82\x3f\x93\xa2\xd4\x09\xcd\x8d\xdb\x2f\x1a\x42\xbc\xe6\x9e\xe1\x47\x04\xd0\x67\x45\xb9\x25\x54\xee\x8a\xa6\x62\x1c\x1d\xf3\x2f\xc2\x0b\xfd\xca\x94\x9e\xe6\x7d\x35\x0c\x75\xb3\x62\x64\x1f\x4b\x52\x7e\xa9\x49\x59\x90\xe7\xd2\x6e\xdb\xbd\x9b\x4e\x4a\xff\x0b\xfd\xcc\x2f\xe4\xa7\xe4\x05\x85\x90\xe9\x4a\xf2\x48\xfa\xf9\x75\x55\x95\x32\x96\x3e\x7f\x41\xdf\xd9\x6e\xbf\xd9\x10\xd6\xfe\xd8\x57\xfd\xc0\x85\x2e\xe8\x37\x8d\x5f\x7e\x67\x75\xdf\xd3\x07\x25\xbf\xc6\x47\x46\x53\xd7\x2c\x31\x98\x13\x7c\x64\xd9\xfb\xbe\x2a\xba\xe5\xfa\x43\x26\xff\xd1\x57\xfe\x60\xda\x3b\x34\xa9\x4c\x48\x4a\x44\xd2\x82\x35\x90\x2d\xdb\x92\x7f\x9c\xd0\x3f\xaa\xba\x6e\xfa\x81\x56\xdb\x87\x4c\x3f\x18\x4c\xbe\x64\x02\x86\x7a\x00\x16\x34\x11\x4b\xb7\xe7\x19\xcc\x5f\xd4\x5d\x3f\x3c\x1a\x6a\x22\xd6\x77\xfb\x26\xe3\xf1\xd1\x4a\x9b\x97\x0b\x63\x40\x2f\x5b\x42\x11\x92\x3b\x1a\xdf\xd9\xed\xe5\xbf\xbe\x39\xca\x2f\x88\x0b\xad\xba\x8a\xbe\x73\xaa\x83\xfe\x51\x99\x9f\x66\x19\x95\xb2\x96\x4e\x8b\xa1\x58\x14\x7d\xe5\xd1\xca\x99\x42\xdd\x2e\x0f\x34\xce\x1c\x0d\xdc\xab\x1f\xa2\xf1\x4e\xad\x10\xaa\x43\xd7\x95\xab\xe3\x2d\x2f\x2e\x4a\x67\x86\x86\xc2\x17\x9b\x8a\xd3\xa9\xaa\xfc\xf5\xdb\xb7\xe7\xa7\xcf\xf3\xaa\x59\xd5\x4d\x95\xdf\xd4\xc3\x3a\xdf\x0f\xd7\xff\x75\xbe\xaa\x9a\xaa\x23\xfe\xb6\xac\x73\x5a\x53\x1d\x51\x42\x4e\x84\x2d\x83\x9b\x65\x7d\xbf\xa1\xb5\x0f\xf4\x5e\x5e\xbe\xc9\xcf\x18\xc5\xbb\x62\x58\xa3\x23\xc3\x3a\xeb\xff\xd8\x30\x8a\x5c\x83\x57\xeb\x2a\x07\x95\x01\xa8\xbd\x36\x7c\xe4\xa5\xf6\x71\x96\x55\x5d\x37\x27\x96\x34\xdc\xce\xb5\xb0\xd6\x97\x42\x4a\x15\x44\x3a\x4d\x3b\xe4\x8b\x2a\x47\x99\x59\x96\x59\x87\x0d\xbb\xc7\xbb\xdd\xa6\x5e\xca\x5a\x7f\x29\x79\x1e\xd1\xbc\x7b\x28\x96\x42\x38\x20\xca\xf2\x02\x74\x11\x6b\xe6\xf5\x90\x47\x0c\x04\xe5\xd7\x15\x31\xc0\xf5\x7e\x25\x6c\x6f\xd3\xee\xcb\x6f\x40\xa9\xd6\x7b\x4f\xa8\xf9\xbb\x96\x3a\x0c\xec\x38\x00\xdf\xc4\x31\x51\x1c\x6f\x58\x5d\xb5\x6d\x89\xaf\x38\x62\xaf\x89\xa0\x6e\x6a\xca\xa4\x91\xf6\xc5\x27\x5a\x6f\x43\x9b\x0f\xeb\xba\xcf\x4b\x22\xb6\x25\x57\x4c\x4b\x63\x4f\x5b\x85\x90\x05\x11\xa8\x90\x86\xa5\xc5\x73\x00\xa8\xed\x9e\xa8\x69\x4d\x95\xf1\x46\xc4\xbb\x26\x55\x39\xd5\x4f\x0c\x89\xea\x01\x7d\x13\xe5\xb6\xc4\x95\x99\x6f\x9e\xe2\x43\x7f\x87\xf5\x53\xaf\x8a\xeb\x6b\xea\x55\x4f\x54\xf1\x2a\x5f\x6e\x5a\x22\xa9\xdf\xde\xbd\xe9\x99\x60\xd6\xf3\x5d\xdb\x61\x8b\xa3\xac\x0b\xfa\x74\x69\x01\xa2\x19\xa2\xd9\x6f\x17\xf4\xeb\x66\x5d\x13\x07\x00\xda\xb9\x04\xef\xe4\x94\x4a\x4d\xec\x7b\x9a\xc2\xa3\x9c\x48\x98\x46\x40\x28\x03\x01\xf0\x18\xca\xba\x2f\x16\x34\xf7\x0c\x7e\x4d\x5b\xd6\xbe\x23\xb2\x5a\x0f\xc3\xce\x5a\x7e\x75\x75\x75\x21\x4d\xbb\xd4\xbb\xda\x2e\x02\xca\xc0\x1c\x6c\x78\xd3\x6d\xf2\xb6\x99\x81\x48\xf6\xdd\x26\xa1\x1f\x1a\xab\xe5\x1c\xc0\x0b\x77\xe1\x31\xff\xb9\xf4\xe8\x01\x9e\x7b\x92\x4c\x6e\x40\x4d\x84\xe3\x0a\x1b\x20\x11\x75\xbb\xe3\x7a\x03\xaa\x3e\xd7\x04\x4f\xca\xd8\x34\x5d\xbe\x6c\x9d\x94\x0b\xb9\x27\x60\xff\x5b\x1a\xb0\xb2\x91\xcb\x33\x42\x03\x78\x09\x52\xaf\xbb\x76\x4b\xa9\x2f\xe8\x9f\x4f\xf0\xdd\x3f\xe3\xfa\x00\x53\x94\x25\xf1\xb7\xfe\x28\x7f\xf7\xe2\x24\xff\x4f\x3f\xfd\xf8\xe3\x2c\x7f\x3d\xf0\x4a\x64\xe2\xfc\x2b\x13\x15\x7d\xca\x1e\xee\x40\x89\x65\x0Line truncated
|
||||
|
||||
func confLocaleLocale_enUsIniBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
@@ -4379,7 +4379,7 @@ func confLocaleLocale_enUsIni() (*asset, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 42890, mode: os.FileMode(420), modTime: time.Unix(1441992331, 0)}
|
||||
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 42901, mode: os.FileMode(420), modTime: time.Unix(1442018244, 0)}
|
||||
a := &asset{bytes: bytes, info: info}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
@@ -91,8 +91,9 @@ var (
|
||||
AnsiCharset string
|
||||
|
||||
// UI settings.
|
||||
ExplorePagingNum int
|
||||
IssuePagingNum int
|
||||
ExplorePagingNum int
|
||||
IssuePagingNum int
|
||||
AdminUserPagingNum int
|
||||
|
||||
// Markdown sttings.
|
||||
Markdown struct {
|
||||
@@ -367,6 +368,9 @@ func NewConfigContext() {
|
||||
ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20)
|
||||
IssuePagingNum = sec.Key("ISSUE_PAGING_NUM").MustInt(10)
|
||||
|
||||
sec = Cfg.Section("ui.admin")
|
||||
AdminUserPagingNum = sec.Key("USER_PAGING_NUM").MustInt(50)
|
||||
|
||||
sec = Cfg.Section("picture")
|
||||
PictureService = sec.Key("SERVICE").In("server", []string{"server"})
|
||||
AvatarUploadPath = sec.Key("AVATAR_UPLOAD_PATH").MustString("data/avatars")
|
||||
|
||||
+11
-4
@@ -9,6 +9,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/Unknwon/com"
|
||||
"github.com/Unknwon/paginater"
|
||||
|
||||
"github.com/gogits/gogs/models"
|
||||
"github.com/gogits/gogs/modules/auth"
|
||||
@@ -46,15 +47,21 @@ func Users(ctx *middleware.Context) {
|
||||
ctx.Data["PageIsAdmin"] = true
|
||||
ctx.Data["PageIsAdminUsers"] = true
|
||||
|
||||
pageNum := 50
|
||||
p := pagination(ctx, models.CountUsers(), pageNum)
|
||||
total := models.CountUsers()
|
||||
page := ctx.QueryInt("page")
|
||||
if page <= 1 {
|
||||
page = 1
|
||||
}
|
||||
ctx.Data["Page"] = paginater.New(int(total), setting.AdminUserPagingNum, page, 5)
|
||||
|
||||
users, err := models.GetUsers(pageNum, (p-1)*pageNum)
|
||||
users, err := models.Users(page, setting.AdminUserPagingNum)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "GetUsers", err)
|
||||
ctx.Handle(500, "Users", err)
|
||||
return
|
||||
}
|
||||
ctx.Data["Users"] = users
|
||||
|
||||
ctx.Data["Total"] = total
|
||||
ctx.HTML(200, USERS)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,61 +1,72 @@
|
||||
{{template "ng/base/head" .}}
|
||||
{{template "ng/base/header" .}}
|
||||
<div id="admin-wrapper">
|
||||
<div id="setting-wrapper" class="main-wrapper">
|
||||
<div id="admin-setting" class="container clear">
|
||||
{{template "admin/nav" .}}
|
||||
<div class="grid-4-5 left">
|
||||
<div class="setting-content">
|
||||
{{template "ng/base/alert" .}}
|
||||
<div id="setting-content">
|
||||
<div class="panel panel-radius">
|
||||
<div class="panel-header">
|
||||
<strong>{{.i18n.Tr "admin.users.user_manage_panel"}}</strong>
|
||||
</div>
|
||||
<div class="panel-body admin-panel">
|
||||
<a class="btn-blue btn-medium btn-link btn-radius" href="{{AppSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a>
|
||||
<div class="admin-table">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Id</th>
|
||||
<th>{{.i18n.Tr "admin.users.name"}}</th>
|
||||
<th>{{.i18n.Tr "email"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.activated"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.admin"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.repos"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.created"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.edit"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .Users}}
|
||||
<tr>
|
||||
<td>{{.Id}}</td>
|
||||
<td><a href="{{AppSubUrl}}/{{.Name}}">{{.Name}}</a></td>
|
||||
<td>{{.Email}}</td>
|
||||
<td><i class="fa fa{{if .IsActive}}-check{{end}}-square-o"></i></td>
|
||||
<td><i class="fa fa{{if .IsAdmin}}-check{{end}}-square-o"></i></td>
|
||||
<td>{{.NumRepos}}</td>
|
||||
<td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created }}</span></td>
|
||||
<td><a href="{{AppSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{if or .LastPageNum .NextPageNum}}
|
||||
<ul class="pagination">
|
||||
{{if .LastPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.LastPageNum}}">« {{.i18n.Tr "admin.prev"}}</a></li>{{end}}
|
||||
{{if .NextPageNum}}<li><a class="btn btn-medium btn-gray btn-radius" href="{{AppSubUrl}}/admin/users?p={{.NextPageNum}}">» {{.i18n.Tr "admin.next"}}</a></li>{{end}}
|
||||
</ul>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{template "base/head" .}}
|
||||
<div class="admin user">
|
||||
<div class="ui container">
|
||||
<div class="ui grid">
|
||||
{{template "admin/navbar" .}}
|
||||
<div class="twelve wide column content">
|
||||
{{template "base/alert" .}}
|
||||
<h4 class="ui top attached header">
|
||||
{{.i18n.Tr "admin.users.user_manage_panel"}} ({{.i18n.Tr "admin.total" .Total}})
|
||||
<div class="ui right">
|
||||
<a class="ui blue tiny button" href="{{AppSubUrl}}/admin/users/new">{{.i18n.Tr "admin.users.new_account"}}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="ui attached table segment">
|
||||
<table class="ui very basic striped table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>{{.i18n.Tr "admin.users.name"}}</th>
|
||||
<th>{{.i18n.Tr "email"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.activated"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.admin"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.repos"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.created"}}</th>
|
||||
<th>{{.i18n.Tr "admin.users.edit"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .Users}}
|
||||
<tr>
|
||||
<td>{{.Id}}</td>
|
||||
<td><a href="{{AppSubUrl}}/{{.Name}}">{{.Name}}</a></td>
|
||||
<td>{{.Email}}</td>
|
||||
<td><i class="fa fa{{if .IsActive}}-check{{end}}-square-o"></i></td>
|
||||
<td><i class="fa fa{{if .IsAdmin}}-check{{end}}-square-o"></i></td>
|
||||
<td>{{.NumRepos}}</td>
|
||||
<td><span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created }}</span></td>
|
||||
<td><a href="{{AppSubUrl}}/admin/users/{{.Id}}"><i class="fa fa-pencil-square-o"></i></a></td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{{with .Page}}
|
||||
{{if gt .TotalPages 1}}
|
||||
<div class="center page buttons">
|
||||
<div class="ui borderless pagination menu">
|
||||
<a class="{{if .IsFirst}}disabled{{end}} item" href="{{$.Link}}"><i class="angle double left icon"></i> {{$.i18n.Tr "admin.first_page"}}</a>
|
||||
<a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?page={{.Previous}}"{{end}}>
|
||||
<i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
|
||||
</a>
|
||||
{{range .Pages}}
|
||||
{{if eq .Num -1}}
|
||||
<a class="disabled item">...</a>
|
||||
{{else}}
|
||||
<a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?page={{.Num}}"{{end}}>{{.Num}}</a>
|
||||
{{end}}
|
||||
{{end}}
|
||||
<a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?page={{.Next}}"{{end}}>
|
||||
{{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
|
||||
</a>
|
||||
<a class="{{if .IsLast}}disabled{{end}} item" href="{{$.Link}}?page={{.TotalPages}}">{{$.i18n.Tr "admin.last_page"}} <i class="angle double right icon"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{template "ng/base/footer" .}}
|
||||
{{template "base/footer" .}}
|
||||
Reference in new issue
Block a user