#1180 and #1250: migration

This commit is contained in:
Unknwon committed 2015-08-15 16:03:20 +08:00
1 parent b35d7eee31
commit e633425f27
10 files changed
+231 -116

No files matched your search

+2 -1
View File
@@ -324,9 +324,10 @@ form.name_pattern_not_allowed = Repository name pattern '%s' is not allowed.
need_auth = Need Authorization need_auth = Need Authorization
migrate_type = Migration Type migrate_type = Migration Type
migrate_type_helper = This repository will be a <span class="label label-blue label-radius">mirror</span> migrate_type_helper = This repository will be a <span class="text blue">mirror</span>
migrate_repo = Migrate Repository migrate_repo = Migrate Repository
migrate.clone_address = Clone Address migrate.clone_address = Clone Address
migrate.clone_address_desc = This can be a HTTP/HTTPS/GIT URL or local server path.
migrate.invalid_local_path = Invalid local path, it does not exist or not a directory. migrate.invalid_local_path = Invalid local path, it does not exist or not a directory.
forked_from = forked from forked_from = forked from
+2 -2
View File
@@ -772,7 +772,7 @@ func confLocaleLocale_deDeIni() (*asset, error) {
return a, nil return a, nil
} }
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\x7b\x93\xdb\x48\x8e\xe7\xff\xfc\x14\x6c\x6f\xf8\xec\x8e\x28\xcb\xd1\x3d\x71\x8f\xe8\xb0\xdd\x57\x5d\xd5\x7e\xcc\xba\x1e\xeb\x2a\xf7\xdc\x9c\xc3\xa1\xa6\x44\x96\xc4\xb1\x44\xaa\xf9\x28\xb9\x66\x63\x23\xee\x6b\xdc\xd7\xbb\x4f\x72\xc0\x0f\x40\x3e\x48\xaa\x6c\xcf\x6e\xdc\xfd\x23\x25\x33\x91\x2f\x24\x12\x09\x20\x91\x99\xd9\x6e\x37\xcf\x8b\x76\x99\x3e\x4f\x8f\xd3\x5d\x56\x56\x9b\xa2\x6d\xd3\xb6\xd8\xdc\x3c\x59\xd7\x6d\x57\xe4\xe9\xab\xb2\xa3\xef\xe6\xb6\x5c\x16\x49\xb2\xae\xb7\x05\x81\xbe\xa6\xbf\x24\xcf\xda\xf5\xa2\xce\x9a\x9c\x22\x4e\x2d\x9c\x14\x9f\x77\x9b\xba\x61\xa0\x5f\x25\x94\xac\x8b\xcd\x8e\xf3\xd0\x5f\xd2\x96\xab\x6a\x5e\x56\xf4\x79\x45\xa1\xf4\x4d\x95\xb4\xf5\xb2\xcc\x36\xf3\x20\x01\x11\x96\xfe\x53\xfa\x63\x95\xa7\x57\x5d\xb1\x4b\x9f\xb5\xdb\x6c\xb3\x79\x91\xb5\xc8\xd2\x15\x69\xb6\x5c\xd6\x7d\xd5\x3d\x7b\x2a\x09\x52\x78\xdd\x77\x56\xfa\x45\xdf\x49\x5c\xbf\xb3\xa8\xf7\xbb\xa4\x29\x56\x25\x75\xac\xa1\xa8\x77\x1a\x4c\xf6\xc5\xa2\x2d\x3b\x6e\xf4\x5f\x24\x94\xdc\x16\x4d\x5b\xd6\xdc\x9e\xdf\x24\x94\xec\xb2\x15\x03\x5c\xd2\x5f\xd2\x15\xdb\xdd\x26\x43\x86\x6b\x0d\x26\x9b\xac\x5a\xf5\x02\xf3\x56\x83\xc9\xb2\x29\x28\x69\x5e\x15\x7b\x8a\x3d\xc1\x47\x4a\x1f\xb3\xd9\x2c\xe9\x09\xa7\xf3\x5d\x53\xdf\x94\x9b\x62\x9e\x55\xf9\x7c\x2b\x58\x7b\x4f\xf1\xa9\xc6\xa7\x14\x9f\x72\x3c\xba\x51\xe4\x84\xa0\x79\xd6\x6a\x5f\x68\x68\x08\x5f\x59\x9b\xa0\xa8\x2a\xdb\x5a\x6e\x0e\x26\xc5\x36\x2b\x37\x3c\x08\x4f\x38\x40\x8d\x6f\xdb\x7d\x8d\xa1\xba\xd4\x20\x21\x62\xde\xdd\xed\x0a\xe0\xe1\xc9\x35\x85\x92\x65\xb6\xeb\x96\xeb\x8c\xdb\x2a\xa1\x84\x80\x76\x35\x21\xa4\x6e\xee\x00\x67\x1f\x49\xdd\xac\xb2\xaa\xfc\x7b\xd6\x09\x92\x2e\x82\xcf\x64\x5b\x36\x4d\xcd\xf8\x3d\x43\x20\xa1\x1e\xcf\xb9\x1c\x8a\x39\x27\x4c\x04\xa5\x70\xca\xb6\x5c\x35\x82\x4a\x4e\x3c\xc3\x17\x97\xc2\x69\x37\x75\xf3\x49\x13\x5e\x72\x70\x90\x95\x1a\xa1\xa9\x71\xfd\x59\x45\xc8\xd7\xd4\x33\x7c\x44\x00\x6d\x92\xe5\x5b\x42\xe5\x2e\xab\x0a\xc6\xd1\x31\x7f\x11\x5e\xe8\x2b\x51\x9a\x9a\xb7\x45\xd7\x95\xd5\x8a\x91\x7d\x2c\x51\xe9\x95\x46\x25\x41\x9a\x8b\xbb\xab\x7b\x37\x9c\x14\xff\x57\xfa\x4c\x2f\xe5\x53\xd2\x82\x4c\x48\x74\x39\xb9\x27\xed\xfc\xa6\x28\x72\xe9\x4b\x9b\xbe\xa4\x70\xb2\xeb\x37\x1b\xc2\xda\x1f\x7d\xd1\x76\x9c\xe9\x92\xbe\xa9\xff\xf2\x9d\x94\x6d\x4b\x01\x8a\x7e\x83\x40\x42\x43\x57\x2d\xd1\x99\x13\x04\x92\xe4\x43\x5b\x64\xcd\x72\xfd\x31\x91\x7f\xb4\x95\x03\x4c\x7b\x87\x06\x95\x09\x49\x89\x48\x6a\xb0\x0a\x92\x65\x9d\xf3\xc7\x09\xfd\x51\xd1\x65\xd5\x76\x34\xe3\x3e\x26\x1a\x60\x30\x09\xc9\x00\x74\x65\x07\x2c\x68\x24\xa6\x6f\xcb\x23\x98\xbe\x2c\x9b\xb6\x7b\xd2\x95\x44\xac\xef\xfa\x2a\xe1\xfe\xd1\x6c\x9b\xe7\x0b\x63\x42\xaf\x6a\x42\x11\xa2\x1b\xea\xdf\xd9\xdd\xd5\xbf\xbc\x3d\x4a\x2f\x89\x13\xad\x9a\x82\xc2\x29\x95\x41\x7f\x94\xe7\x4f\xb3\x84\x72\x59\x4d\xa7\x59\x97\x2d\xb2\xb6\xf0\x68\xe5\x44\xa1\x6e\x97\x06\x1a\x67\xae\x06\x0e\xd6\x76\x51\x7f\xa7\x66\x08\x95\xa1\xf3\xca\x95\x71\xce\x93\x8b\xe2\x99\xa9\x21\xf3\xe5\xa6\xe0\x78\x2a\x2a\x7d\x73\x7e\x7e\x71\xfa\x4b\x5a\x54\xab\xb2\x2a\xd2\x7d\xd9\xad\xd3\xbe\xbb\xf9\x6f\xf3\x55\x51\x15\x0d\xf1\xb8\x65\x99\xd2\x9c\x6a\x88\x12\x52\x22\x6c\xe9\xdc\x2c\x69\xdb\x0d\xcd\x7d\xa0\xf7\xea\xea\x6d\x7a\xc6\x28\xde\x65\xdd\x1a\x0d\xe9\xd6\x49\xfb\xc7\x86\x51\xe4\x2a\xbc\x5e\x17\x29\xa8\x0c\x40\xf5\x8d\xe1\x23\xcd\xb5\x8d\xb3\xa4\x68\x9a\x39\xb1\xa5\xee\x6e\xae\x99\xb5\xbc\x21\xa4\x14\x41\xa4\x53\xd5\x5d\xba\x28\x52\xe4\x99\x25\x89\x35\xd8\xb0\x7b\xbc\xdb\x6d\xca\xa5\xcc\xf5\x57\x92\xe6\x11\xcd\x2b\x88\x62\x29\x84\x03\xa2\x2c\x2d\x40\x17\xb1\x67\x9e\x0f\x69\xc4\x40\x90\x7f\x5d\x10\x03\x5c\xf7\x2b\x61\x7b\x9b\xba\xcf\xbf\x03\xa5\x5a\xeb\x3d\xa1\xa6\xef\x6a\x6a\x30\xb0\xe3\x00\x7c\x15\xc7\x44\x71\xbc\x68\x35\xc5\xb6\x26\xbe\xe2\x88\xbd\x24\x82\xda\x97\x94\x48\x3d\x6d\xb3\x5b\x9a\x6f\x5d\x9d\x76\xeb\xb2\x4d\x73\x22\xb6\x25\x17\x4c\x53\xa3\xa7\xe5\x42\xc8\x82\x08\x54\x48\xc3\xe2\xe2\x31\x00\xd4\xb6\x27\x6a\x5a\x53\x61\xbc\x18\xf1\xca\x49\x45\x4e\xb5\x13\x5d\xa2\x72\x40\xdf\x44\xb9\x35\x71\x65\xe6\x9b\xa7\x08\xe8\x77\x58\x3e\xb5\x2a\xbb\xb9\xa1\x56\xb5\x44\x15\xaf\xd3\xe5\xa6\x26\x92\x7a\xff\xee\x2d\x65\x5e\x77\xdd\x6e\xbe\xab\x1b\x90\xf1\xf5\xf5\x25\x4d\x8f\xa6\xf3\xb1\x01\xae\x19\xa6\xea\xb7\x0b\xfa\xda\xaf\x4b\x62\x02\x59\x30\x40\x40\xc5\x86\xd7\xbf\x2a\xad\xab\x19\xc6\xaa\x6f\x36\x83\x61\xa4\x2a\x2d\xe5\x40\xf3\xb8\x09\x4f\xf9\xe7\xca\xb7\x12\xdd\x6d\x49\x48\xd8\x63\x50\xa9\xab\x05\xd6\x21\xa2\xad\x7a\xc7\xe5\x06\xc4\x75\xa1\x11\x9e\xa2\xb0\x76\xb9\x74\x59\xc1\x28\x15\x22\x48\xc0\x85\xb7\xd4\x61\x9d\xcd\x57\x67\x84\x06\x4c\x69\xc4\xde\x34\xf5\x96\x62\x5f\xd2\x9f\x8f\xf0\xcd\x3f\xe3\xf2\x00\x93\xe5\x39\xb1\x99\xf6\x28\x7d\xf7\xf2\x24\xfd\xcf\x7f\xfa\xf1\xc7\x59\xfa\xa6\xe3\x09\xc1\x34\xf2\x37\x1e\x5b\x0a\xca\x52\xea\x40\x69\xe6\x76\x34\xfc\x0f\x98\xc0\x1f\xa4\xcf\x90\xfa\xdf\x8b\xcf\x19\x89\x01\xc5\x6c\x59\x6f\x5f\xf0\xe4\xde\x66\xdd\x2c\xe1\x14\xa2\x1a\x25\xa7\xab\xa2\xca\x29\xa0\x0b\xb2\xa6\x05\x5c\x47\xd3\x83\xe5\x59\x84\x93\xf9\xb2\xae\x6e\xca\x86\x3b\xf4\x6Line truncated var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\x7b\x93\xdb\x48\x8e\xe7\xff\xfc\x14\x6c\x6f\xf8\xec\x8e\x28\xcb\xd1\x3d\x71\x8f\xe8\xb0\xdd\x57\x5d\xd5\x7e\xcc\xba\x1e\xeb\x2a\xf7\xdc\x9c\xc3\xa1\xa6\x44\x96\xc4\xb1\x44\xaa\xf9\x28\xb9\x66\x63\x23\xee\x6b\xdc\xd7\xbb\x4f\x72\xc0\x0f\x40\x3e\x48\xaa\x6c\xcf\x6e\xdc\xfd\x23\x25\x33\x91\x2f\x24\x12\x09\x20\x91\x99\xd9\x6e\x37\xcf\x8b\x76\x99\x3e\x4f\x8f\xd3\x5d\x56\x56\x9b\xa2\x6d\xd3\xb6\xd8\xdc\x3c\x59\xd7\x6d\x57\xe4\xe9\xab\xb2\xa3\xef\xe6\xb6\x5c\x16\x49\xb2\xae\xb7\x05\x81\xbe\xa6\xbf\x24\xcf\xda\xf5\xa2\xce\x9a\x9c\x22\x4e\x2d\x9c\x14\x9f\x77\x9b\xba\x61\xa0\x5f\x25\x94\xac\x8b\xcd\x8e\xf3\xd0\x5f\xd2\x96\xab\x6a\x5e\x56\xf4\x79\x45\xa1\xf4\x4d\x95\xb4\xf5\xb2\xcc\x36\xf3\x20\x01\x11\x96\xfe\x53\xfa\x63\x95\xa7\x57\x5d\xb1\x4b\x9f\xb5\xdb\x6c\xb3\x79\x91\xb5\xc8\xd2\x15\x69\xb6\x5c\xd6\x7d\xd5\x3d\x7b\x2a\x09\x52\x78\xdd\x77\x56\xfa\x45\xdf\x49\x5c\xbf\xb3\xa8\xf7\xbb\xa4\x29\x56\x25\x75\xac\xa1\xa8\x77\x1a\x4c\xf6\xc5\xa2\x2d\x3b\x6e\xf4\x5f\x24\x94\xdc\x16\x4d\x5b\xd6\xdc\x9e\xdf\x24\x94\xec\xb2\x15\x03\x5c\xd2\x5f\xd2\x15\xdb\xdd\x26\x43\x86\x6b\x0d\x26\x9b\xac\x5a\xf5\x02\xf3\x56\x83\xc9\xb2\x29\x28\x69\x5e\x15\x7b\x8a\x3d\xc1\x47\x4a\x1f\xb3\xd9\x2c\xe9\x09\xa7\xf3\x5d\x53\xdf\x94\x9b\x62\x9e\x55\xf9\x7c\x2b\x58\x7b\x4f\xf1\xa9\xc6\xa7\x14\x9f\x72\x3c\xba\x51\xe4\x84\xa0\x79\xd6\x6a\x5f\x68\x68\x08\x5f\x59\x9b\xa0\xa8\x2a\xdb\x5a\x6e\x0e\x26\xc5\x36\x2b\x37\x3c\x08\x4f\x38\x40\x8d\x6f\xdb\x7d\x8d\xa1\xba\xd4\x20\x21\x62\xde\xdd\xed\x0a\xe0\xe1\xc9\x35\x85\x92\x65\xb6\xeb\x96\xeb\x8c\xdb\x2a\xa1\x84\x80\x76\x35\x21\xa4\x6e\xee\x00\x67\x1f\x49\xdd\xac\xb2\xaa\xfc\x7b\xd6\x09\x92\x2e\x82\xcf\x64\x5b\x36\x4d\xcd\xf8\x3d\x43\x20\xa1\x1e\xcf\xb9\x1c\x8a\x39\x27\x4c\x04\xa5\x70\xca\xb6\x5c\x35\x82\x4a\x4e\x3c\xc3\x17\x97\xc2\x69\x37\x75\xf3\x49\x13\x5e\x72\x70\x90\x95\x1a\xa1\xa9\x71\xfd\x59\x45\xc8\xd7\xd4\x33\x7c\x44\x00\x6d\x92\xe5\x5b\x42\xe5\x2e\xab\x0a\xc6\xd1\x31\x7f\x11\x5e\xe8\x2b\x51\x9a\x9a\xb7\x45\xd7\x95\xd5\x8a\x91\x7d\x2c\x51\xe9\x95\x46\x25\x41\x9a\x8b\xbb\xab\x7b\x37\x9c\x14\xff\x57\xfa\x4c\x2f\xe5\x53\xd2\x82\x4c\x48\x74\x39\xb9\x27\xed\xfc\xa6\x28\x72\xe9\x4b\x9b\xbe\xa4\x70\xb2\xeb\x37\x1b\xc2\xda\x1f\x7d\xd1\x76\x9c\xe9\x92\xbe\xa9\xff\xf2\x9d\x94\x6d\x4b\x01\x8a\x7e\x83\x40\x42\x43\x57\x2d\xd1\x99\x13\x04\x92\xe4\x43\x5b\x64\xcd\x72\xfd\x31\x91\x7f\xb4\x95\x03\x4c\x7b\x87\x06\x95\x09\x49\x89\x48\x6a\xb0\x0a\x92\x65\x9d\xf3\xc7\x09\xfd\x51\xd1\x65\xd5\x76\x34\xe3\x3e\x26\x1a\x60\x30\x09\xc9\x00\x74\x65\x07\x2c\x68\x24\xa6\x6f\xcb\x23\x98\xbe\x2c\x9b\xb6\x7b\xd2\x95\x44\xac\xef\xfa\x2a\xe1\xfe\xd1\x6c\x9b\xe7\x0b\x63\x42\xaf\x6a\x42\x11\xa2\x1b\xea\xdf\xd9\xdd\xd5\xbf\xbc\x3d\x4a\x2f\x89\x13\xad\x9a\x82\xc2\x29\x95\x41\x7f\x94\xe7\x4f\xb3\x84\x72\x59\x4d\xa7\x59\x97\x2d\xb2\xb6\xf0\x68\xe5\x44\xa1\x6e\x97\x06\x1a\x67\xae\x06\x0e\xd6\x76\x51\x7f\xa7\x66\x08\x95\xa1\xf3\xca\x95\x71\xce\x93\x8b\xe2\x99\xa9\x21\xf3\xe5\xa6\xe0\x78\x2a\x2a\x7d\x73\x7e\x7e\x71\xfa\x4b\x5a\x54\xab\xb2\x2a\xd2\x7d\xd9\xad\xd3\xbe\xbb\xf9\x6f\xf3\x55\x51\x15\x0d\xf1\xb8\x65\x99\xd2\x9c\x6a\x88\x12\x52\x22\x6c\xe9\xdc\x2c\x69\xdb\x0d\xcd\x7d\xa0\xf7\xea\xea\x6d\x7a\xc6\x28\xde\x65\xdd\x1a\x0d\xe9\xd6\x49\xfb\xc7\x86\x51\xe4\x2a\xbc\x5e\x17\x29\xa8\x0c\x40\xf5\x8d\xe1\x23\xcd\xb5\x8d\xb3\xa4\x68\x9a\x39\xb1\xa5\xee\x6e\xae\x99\xb5\xbc\x21\xa4\x14\x41\xa4\x53\xd5\x5d\xba\x28\x52\xe4\x99\x25\x89\x35\xd8\xb0\x7b\xbc\xdb\x6d\xca\xa5\xcc\xf5\x57\x92\xe6\x11\xcd\x2b\x88\x62\x29\x84\x03\xa2\x2c\x2d\x40\x17\xb1\x67\x9e\x0f\x69\xc4\x40\x90\x7f\x5d\x10\x03\x5c\xf7\x2b\x61\x7b\x9b\xba\xcf\xbf\x03\xa5\x5a\xeb\x3d\xa1\xa6\xef\x6a\x6a\x30\xb0\xe3\x00\x7c\x15\xc7\x44\x71\xbc\x68\x35\xc5\xb6\x26\xbe\xe2\x88\xbd\x24\x82\xda\x97\x94\x48\x3d\x6d\xb3\x5b\x9a\x6f\x5d\x9d\x76\xeb\xb2\x4d\x73\x22\xb6\x25\x17\x4c\x53\xa3\xa7\xe5\x42\xc8\x82\x08\x54\x48\xc3\xe2\xe2\x31\x00\xd4\xb6\x27\x6a\x5a\x53\x61\xbc\x18\xf1\xca\x49\x45\x4e\xb5\x13\x5d\xa2\x72\x40\xdf\x44\xb9\x35\x71\x65\xe6\x9b\xa7\x08\xe8\x77\x58\x3e\xb5\x2a\xbb\xb9\xa1\x56\xb5\x44\x15\xaf\xd3\xe5\xa6\x26\x92\x7a\xff\xee\x2d\x65\x5e\x77\xdd\x6e\xbe\xab\x1b\x90\xf1\xf5\xf5\x25\x4d\x8f\xa6\xf3\xb1\x01\xae\x19\xa6\xea\xb7\x0b\xfa\xda\xaf\x4b\x62\x02\x59\x30\x40\x40\xc5\x86\xd7\xbf\x2a\xad\xab\x19\xc6\xaa\x6f\x36\x83\x61\xa4\x2a\x2d\xe5\x40\xf3\xb8\x09\x4f\xf9\xe7\xca\xb7\x12\xdd\x6d\x49\x48\xd8\x63\x50\xa9\xab\x05\xd6\x21\xa2\xad\x7a\xc7\xe5\x06\xc4\x75\xa1\x11\x9e\xa2\xb0\x76\xb9\x74\x59\xc1\x28\x15\x22\x48\xc0\x85\xb7\xd4\x61\x9d\xcd\x57\x67\x84\x06\x4c\x69\xc4\xde\x34\xf5\x96\x62\x5f\xd2\x9f\x8f\xf0\xcd\x3f\xe3\xf2\x00\x93\xe5\x39\xb1\x99\xf6\x28\x7d\xf7\xf2\x24\xfd\xcf\x7f\xfa\xf1\xc7\x59\xfa\xa6\xe3\x09\xc1\x34\xf2\x37\x1e\x5b\x0a\xca\x52\xea\x40\x69\xe6\x76\x34\xfc\x0f\x98\xc0\x1f\xa4\xcf\x90\xfa\xdf\x8b\xcf\x19\x89\x01\xc5\x6c\x59\x6f\x5f\xf0\xe4\xde\x66\xdd\x2c\xe1\x14\xa2\x1a\x25\xa7\xab\xa2\xca\x29\xa0\x0b\xb2\xa6\x05\x5c\x47\xd3\x83\xe5\x59\x84\x93\xf9\xb2\xae\x6e\xca\x86\x3b\xf4\x6Line truncated
func confLocaleLocale_enUsIniBytes() ([]byte, error) { func confLocaleLocale_enUsIniBytes() ([]byte, error) {
return bindataRead( return bindataRead(
@@ -787,7 +787,7 @@ func confLocaleLocale_enUsIni() (*asset, error) {
return nil, err return nil, err
} }
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 38211, mode: os.FileMode(420), modTime: time.Unix(1439618768, 0)} info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 38275, mode: os.FileMode(420), modTime: time.Unix(1439624188, 0)}
a := &asset{bytes: bytes, info: info} a := &asset{bytes: bytes, info: info}
return a, nil return a, nil
} }
+1 -1
View File
@@ -1 +1 @@
@font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('embedded-opentype'),url(../fonts/octicons.woff?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('woff'),url(../fonts/octicons.ttf?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('truetype'),url(../fonts/octicons.svg?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6#octicons) format('svg');font-weight:400;font-style:normal}.mega-octicon,.octicon{font:normal normal normal 16px/1 octicons;display:inline-block;text-decoration:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mega-octicon{font-size:32px}.octicon-alert:before{content:'\f02d'}.octicon-alignment-align:before{content:'\f08a'}.octicon-alignment-aligned-to:before{content:'\f08e'}.octicon-alignment-unalign:before{content:'\f08b'}.octicon-arrow-down:before{content:'\f03f'}.octicon-arrow-left:before{content:'\f040'}.octicon-arrow-right:before{content:'\f03e'}.octicon-arrow-small-down:before{content:'\f0a0'}.octicon-arrow-small-left:before{content:'\f0a1'}.octicon-arrow-small-right:before{content:'\f071'}.octicon-arrow-small-up:before{content:'\f09f'}.octicon-arrow-up:before{content:'\f03d'}.octicon-beer:before{content:'\f069'}.octicon-book:before{content:'\f007'}.octicon-bookmark:before{content:'\f07b'}.octicon-briefcase:before{content:'\f0d3'}.octicon-broadcast:before{content:'\f048'}.octicon-browser:before{content:'\f0c5'}.octicon-bug:before{content:'\f091'}.octicon-calendar:before{content:'\f068'}.octicon-check:before{content:'\f03a'}.octicon-checklist:before{content:'\f076'}.octicon-chevron-down:before{content:'\f0a3'}.octicon-chevron-left:before{content:'\f0a4'}.octicon-chevron-right:before{content:'\f078'}.octicon-chevron-up:before{content:'\f0a2'}.octicon-circle-slash:before{content:'\f084'}.octicon-circuit-board:before{content:'\f0d6'}.octicon-clippy:before{content:'\f035'}.octicon-clock:before{content:'\f046'}.octicon-cloud-download:before{content:'\f00b'}.octicon-cloud-upload:before{content:'\f00c'}.octicon-code:before{content:'\f05f'}.octicon-color-mode:before{content:'\f065'}.octicon-comment-add:before,.octicon-comment:before{content:'\f02b'}.octicon-comment-discussion:before{content:'\f04f'}.octicon-credit-card:before{content:'\f045'}.octicon-dash:before{content:'\f0ca'}.octicon-dashboard:before{content:'\f07d'}.octicon-database:before{content:'\f096'}.octicon-device-camera:before{content:'\f056'}.octicon-device-camera-video:before{content:'\f057'}.octicon-device-desktop:before{content:'\f27c'}.octicon-device-mobile:before{content:'\f038'}.octicon-diff:before{content:'\f04d'}.octicon-diff-added:before{content:'\f06b'}.octicon-diff-ignored:before{content:'\f099'}.octicon-diff-modified:before{content:'\f06d'}.octicon-diff-removed:before{content:'\f06c'}.octicon-diff-renamed:before{content:'\f06e'}.octicon-ellipsis:before{content:'\f09a'}.octicon-eye-unwatch:before,.octicon-eye-watch:before,.octicon-eye:before{content:'\f04e'}.octicon-file-binary:before{content:'\f094'}.octicon-file-code:before{content:'\f010'}.octicon-file-directory:before{content:'\f016'}.octicon-file-media:before{content:'\f012'}.octicon-file-pdf:before{content:'\f014'}.octicon-file-submodule:before{content:'\f017'}.octicon-file-symlink-directory:before{content:'\f0b1'}.octicon-file-symlink-file:before{content:'\f0b0'}.octicon-file-text:before{content:'\f011'}.octicon-file-zip:before{content:'\f013'}.octicon-flame:before{content:'\f0d2'}.octicon-fold:before{content:'\f0cc'}.octicon-gear:before{content:'\f02f'}.octicon-gift:before{content:'\f042'}.octicon-gist:before{content:'\f00e'}.octicon-gist-secret:before{content:'\f08c'}.octicon-git-branch-create:before,.octicon-git-branch-delete:before,.octicon-git-branch:before{content:'\f020'}.octicon-git-commit:before{content:'\f01f'}.octicon-git-compare:before{content:'\f0ac'}.octicon-git-merge:before{content:'\f023'}.octicon-git-pull-request-abandoned:before,.octicon-git-pull-request:before{content:'\f009'}.octicon-globe:before{content:'\f0b6'}.octicon-graph:before{content:'\f043'}.octicon-heart:before{content:'\2665'}.octicon-history:before{content:'\f07e'}.octicon-home:before{content:'\f08d'}.octicon-horizontal-rule:before{content:'\f070'}.octicon-hourglass:before{content:'\f09e'}.octicon-hubot:before{content:'\f09d'}.octicon-inbox:before{content:'\f0cf'}.octicon-info:before{content:'\f059'}.octicon-issue-closed:before{content:'\f028'}.octicon-issue-opened:before{content:'\f026'}.octicon-issue-reopened:before{content:'\f027'}.octicon-jersey:before{content:'\f019'}.octicon-jump-down:before{content:'\f072'}.octicon-jump-left:before{content:'\f0a5'}.octicon-jump-right:before{content:'\f0a6'}.octicon-jump-up:before{content:'\f073'}.octicon-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.ocLine truncated @font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('embedded-opentype'),url(../fonts/octicons.woff?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('woff'),url(../fonts/octicons.ttf?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6) format('truetype'),url(../fonts/octicons.svg?v=345f8bad9c5003db196d08f05e7f030fd2a32ff6#octicons) format('svg');font-weight:400;font-style:normal}.mega-octicon,.octicon{font:normal normal normal 16px/1 octicons;display:inline-block;text-decoration:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mega-octicon{font-size:32px}.octicon-alert:before{content:'\f02d'}.octicon-alignment-align:before{content:'\f08a'}.octicon-alignment-aligned-to:before{content:'\f08e'}.octicon-alignment-unalign:before{content:'\f08b'}.octicon-arrow-down:before{content:'\f03f'}.octicon-arrow-left:before{content:'\f040'}.octicon-arrow-right:before{content:'\f03e'}.octicon-arrow-small-down:before{content:'\f0a0'}.octicon-arrow-small-left:before{content:'\f0a1'}.octicon-arrow-small-right:before{content:'\f071'}.octicon-arrow-small-up:before{content:'\f09f'}.octicon-arrow-up:before{content:'\f03d'}.octicon-beer:before{content:'\f069'}.octicon-book:before{content:'\f007'}.octicon-bookmark:before{content:'\f07b'}.octicon-briefcase:before{content:'\f0d3'}.octicon-broadcast:before{content:'\f048'}.octicon-browser:before{content:'\f0c5'}.octicon-bug:before{content:'\f091'}.octicon-calendar:before{content:'\f068'}.octicon-check:before{content:'\f03a'}.octicon-checklist:before{content:'\f076'}.octicon-chevron-down:before{content:'\f0a3'}.octicon-chevron-left:before{content:'\f0a4'}.octicon-chevron-right:before{content:'\f078'}.octicon-chevron-up:before{content:'\f0a2'}.octicon-circle-slash:before{content:'\f084'}.octicon-circuit-board:before{content:'\f0d6'}.octicon-clippy:before{content:'\f035'}.octicon-clock:before{content:'\f046'}.octicon-cloud-download:before{content:'\f00b'}.octicon-cloud-upload:before{content:'\f00c'}.octicon-code:before{content:'\f05f'}.octicon-color-mode:before{content:'\f065'}.octicon-comment-add:before,.octicon-comment:before{content:'\f02b'}.octicon-comment-discussion:before{content:'\f04f'}.octicon-credit-card:before{content:'\f045'}.octicon-dash:before{content:'\f0ca'}.octicon-dashboard:before{content:'\f07d'}.octicon-database:before{content:'\f096'}.octicon-device-camera:before{content:'\f056'}.octicon-device-camera-video:before{content:'\f057'}.octicon-device-desktop:before{content:'\f27c'}.octicon-device-mobile:before{content:'\f038'}.octicon-diff:before{content:'\f04d'}.octicon-diff-added:before{content:'\f06b'}.octicon-diff-ignored:before{content:'\f099'}.octicon-diff-modified:before{content:'\f06d'}.octicon-diff-removed:before{content:'\f06c'}.octicon-diff-renamed:before{content:'\f06e'}.octicon-ellipsis:before{content:'\f09a'}.octicon-eye-unwatch:before,.octicon-eye-watch:before,.octicon-eye:before{content:'\f04e'}.octicon-file-binary:before{content:'\f094'}.octicon-file-code:before{content:'\f010'}.octicon-file-directory:before{content:'\f016'}.octicon-file-media:before{content:'\f012'}.octicon-file-pdf:before{content:'\f014'}.octicon-file-submodule:before{content:'\f017'}.octicon-file-symlink-directory:before{content:'\f0b1'}.octicon-file-symlink-file:before{content:'\f0b0'}.octicon-file-text:before{content:'\f011'}.octicon-file-zip:before{content:'\f013'}.octicon-flame:before{content:'\f0d2'}.octicon-fold:before{content:'\f0cc'}.octicon-gear:before{content:'\f02f'}.octicon-gift:before{content:'\f042'}.octicon-gist:before{content:'\f00e'}.octicon-gist-secret:before{content:'\f08c'}.octicon-git-branch-create:before,.octicon-git-branch-delete:before,.octicon-git-branch:before{content:'\f020'}.octicon-git-commit:before{content:'\f01f'}.octicon-git-compare:before{content:'\f0ac'}.octicon-git-merge:before{content:'\f023'}.octicon-git-pull-request-abandoned:before,.octicon-git-pull-request:before{content:'\f009'}.octicon-globe:before{content:'\f0b6'}.octicon-graph:before{content:'\f043'}.octicon-heart:before{content:'\2665'}.octicon-history:before{content:'\f07e'}.octicon-home:before{content:'\f08d'}.octicon-horizontal-rule:before{content:'\f070'}.octicon-hourglass:before{content:'\f09e'}.octicon-hubot:before{content:'\f09d'}.octicon-inbox:before{content:'\f0cf'}.octicon-info:before{content:'\f059'}.octicon-issue-closed:before{content:'\f028'}.octicon-issue-opened:before{content:'\f026'}.octicon-issue-reopened:before{content:'\f027'}.octicon-jersey:before{content:'\f019'}.octicon-jump-down:before{content:'\f072'}.octicon-jump-left:before{content:'\f0a5'}.octicon-jump-right:before{content:'\f0a6'}.octicon-jump-up:before{content:'\f073'}.octicon-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.ocLine truncated
+9 -1
View File
@@ -118,7 +118,6 @@ function initCommentForm() {
$(this).removeClass('selected active') $(this).removeClass('selected active')
}); });
if (has_update_action) { if (has_update_action) {
updateIssueMeta($menu.data('update-url'), '', ''); updateIssueMeta($menu.data('update-url'), '', '');
} }
@@ -173,6 +172,15 @@ function initRepository() {
return; return;
} }
// New migrate
if ($('.repository.new.migrate').length > 0) {
// Clear browser autocomplete.
if ($('#auth_username').data('need-clear')) {
$('#auth_username').val('');
$('#auth_password').val('');
}
}
// Labels // Labels
if ($('.repository.labels').length > 0) { if ($('.repository.labels').length > 0) {
// Create label // Create label
+3
View File
@@ -74,6 +74,9 @@ img {
&.red { &.red {
color: #d95c5c!important; color: #d95c5c!important;
} }
&.blue {
color: #428bca!important;
}
&.grey { &.grey {
color: #767676!important; color: #767676!important;
a { a {
+35 -29
View File
@@ -12,39 +12,45 @@
margin-top: -5px; margin-top: -5px;
} }
} }
.repository.new.fork { .repository {
form { &.new.migrate,
margin: auto; &.new.fork {
width: 800px!important; form {
.ui.message { margin: auto;
text-align: center; width: 800px!important;
} .ui.message {
@input-padding: 250px !important; text-align: center;
.header {
padding-left: @input-padding+30px;
}
.inline.field > label {
text-align: right;
width: @input-padding;
word-wrap: break-word;
}
.help {
margin-left: @input-padding+10px;
}
.dropdown {
.dropdown.icon {
margin-top: -7px!important;
} }
.text { @input-padding: 250px !important;
margin-right: 0!important; .header {
i { padding-left: @input-padding+30px;
}
.inline.field > label {
text-align: right;
width: @input-padding;
word-wrap: break-word;
}
.help {
margin-left: @input-padding+15px;
}
.dropdown {
.dropdown.icon {
margin-top: -7px!important;
}
.text {
margin-right: 0!important; margin-right: 0!important;
i {
margin-right: 0!important;
}
} }
} }
} .optional .title {
input, margin-left: @input-padding;
textarea { }
width: 50%!important; input,
textarea {
width: 50%!important;
}
} }
} }
} }
+1 -1
View File
@@ -216,7 +216,7 @@ func MigratePost(ctx *middleware.Context, form auth.MigrateRepoForm) {
if strings.Contains(err.Error(), "Authentication failed") { if strings.Contains(err.Error(), "Authentication failed") {
ctx.Data["Err_Auth"] = true ctx.Data["Err_Auth"] = true
ctx.RenderWithErr(ctx.Tr("form.auth_failed", err), MIGRATE, &form) ctx.RenderWithErr(ctx.Tr("form.auth_failed", strings.Replace(err.Error(), ":"+form.AuthPassword+"@", ":<password>@", 1)), MIGRATE, &form)
return return
} }
+2 -2
View File
@@ -108,7 +108,7 @@
<!-- Optional Settings --> <!-- Optional Settings -->
<h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4> <h4 class="ui dividing header">{{.i18n.Tr "install.optional_title"}}</h4>
<div class="ui accordion optional field"> <div class="ui accordion optional field">
<div class="title {{if .Err_SMTP}}text-error{{end}}"> <div class="title {{if .Err_SMTP}}text red{{end}}">
<i class="icon dropdown"></i> <i class="icon dropdown"></i>
{{.i18n.Tr "install.email_title"}} {{.i18n.Tr "install.email_title"}}
</div> </div>
@@ -173,7 +173,7 @@
</div> </div>
<div class="ui accordion optional field"> <div class="ui accordion optional field">
<div class="title {{if .Err_Admin}}text-error{{end}}"> <div class="title {{if .Err_Admin}}text red{{end}}">
<i class="icon dropdown"></i> <i class="icon dropdown"></i>
{{.i18n.Tr "install.admin_title"}} {{.i18n.Tr "install.admin_title"}}
</div> </div>
+94 -79
View File
@@ -1,82 +1,97 @@
{{template "ng/base/head" .}} {{template "base/head" .}}
{{template "ng/base/header" .}} <div class="repository new migrate">
<div id="repo-wrapper"> <div class="ui middle very relaxed page grid">
<form id="repo-migrate-form" class="form form-align panel panel-radius" action="{{AppSubUrl}}/repo/migrate" method="post"> <div class="column">
{{.CsrfTokenHtml}} <form class="ui form" action="{{.Link}}" method="post">
<div class="panel-header"><h2>{{.i18n.Tr "new_migrate"}}</h2></div> {{.CsrfTokenHtml}}
<div class="panel-content"> <h3 class="ui top attached header">
{{template "ng/base/alert" .}} {{.i18n.Tr "new_migrate"}}
<div class="field"> </h3>
<label class="req" for="clone_addr">{{.i18n.Tr "repo.migrate.clone_address"}}</label> <div class="ui attached segment">
<input class="ipt ipt-large ipt-radius {{if .Err_CloneAddr}}ipt-error{{end}}" id="clone_addr" name="clone_addr" type="text" value="{{.clone_addr}}" required /> {{template "base/alert" .}}
<div class="inline required field {{if .Err_CloneAddr}}error{{end}}">
<label for="clone_addr">{{.i18n.Tr "repo.migrate.clone_address"}}</label>
<input id="clone_addr" name="clone_addr" value="{{.clone_addr}}" autofocus required>
<span class="help">{{.i18n.Tr "repo.migrate.clone_address_desc"}}</span>
</div>
<div class="ui accordion optional field">
<div class="title {{if .Err_Auth}}text red active{{end}}">
<i class="icon dropdown"></i>
{{.i18n.Tr "repo.need_auth"}}
</div> </div>
<div class="field"> <div class="content {{if .Err_Auth}}active{{end}}">
<span class="form-label"></span> <div class="inline field {{if .Err_Auth}}error{{end}}">
<button class="btn btn-large btn-gray btn-radius" id="auth-button" data-toggle="collapse" data-target="#repo-import-auth">{{.i18n.Tr "repo.need_auth"}}</button> <label for="auth_username">{{.i18n.Tr "username"}}</label>
<div id="repo-migrate-auth" {{if not .Err_Auth}}class="hide"{{end}}> <input id="auth_username" name="auth_username" value="{{.auth_username}}123" {{if not .auth_username}}data-need-clear="true"{{end}}>
<div class="field"> </div>
<label for="auth_username">{{.i18n.Tr "username"}}</label> <div class="inline field {{if .Err_Auth}}error{{end}}">
<input class="ipt ipt-large ipt-radius {{if .Err_Auth}}ipt-error{{end}}" id="auth_username" name="auth_username" type="text" value="{{.auth_username}}" /> <label for="auth_password">{{.i18n.Tr "password"}}</label>
</div> <input id="auth_password" name="auth_password" type="password" value="{{.auth_password}}">
<div class="field"> </div>
<label for="auth_password">{{.i18n.Tr "password"}}</label>
<input class="ipt ipt-large ipt-radius {{if .Err_Auth}}ipt-error{{end}}" id="auth_password" name="auth_password" type="password" value="{{.auth_password}}" />
</div>
</div>
</div> </div>
<hr/> </div>
<div class="field">
<label for="owner" class="req">{{.i18n.Tr "repo.owner"}}</label> <div class="ui divider"></div>
<input id="repo-owner-id" type="hidden" name="uid" value="{{.ContextUser.Id}}" />
<div class="inline-block drop"> <div class="inline required field {{if .Err_Owner}}error{{end}}">
<a href="#" class="drop-bottom"> <label>{{.i18n.Tr "repo.owner"}}</label>
<img class="avatar" src="{{.ContextUser.AvatarLink}}" id="repo-owner-avatar" alt="user-avatar"> <div class="ui selection dropdown">
<strong id="repo-owner-name">{{.ContextUser.Name}}</strong> <input type="hidden" id="uid" name="uid" value="{{.ContextUser.Id}}" required>
</a> <span class="text">
<ul class="drop-down menu menu-vertical menu-radius switching-list" id="repo-create-owner-list"> <img class="ui mini image" src="{{.ContextUser.AvatarLink}}">
<li {{if eq $.ContextUser.Id .SignedUser.Id}}class="checked"{{end}} data-uid="{{.SignedUser.Id}}"> {{.ContextUser.Name}}
<a> </span>
<i class="octicon octicon-check"></i> <i class="dropdown icon"></i>
<img class="avatar" src="{{.SignedUser.AvatarLink}}" alt="user-avatar"> <div class="menu">
<strong>{{.SignedUser.Name}}</strong> <div class="item" data-value="{{.SignedUser.Id}}">
</a> <img class="ui mini image" src="{{.SignedUser.AvatarLink}}">
</li> {{.SignedUser.Name}}
{{range .Orgs}} </div>
<li {{if eq $.ContextUser.Id .Id}}class="checked"{{end}} data-uid="{{.Id}}"> {{range .Orgs}}
<a> {{if .IsOwnedBy $.SignedUser.Id}}
<i class="octicon octicon-check"></i> <div class="item" data-value="{{.Id}}">
<img class="avatar" src="{{.AvatarLink}}" alt="user-avatar"> <img class="ui mini image" src="{{.AvatarLink}}">
<strong>{{.Name}}</strong> {{.Name}}
</a> </div>
</li> {{end}}
{{end}} {{end}}
</ul> </div>
</div> </div>
</div> </div>
<div class="field">
<label class="req" for="repo-name">{{.i18n.Tr "repo.repo_name"}}</label> <div class="inline required field {{if .Err_RepoName}}error{{end}}">
<input class="ipt ipt-large ipt-radius {{if .Err_RepoName}}ipt-error{{end}}" id="repo-name" name="repo_name" type="text" value="{{.repo_name}}" required /> <label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label>
</div> <input id="repo_name" name="repo_name" value="{{.repo_name}}" required>
<div class="field"> </div>
<label for="visibility">{{.i18n.Tr "repo.visibility"}}</label> <div class="inline field">
<input class="ipt-chk" id="visibility" name="private" type="checkbox" {{if .private}}checked{{end}} /> <label>{{.i18n.Tr "repo.visibility"}}</label>
<span>{{.i18n.Tr "repo.visiblity_helper" | Str2html}}</span> <div class="ui toggle checkbox">
</div> <input name="private" type="checkbox" {{if .private}}checked{{end}}>
<div class="field"> <label>{{.i18n.Tr "repo.visiblity_helper" | Safe}}</label>
<label for="migrate_type">{{.i18n.Tr "repo.migrate_type"}}</label> </div>
<input class="ipt-chk" id="migrate_type" name="mirror" type="checkbox" {{if .mirror}}checked{{end}} /> </div>
<span>{{.i18n.Tr "repo.migrate_type_helper" | Str2html}}</span> <div class="inline field">
</div> <label>{{.i18n.Tr "repo.migrate_type"}}</label>
<div class="field clear"> <div class="ui toggle checkbox">
<label class="left" for="description">{{.i18n.Tr "repo.repo_desc"}}</label> <input name="mirror" type="checkbox" {{if .mirror}}checked{{end}}>
<textarea class="ipt ipt-large ipt-radius {{if .Err_Description}}ipt-error{{end}}" id="description" name="description">{{.description}}</textarea> <label>{{.i18n.Tr "repo.migrate_type_helper" | Safe}}</label>
</div> </div>
<div class="field"> </div>
<label for="repo-create-submit"></label> <div class="inline field {{if .Err_Description}}error{{end}}">
<button class="btn btn-large btn-blue btn-radius" id="repo-create-submit">{{.i18n.Tr "repo.migrate_repo"}}</button> <label for="description">{{.i18n.Tr "repo.repo_desc"}}</label>
<a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a> <textarea id="description" name="description">{{.description}}</textarea>
</div> </div>
</div>
</form> <div class="inline field">
<label></label>
<button class="ui green button">
{{.i18n.Tr "repo.migrate_repo"}}
</button>
<a class="ui button" href="{{AppSubUrl}}/">{{.i18n.Tr "cancel"}}</a>
</div>
</div>
</form>
</div>
</div>
</div> </div>
{{template "ng/base/footer" .}} {{template "base/footer" .}}
+82
View File
@@ -0,0 +1,82 @@
{{template "ng/base/head" .}}
{{template "ng/base/header" .}}
<div id="repo-wrapper">
<form id="repo-migrate-form" class="form form-align panel panel-radius" action="{{AppSubUrl}}/repo/migrate" method="post">
{{.CsrfTokenHtml}}
<div class="panel-header"><h2>{{.i18n.Tr "new_migrate"}}</h2></div>
<div class="panel-content">
{{template "ng/base/alert" .}}
<div class="field">
<label class="req" for="clone_addr">{{.i18n.Tr "repo.migrate.clone_address"}}</label>
<input class="ipt ipt-large ipt-radius {{if .Err_CloneAddr}}ipt-error{{end}}" id="clone_addr" name="clone_addr" type="text" value="{{.clone_addr}}" required />
</div>
<div class="field">
<span class="form-label"></span>
<button class="btn btn-large btn-gray btn-radius" id="auth-button" data-toggle="collapse" data-target="#repo-import-auth">{{.i18n.Tr "repo.need_auth"}}</button>
<div id="repo-migrate-auth" {{if not .Err_Auth}}class="hide"{{end}}>
<div class="field">
<label for="auth_username">{{.i18n.Tr "username"}}</label>
<input class="ipt ipt-large ipt-radius {{if .Err_Auth}}ipt-error{{end}}" id="auth_username" name="auth_username" type="text" value="{{.auth_username}}" />
</div>
<div class="field">
<label for="auth_password">{{.i18n.Tr "password"}}</label>
<input class="ipt ipt-large ipt-radius {{if .Err_Auth}}ipt-error{{end}}" id="auth_password" name="auth_password" type="password" value="{{.auth_password}}" />
</div>
</div>
</div>
<hr/>
<div class="field">
<label for="owner" class="req">{{.i18n.Tr "repo.owner"}}</label>
<input id="repo-owner-id" type="hidden" name="uid" value="{{.ContextUser.Id}}" />
<div class="inline-block drop">
<a href="#" class="drop-bottom">
<img class="avatar" src="{{.ContextUser.AvatarLink}}" id="repo-owner-avatar" alt="user-avatar">
<strong id="repo-owner-name">{{.ContextUser.Name}}</strong>
</a>
<ul class="drop-down menu menu-vertical menu-radius switching-list" id="repo-create-owner-list">
<li {{if eq $.ContextUser.Id .SignedUser.Id}}class="checked"{{end}} data-uid="{{.SignedUser.Id}}">
<a>
<i class="octicon octicon-check"></i>
<img class="avatar" src="{{.SignedUser.AvatarLink}}" alt="user-avatar">
<strong>{{.SignedUser.Name}}</strong>
</a>
</li>
{{range .Orgs}}
<li {{if eq $.ContextUser.Id .Id}}class="checked"{{end}} data-uid="{{.Id}}">
<a>
<i class="octicon octicon-check"></i>
<img class="avatar" src="{{.AvatarLink}}" alt="user-avatar">
<strong>{{.Name}}</strong>
</a>
</li>
{{end}}
</ul>
</div>
</div>
<div class="field">
<label class="req" for="repo-name">{{.i18n.Tr "repo.repo_name"}}</label>
<input class="ipt ipt-large ipt-radius {{if .Err_RepoName}}ipt-error{{end}}" id="repo-name" name="repo_name" type="text" value="{{.repo_name}}" required />
</div>
<div class="field">
<label for="visibility">{{.i18n.Tr "repo.visibility"}}</label>
<input class="ipt-chk" id="visibility" name="private" type="checkbox" {{if .private}}checked{{end}} />
<span>{{.i18n.Tr "repo.visiblity_helper" | Str2html}}</span>
</div>
<div class="field">
<label for="migrate_type">{{.i18n.Tr "repo.migrate_type"}}</label>
<input class="ipt-chk" id="migrate_type" name="mirror" type="checkbox" {{if .mirror}}checked{{end}} />
<span>{{.i18n.Tr "repo.migrate_type_helper" | Str2html}}</span>
</div>
<div class="field clear">
<label class="left" for="description">{{.i18n.Tr "repo.repo_desc"}}</label>
<textarea class="ipt ipt-large ipt-radius {{if .Err_Description}}ipt-error{{end}}" id="description" name="description">{{.description}}</textarea>
</div>
<div class="field">
<label for="repo-create-submit"></label>
<button class="btn btn-large btn-blue btn-radius" id="repo-create-submit">{{.i18n.Tr "repo.migrate_repo"}}</button>
<a class="btn btn-small btn-gray btn-radius" id="repo-create-cancel" href="{{AppSubUrl}}/"><strong>{{.i18n.Tr "cancel"}}</strong></a>
</div>
</div>
</form>
</div>
{{template "ng/base/footer" .}}