new access token UI

This commit is contained in:
Unknwon committed 2015-08-19 03:36:16 +08:00
1 parent 2e8ffc2ffb
commit 4c7b6414eb
15 files changed
+234 -201

No files matched your search

+3 -1
View File
@@ -271,7 +271,9 @@ func runWeb(ctx *cli.Context) {
m.Get("/ssh", user.SettingsSSHKeys)
m.Post("/ssh", bindIgnErr(auth.AddSSHKeyForm{}), user.SettingsSSHKeysPost)
m.Get("/social", user.SettingsSocial)
m.Combo("/applications").Get(user.SettingsApplications).Post(bindIgnErr(auth.NewAccessTokenForm{}), user.SettingsApplicationsPost)
m.Combo("/applications").Get(user.SettingsApplications).
Post(bindIgnErr(auth.NewAccessTokenForm{}), user.SettingsApplicationsPost)
m.Post("/applications/delete", user.SettingsDeleteApplication)
m.Route("/delete", "GET,POST", user.SettingsDelete)
}, reqSignIn, func(ctx *middleware.Context) {
ctx.Data["PageIsUserSettings"] = true
+4 -2
View File
@@ -286,13 +286,15 @@ unbind_success = Social account has been unbound.
manage_access_token = Manage Personal Access Tokens
generate_new_token = Generate New Token
tokens_desc = Tokens you have generated that can be used to access the Gogs API.
tokens_desc = Tokens you have generated that can be used to access the Gogs APIs.
new_token_desc = Each token will have full access to your account.
token_name = Token Name
generate_token = Generate Token
generate_token_succees = Your access token was successfully generated! Make sure to copy it right now, as you won't be able to see it again later!
delete_token = Delete
delete_token_success = This personal access token has been successfully removed successfully! Don't forget to update your applications as well.
access_token_deletion = Personal Access Token Deletion
access_token_deletion_desc = Delete this personal access token will remove all related accesses of application. Do you want to continue?
delete_token_success = Personal access token has been removed successfully! Don't forget to update your application as well.
delete_account = Delete Your Account
delete_prompt = The operation will delete your account permanently, and <strong>CANNOT</strong> be undone!
+95 -95
View File
@@ -14,9 +14,9 @@ version=當前版本
page=頁面
template=模版
language=語言選項
create_new=Create new...
user_profile_and_more=User profile and more
signed_in_as=Signed in as
create_new=創建新的...
user_profile_and_more=用戶信息及更多
signed_in_as=已登錄用戶
username=用戶名
email=郵箱
@@ -35,8 +35,8 @@ manage_org=管理我的組織
admin_panel=管理面版
account_settings=帳戶設置
settings=帳戶設置
your_profile=Your Profile
your_settings=Your Settings
your_profile=個人信息
your_settings=用戶設置
news_feed=最新活動
pull_requests=合併請求
@@ -268,16 +268,16 @@ add_key=增加密鑰
ssh_desc=以下是與您帳戶所關聯的 SSH 密鑰,如果您發現有陌生的密鑰,請立即刪除它!
ssh_helper=<strong>需要幫助嗎?</strong> 請查看有關 <a href="%s"> 如何生成 SSH 密鑰</a> 的指南或 <a href="%s"> SSH 的常見問題</a> 的疑難排解。
add_new_key=增加 SSH 密鑰
ssh_key_been_used=Public key content has been used.
ssh_key_name_used=Public key with same name has already existed.
ssh_key_been_used=公共密鑰已經被使用
ssh_key_name_used=使用相同名稱的公共密鑰已經存在!
key_name=密鑰名稱
key_content=密鑰內容
add_key_success=New SSH key '%s' has been added successfully!
add_key_success=新的 SSH 密鑰 '%s' 添加成功!
delete_key=刪除
add_on=增加於
last_used=上次使用在
no_activity=沒有最近活動
key_state_desc=This key is used in last 7 days
key_state_desc=該密鑰在 7 天內被使用過
manage_social=管理關聯社交帳戶
social_desc=以下是與您帳戶所關聯的社交帳號,如果您發現有陌生的關聯,請立即解除綁定!
@@ -305,7 +305,7 @@ owner=擁有者
repo_name=倉庫名稱
repo_name_helper=偉大的倉庫名稱一般都較短、令人深刻並且 <strong>獨一無二</strong> 的。
visibility=可見度
visiblity_helper=This repository is <span class="ui red text">Private</span>
visiblity_helper=該倉庫為 <span class="ui red text">私有的</span>
fork_repo=派生倉庫
fork_from=派生自
fork_visiblity_helper=派生倉庫無法修改可見性。
@@ -324,10 +324,10 @@ form.name_pattern_not_allowed=倉庫名稱不允許 '%s' 的格式。
need_auth=需要授權驗證
migrate_type=遷移類型
migrate_type_helper=This repository will be a <span class="text blue">mirror</span>
migrate_type_helper=該倉庫將是一個 <span class="text blue">鏡像</span>
migrate_repo=遷移倉庫
migrate.clone_address=複製地址
migrate.clone_address_desc=This can be a HTTP/HTTPS/GIT URL or local server path.
migrate.clone_address_desc=該地址可以是 HTTP/HTTPS/GIT URL 或本地服務器路徑。
migrate.invalid_local_path=無效的本地路徑,該路徑不存在或不是一個目錄!
forked_from=派生自
@@ -373,64 +373,64 @@ commits.older=更舊的提交
commits.newer=更新的提交
issues.new=創建問題
issues.new.labels=Labels
issues.new.no_label=No Label
issues.new.clear_labels=Clear labels
issues.new.milestone=Milestone
issues.new.no_milestone=No Milestone
issues.new.clear_milestone=Clear milestone
issues.new.open_milestone=Open Milestones
issues.new.closed_milestone=Closed Milestones
issues.new.assignee=Assignee
issues.new.clear_assignee=Clear assignee
issues.new.no_assignee=No assignee
issues.create=Create Issue
issues.new.labels=標籤
issues.new.no_label=未選擇標籤
issues.new.clear_labels=清除已選取標籤
issues.new.milestone=里程碑
issues.new.no_milestone=未選擇里程碑
issues.new.clear_milestone=清除已選取里程碑
issues.new.open_milestone=開啟中的里程碑
issues.new.closed_milestone=已關閉的里程碑
issues.new.assignee=指派成員
issues.new.clear_assignee=取消指派成員
issues.new.no_assignee=未指派成員
issues.create=創建問題
issues.new_label=創建標籤
issues.new_label_placeholder=標籤名稱...
issues.create_label=Create Label
issues.create_label=創建標籤
issues.open_tab=%d 個開啓中
issues.close_tab=%d 個已關閉
issues.filter_label=標籤篩選
issues.filter_label_no_select=無篩選標籤
issues.filter_milestone=里程碑篩選
issues.filter_milestone_no_select=No selected milestone
issues.filter_milestone_no_select=無篩選里程碑
issues.filter_assignee=指派人篩選
issues.filter_assginee_no_select=No selected Assignee
issues.filter_assginee_no_select=無篩選指派人
issues.filter_type=類型篩選
issues.filter_type.all_issues=所有問題
issues.filter_type.assigned_to_you=指派給您的
issues.filter_type.created_by_you=由您創建的
issues.filter_type.mentioning_you=提及您的
issues.filter_sort=Sort
issues.filter_sort.latest=Newest
issues.filter_sort.oldest=Oldest
issues.filter_sort.recentupdate=Recently updated
issues.filter_sort.leastupdate=Least recently updated
issues.filter_sort.mostcomment=Most commented
issues.filter_sort.leastcomment=Least commented
issues.filter_sort=排序
issues.filter_sort.latest=最新創建
issues.filter_sort.oldest=最早創建
issues.filter_sort.recentupdate=最近更新
issues.filter_sort.leastupdate=最少更新
issues.filter_sort.mostcomment=最多評論
issues.filter_sort.leastcomment=最少評論
issues.opened_by=由 <a href="/%[2]s">%[2]s</a> 於%[1]s創建
issues.opened_by_fake=opened %[1]s by %[2]s
issues.opened_by_fake=由 %[2]s 於 %[1]s創建
issues.previous=上一頁
issues.next=下一頁
issues.open_title=Open
issues.closed_title=Closed
issues.num_comments=%d comments
issues.commented_at=`commented at <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.no_content=There is no content yet.
issues.close_issue=Close
issues.close_comment_issue=Close and comment
issues.reopen_issue=Reopen
issues.reopen_comment_issue=Reopen and comment
issues.create_comment=Comment
issues.closed_at=`closed at <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`reopened at <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.poster=Poster
issues.admin=Admin
issues.owner=Owner
issues.sign_up_for_free=Sign up for free
issues.sign_in_require_desc=to join this conversation. Already have an account? <a href="%s">Sign in to comment</a>
issues.edit=Edit
issues.save=Save
issues.open_title=開啟中
issues.closed_title=已關閉
issues.num_comments=%d 條評論
issues.commented_at=`於 <a id="%[1]s" href="#%[1]s">%[2]s</a> 評論`
issues.no_content=尚未有任何內容
issues.close_issue=關閉
issues.close_comment_issue=關閉及評論
issues.reopen_issue=重新開啟
issues.reopen_comment_issue=重新開啟及評論
issues.create_comment=評論
issues.closed_at=`於 <a id="%[1]s" href="#%[1]s">%[2]s</a> 關閉`
issues.reopened_at=`於 <a id="%[1]s" href="#%[1]s">%[2]s</a> 重新開啟`
issues.poster=發佈者
issues.admin=管理員
issues.owner=所有者
issues.sign_up_for_free=免費註冊
issues.sign_in_require_desc=及加入到對話當中。如果您已經註冊,可以直接 <a href="%s">登錄及評論</a>
issues.edit=編輯
issues.save=保存
issues.label_title=標籤名稱
issues.label_color=標籤顏色
issues.label_count=%d 個標籤
@@ -442,33 +442,33 @@ issues.label_deletion=刪除標籤
issues.label_deletion_desc=刪除該標籤將會移除所有問題中相關的訊息。是否繼續?
issues.label_deletion_success=標籤刪除成功!
pulls.compare_changes=Compare Changes
pulls.compare_changes_desc=Compare two branches and make a pull request for changes.
pulls.no_results=No results found.
pulls.compare_changes=對比文件變化
pulls.compare_changes_desc=對比兩個分支間的文件變化及發起一個合併請求。
pulls.no_results=未找到結果
milestones.new=New Milestone
milestones.open_tab=%d Open
milestones.close_tab=%d Closed
milestones.closed=Closed %s
milestones.no_due_date=No due date
milestones.open=Open
milestones.close=Close
milestones.new_subheader=Create milestones to organize your issues.
milestones.create=Create Milestone
milestones.title=Title
milestones.desc=Description
milestones.due_date=Due Date (optional)
milestones.clear=Clear
milestones.invalid_due_date_format=Due date format is invalid, must be 'year-mm-dd'.
milestones.create_success=Milestone '%s' has been created successfully!
milestones.edit=Edit Milestone
milestones.edit_subheader=Use better description for milestones so people won't be confused.
milestones.cancel=Cancel
milestones.modify=Modify Milestone
milestones.edit_success=Changes of milestone '%s' has been saved successfully!
milestones.deletion=Milestone Deletion
milestones.deletion_desc=Delete this milestone will remove its information in all related issues. Do you want to continue?
milestones.deletion_success=Milestone has been deleted successfully!
milestones.new=新的里程碑
milestones.open_tab=%d 開啟中
milestones.close_tab=%d 已關閉
milestones.closed=於 %s關閉
milestones.no_due_date=暫無截止日期
milestones.open=開啟
milestones.close=關閉
milestones.new_subheader=創建里程碑來更好地組織你的問題
milestones.create=創建里程碑
milestones.title=標題
milestones.desc=描述
milestones.due_date=截止日期(可選)
milestones.clear=清除
milestones.invalid_due_date_format=截止日期的格式錯誤,必須是 'year-mm-dd' 的形式。
milestones.create_success=里程碑 '%s' 創建成功!
milestones.edit=編輯里程碑
milestones.edit_subheader=使用更加清晰的描述來幫助人們更好地理解里程碑的作用。
milestones.cancel=取消
milestones.modify=修改里程碑
milestones.edit_success=里程碑 '%s' 的修改內容已經生效!
milestones.deletion=刪除里程碑
milestones.deletion_desc=刪除該里程碑將會移除所有問題中相關信息。是否繼續?
milestones.deletion_success=里程碑刪除成功!
settings=倉庫設置
settings.options=基本設置
@@ -523,16 +523,16 @@ settings.slack_token=令牌
settings.slack_domain=域名
settings.slack_channel=頻道
settings.deploy_keys=管理部署密鑰
settings.add_deploy_key=Add Deploy Key
settings.no_deploy_keys=You haven't added any deploy key.
settings.title=Title
settings.deploy_key_content=Content
settings.key_been_used=Deploy key content has been used.
settings.key_name_used=Deploy key with same name has already existed.
settings.add_key_success=New deploy key '%s' has been added successfully!
settings.deploy_key_deletion=Delete Deploy Key
settings.deploy_key_deletion_desc=Delete this deploy key will remove all related accesses for this repository. Do you want to continue?
settings.deploy_key_deletion_success=Deploy key has been deleted successfully!
settings.add_deploy_key=添加部署密鑰
settings.no_deploy_keys=您還沒有添加任何部署密鑰。
settings.title=標題
settings.deploy_key_content=密鑰文本
settings.key_been_used=部署密鑰已經被使用!
settings.key_name_used=使用相同名稱的部署密鑰已經存在!
settings.add_key_success=新的部署密鑰 '%s' 添加成功!
settings.deploy_key_deletion=刪除部署密鑰
settings.deploy_key_deletion_desc=刪除該部署密鑰會移除本倉庫所有相關的操作權限。是否繼續?
settings.deploy_key_deletion_success=刪除部署密鑰成功!
diff.browse_source=瀏覽代碼
diff.parent=父節點
@@ -806,7 +806,7 @@ config.enable_cache_avatar=開啟緩存頭像
config.active_code_lives=激活用戶連結有效期
config.reset_password_code_lives=重置密碼連結有效期
config.webhook_config=Web 鉤子配置
config.queue_length=Queue Length
config.queue_length=隊列長度
config.deliver_timeout=推送超時
config.skip_tls_verify=忽略 TLS 驗證
config.mailer_config=郵件配置
@@ -885,7 +885,7 @@ raw_seconds=秒
raw_minutes=分鐘
[dropzone]
default_message=Drop files here or click to upload.
invalid_input_type=You can't upload files of this type.
file_too_big=File size({{filesize}} MB) exceeds maximum size({{maxFilesize}} MB).
remove_file=Remove file
default_message=拖曳文件到此處或單擊上傳
invalid_input_type=您不能上傳該類型的文件
file_too_big=文件大小({{filesize}} MB)超過了最大允許大小({{maxFilesize}} MB)
remove_file=移除文件
+2 -2
View File
@@ -62,8 +62,8 @@ func ListAccessTokens(uid int64) ([]*AccessToken, error) {
return tokens, nil
}
// DeleteAccessTokenById deletes access token by given ID.
func DeleteAccessTokenById(id int64) error {
// DeleteAccessTokenByID deletes access token by given ID.
func DeleteAccessTokenByID(id int64) error {
_, err := x.Id(id).Delete(new(AccessToken))
return err
}
+1 -1
View File
@@ -135,7 +135,7 @@ func (f *AddSSHKeyForm) Validate(ctx *macaron.Context, errs binding.Errors) bind
}
type NewAccessTokenForm struct {
Name string `form:"name" binding:"Required"`
Name string `binding:"Required"`
}
func (f *NewAccessTokenForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
+5 -5
View File
@@ -127,7 +127,7 @@ func confAppIni() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "conf/app.ini", size: 9508, mode: os.FileMode(420), modTime: time.Unix(1439834110, 0)}
info := bindataFileInfo{name: "conf/app.ini", size: 9508, mode: os.FileMode(420), modTime: time.Unix(1439835459, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -772,7 +772,7 @@ func confLocaleLocale_deDeIni() (*asset, error) {
return a, nil
}
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\xfd\x72\xdb\x48\x92\xe7\xff\x78\x0a\xb4\x37\x7c\x76\x47\xc8\x74\x74\x4f\xdc\x47\x4c\xd8\xee\x93\xa5\xf6\xc7\xac\x65\x69\x2d\x79\xe6\xe6\x1c\x0e\x34\x48\x40\x24\x46\x24\xc0\x06\x40\xd1\x9a\x8d\x8d\xb8\xd7\xb8\xd7\xbb\x27\xb9\xcc\x5f\x66\xd6\x07\x00\xca\xf6\xec\xc6\xdd\x3f\x64\xa1\x2a\xeb\x2b\x2b\x2b\x2b\x33\x2b\xab\x2a\xdf\x6e\xb3\xa2\xec\x16\xe9\xf3\xf4\x38\xdd\xe6\x55\xbd\x2e\xbb\x2e\xed\xca\xf5\xf5\x93\x55\xd3\xf5\x65\x91\xbe\xae\x7a\xfa\x6e\x6f\xab\x45\x99\x24\xab\x66\x53\x12\xe8\x1b\xfa\x4b\x8a\xbc\x5b\xcd\x9b\xbc\x2d\x28\xe2\xd4\xc2\x49\xf9\x65\xbb\x6e\x5a\x06\xfa\x55\x42\xc9\xaa\x5c\x6f\x39\x0f\xfd\x25\x5d\xb5\xac\xb3\xaa\xa6\xcf\x4b\x0a\xa5\x6f\xeb\xa4\x6b\x16\x55\xbe\xce\x82\x04\x44\x58\xfa\x1f\xd3\x9f\xeb\x22\xbd\xec\xcb\x6d\xfa\xac\xdb\xe4\xeb\xf5\x8b\xbc\x43\x96\xbe\x4c\xf3\xc5\xa2\xd9\xd5\xfd\xb3\xa7\x92\x20\x85\x37\xbb\xde\x4a\x3f\xdf\xf5\x12\xb7\xdb\x5a\xd4\xc7\x6d\xd2\x96\xcb\x8a\x3a\xd6\x52\xd4\x07\x0d\x26\xfb\x72\xde\x55\x3d\x37\xfa\x2f\x12\x4a\x6e\xcb\xb6\xab\x1a\x6e\xcf\x9f\x25\x94\x6c\xf3\x25\x03\x5c\xd0\x5f\xd2\x97\x9b\xed\x3a\x47\x86\x2b\x0d\x26\xeb\xbc\x5e\xee\x04\xe6\x9d\x06\x93\x45\x5b\x52\x52\x56\x97\x7b\x8a\x3d\xc1\x47\x4a\x1f\xb3\xd9\x2c\xd9\x11\x4e\xb3\x6d\xdb\x5c\x57\xeb\x32\xcb\xeb\x22\xdb\x08\xd6\x3e\x52\x7c\xaa\xf1\x29\xc5\xa7\x1c\x8f\x6e\x94\x05\x21\x28\xcb\x3b\xed\x0b\x0d\x0d\xe1\x2b\xef\x12\x14\x55\xe7\x1b\xcb\xcd\xc1\xa4\xdc\xe4\xd5\x9a\x07\xe1\x09\x07\xa8\xf1\x5d\xb7\x6f\x30\x54\x17\x1a\x24\x44\x64\xfd\xdd\xb6\x04\x1e\x9e\x5c\x51\x28\x59\xe4\xdb\x7e\xb1\xca\xb9\xad\x12\x4a\x08\x68\xdb\x10\x42\x9a\xf6\x0e\x70\xf6\x91\x34\xed\x32\xaf\xab\xbf\xe7\xbd\x20\xe9\x3c\xf8\x4c\x36\x55\xdb\x36\x8c\xdf\x33\x04\x12\xea\x71\xc6\xe5\x50\xcc\x7b\xc2\x44\x50\x0a\xa7\x6c\xaa\x65\x2b\xa8\xe4\xc4\x33\x7c\x71\x29\x9c\x76\xdd\xb4\x37\x9a\xf0\x8a\x83\x83\xac\xd4\x08\x4d\x8d\xeb\xcf\x6b\x42\xbe\xa6\x9e\xe1\x23\x02\xe8\x92\xbc\xd8\x10\x2a\xb7\x79\x5d\x32\x8e\x8e\xf9\x8b\xf0\x42\x5f\x89\xd2\x54\xd6\x95\x7d\x5f\xd5\x4b\x46\xf6\xb1\x44\xa5\x97\x1a\x95\x04\x69\x2e\xee\xae\xd9\xb9\xe1\xa4\xf8\xbf\xd2\x67\x7a\x21\x9f\x92\x16\x64\x42\xa2\xcb\xc9\x3d\xe9\xb2\xeb\xb2\x2c\xa4\x2f\x5d\xfa\x8a\xc2\xc9\x76\xb7\x5e\x13\xd6\x7e\xdf\x95\x5d\xcf\x99\x2e\xe8\x9b\xfa\x2f\xdf\x49\xd5\x75\x14\xa0\xe8\xb7\x08\x24\x34\x74\xf5\x02\x9d\x39\x41\x20\x49\x3e\x75\x65\xde\x2e\x56\x9f\x13\xf9\x47\x5b\x39\xc0\xb4\x77\x68\x50\x99\x90\x94\x88\xa4\x06\xab\x20\x59\x34\x05\x7f\x9c\xd0\x1f\x15\x5d\xd5\x5d\x4f\x33\xee\x73\xa2\x01\x06\x93\x90\x0c\x40\x5f\xf5\xc0\x82\x46\x62\xfa\x76\x3c\x82\xe9\xab\xaa\xed\xfa\x27\x7d\x45\xc4\xfa\x61\x57\x27\xdc\x3f\x9a\x6d\x59\x31\x37\x26\xf4\xba\x21\x14\x21\xba\xa5\xfe\x9d\xdd\x5d\xfe\xcb\xbb\xa3\xf4\x82\x38\xd1\xb2\x2d\x29\x9c\x52\x19\xf4\x47\x79\xfe\x30\x4b\x28\x97\xd5\x74\x9a\xf7\xf9\x3c\xef\x4a\x8f\x56\x4e\x14\xea\x76\x69\xa0\x71\xe6\x6a\xe0\x60\x5d\x1f\xf5\x77\x6a\x86\x50\x19\x3a\xaf\x5c\x19\xef\x79\x72\x51\x3c\x33\x35\x64\xbe\x58\x97\x1c\x4f\x45\xa5\x6f\xdf\xbf\x3f\x3f\x7d\x99\x96\xf5\xb2\xaa\xcb\x74\x5f\xf5\xab\x74\xd7\x5f\xff\xb7\x6c\x59\xd6\x65\x4b\x3c\x6e\x51\xa5\x34\xa7\x5a\xa2\x84\x94\x08\x5b\x3a\x37\x4b\xba\x6e\x4d\x73\x1f\xe8\xbd\xbc\x7c\x97\x9e\x31\x8a\xb7\x79\xbf\x42\x43\xfa\x55\xd2\xfd\xbe\x66\x14\xb9\x0a\xaf\x56\x65\x0a\x2a\x03\x50\x73\x6d\xf8\x48\x0b\x6d\xe3\x2c\x29\xdb\x36\x23\xb6\xd4\xdf\x65\x9a\x59\xcb\x1b\x42\x4a\x11\x44\x3a\x75\xd3\xa7\xf3\x32\x45\x9e\x59\x92\x58\x83\x0d\xbb\xc7\xdb\xed\xba\x5a\xc8\x5c\x7f\x2d\x69\x1e\xd1\xbc\x82\x28\x96\x42\x38\x20\xca\xd2\x02\x74\x11\x7b\xe6\xf9\x90\x46\x0c\x04\xf9\x57\x25\x31\xc0\xd5\x6e\x29\x6c\x6f\xdd\xec\x8a\x1f\x40\xa9\xd6\x7a\x4f\xa8\xe9\x87\x86\x1a\x0c\xec\x38\x00\x5f\xc5\x31\x51\x1c\x2f\x5a\x6d\xb9\x69\x88\xaf\x38\x62\xaf\x88\xa0\xf6\x15\x25\x52\x4f\xbb\xfc\x96\xe6\x5b\xdf\xa4\xfd\xaa\xea\xd2\x82\x88\x6d\xc1\x05\xd3\xd4\xd8\xd1\x72\x21\x64\x41\x04\x2a\xa4\x61\x71\xf1\x18\x00\x6a\xb3\x23\x6a\x5a\x51\x61\xbc\x18\xf1\xca\x49\x45\x4e\xb5\x13\x5d\xa2\x72\x40\xdf\x44\xb9\x0d\x71\x65\xe6\x9b\xa7\x08\xe8\x77\x58\x3e\xb5\x2a\xbf\xbe\xa6\x56\x75\x44\x15\x6f\xd2\xc5\xba\x21\x92\xfa\xf8\xe1\x1d\x65\x5e\xf5\xfd\x36\xdb\x36\x2d\xc8\xf8\xea\xea\x82\xa6\x47\xdb\xfb\xd8\x00\xd7\x0c\x53\xef\x36\x73\xfa\xda\xaf\x2a\x62\x02\x79\x30\x40\x40\xc5\x9a\xd7\xbf\x3a\x6d\xea\x19\xc6\x6a\xd7\xae\x07\xc3\x48\x55\x5a\xca\x81\xe6\x71\x13\x9e\xf2\xcf\xa5\x6f\x25\xba\xdb\x91\x90\xb0\xc7\xa0\x52\x57\x4b\xac\x43\x44\x5b\xcd\x96\xcb\x0d\x88\xeb\x5c\x23\x3c\x45\x61\xed\x72\xe9\xb2\x82\x51\x2a\x44\x90\x80\x0b\x6f\xa8\xc3\x3a\x9b\x2f\xcf\x08\x0d\x98\xd2\x88\xbd\x6e\x9b\x0d\xc5\xbe\xa2\x3f\x1f\xe1\x9b\x7f\xc6\xe5\x01\x26\x2f\x0a\x62\x33\xdd\x51\xfa\xe1\xd5\x49\xfa\x9f\xff\xf0\xf3\xcf\xb3\xf4\x6d\xcf\x13\x82\x69\xe4\x6f\x3c\xb6\x14\x94\xa5\xd4\x81\xd2\xcc\xed\x69\xf8\x1f\x30\x81\x3f\x48\x9f\x21\xf5\xbf\x97\x5f\x72\x12\x03\xca\xd9\xa2\xd9\xbc\xe0\xc9\xbd\xc9\xfb\x59\xc2\x29\x44\x35\x4a\x4e\x97\x65\x5d\x50\x40\x17\x64\x4d\x0b\xb8\x8e\xa6\x07\xcb\xb3\x08\x27\xd9\xa2\xa9\xaf\xab\x96\x3b\xfLine truncated
var _confLocaleLocale_enUsIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x7d\xfd\x72\xdb\x48\x92\xe7\xff\x78\x0a\xb4\x37\x7c\x76\x47\xc8\x74\x74\x4f\xdc\x47\x4c\xd8\xee\x93\xa5\xf6\xc7\xac\x65\x69\x2d\x79\xe6\xe6\x1c\x0e\x34\x48\x40\x24\x46\x24\xc0\x06\x40\xd1\x9a\x8d\x8d\xb8\xd7\xb8\xd7\xbb\x27\xb9\xcc\x5f\x66\xd6\x07\x00\xca\xf6\xec\xc6\xdd\x3f\x64\xa1\x2a\xeb\x2b\x2b\x2b\x2b\x33\x2b\xab\x2a\xdf\x6e\xb3\xa2\xec\x16\xe9\xf3\xf4\x38\xdd\xe6\x55\xbd\x2e\xbb\x2e\xed\xca\xf5\xf5\x93\x55\xd3\xf5\x65\x91\xbe\xae\x7a\xfa\x6e\x6f\xab\x45\x99\x24\xab\x66\x53\x12\xe8\x1b\xfa\x4b\x8a\xbc\x5b\xcd\x9b\xbc\x2d\x28\xe2\xd4\xc2\x49\xf9\x65\xbb\x6e\x5a\x06\xfa\x55\x42\xc9\xaa\x5c\x6f\x39\x0f\xfd\x25\x5d\xb5\xac\xb3\xaa\xa6\xcf\x4b\x0a\xa5\x6f\xeb\xa4\x6b\x16\x55\xbe\xce\x82\x04\x44\x58\xfa\x1f\xd3\x9f\xeb\x22\xbd\xec\xcb\x6d\xfa\xac\xdb\xe4\xeb\xf5\x8b\xbc\x43\x96\xbe\x4c\xf3\xc5\xa2\xd9\xd5\xfd\xb3\xa7\x92\x20\x85\x37\xbb\xde\x4a\x3f\xdf\xf5\x12\xb7\xdb\x5a\xd4\xc7\x6d\xd2\x96\xcb\x8a\x3a\xd6\x52\xd4\x07\x0d\x26\xfb\x72\xde\x55\x3d\x37\xfa\x2f\x12\x4a\x6e\xcb\xb6\xab\x1a\x6e\xcf\x9f\x25\x94\x6c\xf3\x25\x03\x5c\xd0\x5f\xd2\x97\x9b\xed\x3a\x47\x86\x2b\x0d\x26\xeb\xbc\x5e\xee\x04\xe6\x9d\x06\x93\x45\x5b\x52\x52\x56\x97\x7b\x8a\x3d\xc1\x47\x4a\x1f\xb3\xd9\x2c\xd9\x11\x4e\xb3\x6d\xdb\x5c\x57\xeb\x32\xcb\xeb\x22\xdb\x08\xd6\x3e\x52\x7c\xaa\xf1\x29\xc5\xa7\x1c\x8f\x6e\x94\x05\x21\x28\xcb\x3b\xed\x0b\x0d\x0d\xe1\x2b\xef\x12\x14\x55\xe7\x1b\xcb\xcd\xc1\xa4\xdc\xe4\xd5\x9a\x07\xe1\x09\x07\xa8\xf1\x5d\xb7\x6f\x30\x54\x17\x1a\x24\x44\x64\xfd\xdd\xb6\x04\x1e\x9e\x5c\x51\x28\x59\xe4\xdb\x7e\xb1\xca\xb9\xad\x12\x4a\x08\x68\xdb\x10\x42\x9a\xf6\x0e\x70\xf6\x91\x34\xed\x32\xaf\xab\xbf\xe7\xbd\x20\xe9\x3c\xf8\x4c\x36\x55\xdb\x36\x8c\xdf\x33\x04\x12\xea\x71\xc6\xe5\x50\xcc\x7b\xc2\x44\x50\x0a\xa7\x6c\xaa\x65\x2b\xa8\xe4\xc4\x33\x7c\x71\x29\x9c\x76\xdd\xb4\x37\x9a\xf0\x8a\x83\x83\xac\xd4\x08\x4d\x8d\xeb\xcf\x6b\x42\xbe\xa6\x9e\xe1\x23\x02\xe8\x92\xbc\xd8\x10\x2a\xb7\x79\x5d\x32\x8e\x8e\xf9\x8b\xf0\x42\x5f\x89\xd2\x54\xd6\x95\x7d\x5f\xd5\x4b\x46\xf6\xb1\x44\xa5\x97\x1a\x95\x04\x69\x2e\xee\xae\xd9\xb9\xe1\xa4\xf8\xbf\xd2\x67\x7a\x21\x9f\x92\x16\x64\x42\xa2\xcb\xc9\x3d\xe9\xb2\xeb\xb2\x2c\xa4\x2f\x5d\xfa\x8a\xc2\xc9\x76\xb7\x5e\x13\xd6\x7e\xdf\x95\x5d\xcf\x99\x2e\xe8\x9b\xfa\x2f\xdf\x49\xd5\x75\x14\xa0\xe8\xb7\x08\x24\x34\x74\xf5\x02\x9d\x39\x41\x20\x49\x3e\x75\x65\xde\x2e\x56\x9f\x13\xf9\x47\x5b\x39\xc0\xb4\x77\x68\x50\x99\x90\x94\x88\xa4\x06\xab\x20\x59\x34\x05\x7f\x9c\xd0\x1f\x15\x5d\xd5\x5d\x4f\x33\xee\x73\xa2\x01\x06\x93\x90\x0c\x40\x5f\xf5\xc0\x82\x46\x62\xfa\x76\x3c\x82\xe9\xab\xaa\xed\xfa\x27\x7d\x45\xc4\xfa\x61\x57\x27\xdc\x3f\x9a\x6d\x59\x31\x37\x26\xf4\xba\x21\x14\x21\xba\xa5\xfe\x9d\xdd\x5d\xfe\xcb\xbb\xa3\xf4\x82\x38\xd1\xb2\x2d\x29\x9c\x52\x19\xf4\x47\x79\xfe\x30\x4b\x28\x97\xd5\x74\x9a\xf7\xf9\x3c\xef\x4a\x8f\x56\x4e\x14\xea\x76\x69\xa0\x71\xe6\x6a\xe0\x60\x5d\x1f\xf5\x77\x6a\x86\x50\x19\x3a\xaf\x5c\x19\xef\x79\x72\x51\x3c\x33\x35\x64\xbe\x58\x97\x1c\x4f\x45\xa5\x6f\xdf\xbf\x3f\x3f\x7d\x99\x96\xf5\xb2\xaa\xcb\x74\x5f\xf5\xab\x74\xd7\x5f\xff\xb7\x6c\x59\xd6\x65\x4b\x3c\x6e\x51\xa5\x34\xa7\x5a\xa2\x84\x94\x08\x5b\x3a\x37\x4b\xba\x6e\x4d\x73\x1f\xe8\xbd\xbc\x7c\x97\x9e\x31\x8a\xb7\x79\xbf\x42\x43\xfa\x55\xd2\xfd\xbe\x66\x14\xb9\x0a\xaf\x56\x65\x0a\x2a\x03\x50\x73\x6d\xf8\x48\x0b\x6d\xe3\x2c\x29\xdb\x36\x23\xb6\xd4\xdf\x65\x9a\x59\xcb\x1b\x42\x4a\x11\x44\x3a\x75\xd3\xa7\xf3\x32\x45\x9e\x59\x92\x58\x83\x0d\xbb\xc7\xdb\xed\xba\x5a\xc8\x5c\x7f\x2d\x69\x1e\xd1\xbc\x82\x28\x96\x42\x38\x20\xca\xd2\x02\x74\x11\x7b\xe6\xf9\x90\x46\x0c\x04\xf9\x57\x25\x31\xc0\xd5\x6e\x29\x6c\x6f\xdd\xec\x8a\x1f\x40\xa9\xd6\x7a\x4f\xa8\xe9\x87\x86\x1a\x0c\xec\x38\x00\x5f\xc5\x31\x51\x1c\x2f\x5a\x6d\xb9\x69\x88\xaf\x38\x62\xaf\x88\xa0\xf6\x15\x25\x52\x4f\xbb\xfc\x96\xe6\x5b\xdf\xa4\xfd\xaa\xea\xd2\x82\x88\x6d\xc1\x05\xd3\xd4\xd8\xd1\x72\x21\x64\x41\x04\x2a\xa4\x61\x71\xf1\x18\x00\x6a\xb3\x23\x6a\x5a\x51\x61\xbc\x18\xf1\xca\x49\x45\x4e\xb5\x13\x5d\xa2\x72\x40\xdf\x44\xb9\x0d\x71\x65\xe6\x9b\xa7\x08\xe8\x77\x58\x3e\xb5\x2a\xbf\xbe\xa6\x56\x75\x44\x15\x6f\xd2\xc5\xba\x21\x92\xfa\xf8\xe1\x1d\x65\x5e\xf5\xfd\x36\xdb\x36\x2d\xc8\xf8\xea\xea\x82\xa6\x47\xdb\xfb\xd8\x00\xd7\x0c\x53\xef\x36\x73\xfa\xda\xaf\x2a\x62\x02\x79\x30\x40\x40\xc5\x9a\xd7\xbf\x3a\x6d\xea\x19\xc6\x6a\xd7\xae\x07\xc3\x48\x55\x5a\xca\x81\xe6\x71\x13\x9e\xf2\xcf\xa5\x6f\x25\xba\xdb\x91\x90\xb0\xc7\xa0\x52\x57\x4b\xac\x43\x44\x5b\xcd\x96\xcb\x0d\x88\xeb\x5c\x23\x3c\x45\x61\xed\x72\xe9\xb2\x82\x51\x2a\x44\x90\x80\x0b\x6f\xa8\xc3\x3a\x9b\x2f\xcf\x08\x0d\x98\xd2\x88\xbd\x6e\x9b\x0d\xc5\xbe\xa2\x3f\x1f\xe1\x9b\x7f\xc6\xe5\x01\x26\x2f\x0a\x62\x33\xdd\x51\xfa\xe1\xd5\x49\xfa\x9f\xff\xf0\xf3\xcf\xb3\xf4\x6d\xcf\x13\x82\x69\xe4\x6f\x3c\xb6\x14\x94\xa5\xd4\x81\xd2\xcc\xed\x69\xf8\x1f\x30\x81\x3f\x48\x9f\x21\xf5\xbf\x97\x5f\x72\x12\x03\xca\xd9\xa2\xd9\xbc\xe0\xc9\xbd\xc9\xfb\x59\xc2\x29\x44\x35\x4a\x4e\x97\x65\x5d\x50\x40\x17\x64\x4d\x0b\xb8\x8e\xa6\x07\xcb\xb3\x08\x27\xd9\xa2\xa9\xaf\xab\x96\x3b\xfLine truncated
func confLocaleLocale_enUsIniBytes() ([]byte, error) {
return bindataRead(
@@ -787,7 +787,7 @@ func confLocaleLocale_enUsIni() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 38312, mode: os.FileMode(420), modTime: time.Unix(1439728947, 0)}
info := bindataFileInfo{name: "conf/locale/locale_en-US.ini", size: 38486, mode: os.FileMode(420), modTime: time.Unix(1439926073, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -992,7 +992,7 @@ func confLocaleLocale_zhCnIni() (*asset, error) {
return a, nil
}
var _confLocaleLocale_zhHkIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\xbd\xeb\x73\x1b\x47\x92\x20\xfe\x5d\x11\xfa\x1f\x7a\xb5\xe1\xf0\x4e\xc4\xcf\x54\x78\x26\x7e\x77\xf7\x41\xd0\x9c\xc7\xf2\x78\x7c\xe7\xd7\x5a\x76\x6c\x6c\x4c\x38\x30\x4d\xa0\x49\x62\x05\xa0\x31\x68\x40\x34\x67\x63\x23\x40\xc9\x14\x41\x91\x14\x29\x89\xa4\x44\x91\x12\x45\x3d\x28\x8a\x12\x5f\xb2\x1e\x14\x5f\xfa\x63\x8c\x6e\x00\x9f\xfc\x2f\x5c\xbe\xaa\xba\xba\xd1\xa0\xe4\x89\xb9\xfb\x22\x11\x5d\x59\x55\x59\x59\x59\x59\x99\x59\x59\x59\x76\xa9\x94\xce\x3a\x5e\x26\xe5\x2f\xed\x06\x73\xfb\xd6\xa7\xae\xd5\x5a\xbb\xd3\x5a\xad\x35\x6f\xfd\xd8\x1a\x5d\xf3\x2f\x3f\xb6\x3e\xcd\x55\xac\x60\x71\xd2\x1f\x9f\x3f\x7e\xec\xf8\xb1\x01\xb7\xe0\xa4\xda\x2b\x73\xed\xbb\xc3\xc7\x8f\x65\x6d\x6f\xa0\xd7\xb5\xcb\xd9\x54\x70\xe5\x91\x5f\x7f\xd9\xbe\x7d\xaf\x39\x56\x3f\x7e\xcc\xf9\xa1\x94\x77\xcb\x0e\x7c\xbd\xd7\x7c\x7e\x0f\x2a\x39\xf9\x52\xca\x7f\xfd\x04\x9a\x3b\x7e\xcc\xcb\xf5\x17\xd3\xb9\x62\xaa\x39\xbf\xd7\x9e\xf8\x11\x7e\xbb\x99\x9c\x9d\x4f\xeb\xcf\x0f\x0e\x1b\xbb\x0f\xfc\x9d\x9f\x5a\xf3\x4b\x0c\xf2\xcb\xfe\xad\xe6\xd3\xa7\xd6\x6f\xad\x60\xfd\xa1\x75\xca\x2b\xd8\xf9\xfc\xe9\xf6\x8d\xc5\xd6\xf0\x26\x43\x9d\x3a\xc9\xdf\xa4\x69\xb7\x5a\x49\xb5\x6b\x35\x7f\x74\x57\x3e\x54\x4b\xa9\xd6\xea\x9e\x7f\xe9\xf2\xf1\x63\x65\xa7\x3f\xe7\x55\x9c\xb2\xfe\x30\xe8\xf4\x7a\xb9\x8a\x93\xf2\x37\x6e\x06\x73\xaf\x9b\x2f\x9f\x35\x9f\xc0\x30\xcf\x3b\x65\x2f\xe7\x02\x2e\xb3\x2f\xfd\xb1\x49\x18\x52\xb0\xf8\xf4\xf8\xb1\x92\xdd\x0f\x43\xbf\x3b\x0c\xa3\x3c\x7e\xac\xe2\x14\x4a\x79\x1b\x6a\x06\xab\xcb\x34\xe6\xbc\x5d\xec\xaf\x22\x04\xd3\xaf\x3d\xbc\xd3\xbe\x3b\x72\xfc\x58\xa6\xec\x00\x54\xba\xe8\x0c\xa6\x3e\xa6\x3f\x2d\xf8\xb3\xa7\xa7\xe7\xf8\xb1\xaa\xe7\x94\xd3\xa5\xb2\xdb\x97\xcb\x3b\x69\xbb\x98\x4d\x17\x90\x64\xdf\xc1\x57\x4b\xbe\x5a\xf0\xd5\xc2\xaf\x3c\x10\x27\x0b\xf4\x49\xdb\x5e\xea\x2c\xfd\xb0\x72\x45\xcb\xf6\x70\x4e\xb0\xa5\xa2\x0d\xf3\xd2\x9c\x59\x0d\xea\x2f\xfd\xe9\x49\x98\x82\x82\x9d\xcb\xa7\xda\x17\x5f\x34\x37\xb6\x11\x75\xcf\x1b\x74\x61\x9e\xfc\xcd\x4b\xcd\x7b\xfb\x48\x88\x74\x65\xa8\x04\x35\xee\xed\xb6\xd6\x26\xd5\xd7\x8c\x5d\xaa\x64\x06\xec\x54\xfb\xf1\x8d\xd6\xfa\x18\x7d\x42\xd0\x92\x0b\x34\x72\xcb\x43\x29\xbf\x36\xe6\xef\x3e\x39\x7e\xcc\x2d\xf7\xdb\xc5\xdc\xdf\xec\x0a\x11\xe9\xc5\x8f\xcd\xd7\x33\xc7\x8f\x15\x72\xe5\xb2\x5b\x4e\xb5\xa7\x96\xfd\x8b\x53\xc7\x8f\xc1\x30\xd3\x58\x35\xe5\x8f\xbd\xf0\xf7\x80\xb9\xb6\x80\xa5\x54\x03\x58\x58\xc8\xf5\x97\x91\x80\xed\xe1\x57\xcd\x47\x7b\xfe\x83\xb9\xf6\xc5\x55\xb3\xbc\xcf\x2d\x9f\x4b\x71\xb5\xe0\xf9\x61\x73\x66\xc9\x2c\x04\x0c\x22\x0d\x6b\x24\xec\x22\xcc\x01\x15\x37\x37\x96\x9b\xd3\x97\x82\xfa\x55\xa3\xd8\xce\x16\x80\x84\x25\xbb\xe8\xe4\xa5\x5c\xb1\xac\x9d\xc9\xb8\xd5\x62\x25\xed\x39\x95\x4a\xae\xd8\xef\xa5\x80\xb7\x80\x96\xad\xd5\xf5\xe6\xc1\x06\xd0\x3f\xf9\xf3\x90\x5b\xd5\x73\x98\xfa\x77\xf8\x61\x7d\xcd\x3f\xa4\x48\x57\xa3\xb2\xb3\xf2\x0b\xa9\x0a\x83\xf0\xd2\x7d\x8e\x03\x4b\x67\xb1\x06\x63\x08\x9e\xef\xf9\xe3\xb3\x30\x53\xd5\x7c\x1e\xe8\xf6\xd7\xaa\xe3\x55\xa0\xb7\xe9\x7a\xe3\xe0\x45\xeb\xc9\x78\xb0\x7d\xe1\xf8\xb1\x9c\xe7\xc1\xe7\x94\x3f\x3b\xd5\x5e\x9e\x60\xf4\xb1\xa9\x8c\x5d\xcc\xc0\x78\xfc\xa9\xb9\xe0\x65\x1d\x3f\xfc\xd9\x73\xec\x72\x66\xe0\x7b\x44\x1b\xff\x48\x05\xd3\x8b\xfe\xd6\x38\x71\x5d\xc2\x6c\x22\xfb\x08\xeb\x48\x1f\x29\xff\xd5\x43\x7f\x0e\xc6\x97\x71\xb3\xc0\x23\xab\xe3\xfe\xfe\x94\x70\xc3\x9f\x73\x45\xaf\x02\xab\x0d\x1a\x97\xbf\x60\xed\x8c\xb5\xee\xdf\xd6\x0b\x23\x57\xc9\x93\x84\x08\x9e\x2e\xfb\x4b\xaf\x5a\xcb\x13\x5c\x8e\xad\xec\x4e\x21\x02\x7f\xad\xc2\x8a\x4b\x67\x7b\x59\xf0\x7c\xea\xf6\x7b\x96\x3f\x32\xdc\x5a\xdd\xf6\x0f\x27\x9a\x4f\x36\x83\xd9\x9d\xe0\xfa\x2d\xc0\xac\x79\x61\xd7\xfa\x62\xe8\xec\xbf\x7e\xfe\x73\x6d\xf8\x6b\xd7\xab\xf4\x97\x1d\xf8\x61\x05\xf5\x39\x0b\xfe\x87\x36\x7e\xf7\xcb\xfe\x44\xe3\xe0\x52\x70\x73\x53\x7d\xb0\x1a\x3b\xb5\x56\xfd\xa9\x3f\xb5\x16\x2c\x8e\xf1\x9a\x6e\xec\x4e\xb4\x6b\xcf\x40\x38\x35\xe7\xf7\x01\x19\x5c\xcc\x63\x93\xc1\xcc\x66\x30\x31\xfc\x73\x0d\x88\x0a\x78\x30\xca\xba\x5f\x35\xb9\x58\x82\x6b\x44\x17\xb4\x97\xef\xf8\x77\xc6\x51\x06\x7a\x95\xf0\x6b\x63\x67\x2f\x78\xbc\x24\x64\x0c\x91\x17\x7a\xea\x95\x17\x2b\x51\x4b\x0e\x3a\xa1\xa5\xab\x8b\x61\xf5\x36\x57\xb7\xa9\x00\xc5\x26\xb4\xe9\xaf\x5c\x08\xee\x2c\x06\x17\x56\x1b\x07\x6f\xa0\x32\xd3\x04\x86\x0e\x6c\x21\x5f\x3e\xfb\xf2\xcb\xaf\xce\xfc\xc1\xf2\xf7\x67\x83\xeb\x57\x1a\x7b\x0f\xfd\xa9\xcb\x56\xb5\xd2\xf7\x3f\xd2\xfd\x4e\xd1\x29\x83\x70\xcd\xe4\x2c\x7f\xfd\x46\xf3\xe9\x4a\x7b\xe1\x12\x8d\xda\xf3\xf2\x20\x6f\x60\x72\xcf\x9e\x05\x8a\xae\x2e\xc3\x04\x23\xae\x95\x81\x10\x91\x60\x6e\xb4\xb1\xf7\xb2\xf5\x6a\xd3\x3f\xbc\x0a\x15\xfe\x9a\xc7\x59\x13\x94\x14\xb9\xc3\x41\xc1\x22\x35\xe0\xa9\x0f\xa7\x5c\x4e\x83\x94\xac\x0c\xa5\xa5\x32\xb5\xcf\x55\xad\xc4\x6e\x1a\x3b\x93\xad\x8b\x07\x30\xef\xcd\xc7\xbb\xd4\xc4\xf1\x63\x6a\x04\x32\x47\xa3\x63\x30\x5e\xdc\xab\x16\x9f\xaa\x69\xc2\x2d\x8c\x49\xc8\x85\x42\x3f\xf5\x59\xa1\x0c\xad\x02\x09\xb5\x2c\x80\xd5\xe2\xd7\xc6\xdb\x4b\x6f\x1a\xbb\x1b\xad\xda\x84\x3f\x55\xf7\x87\xc7\xfc\x07\x8f\x50\x48\x49\x0Line truncated
var _confLocaleLocale_zhHkIni = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\x7d\x6b\x73\x53\x49\xb2\xe0\x77\x22\xf8\x0f\x67\xb9\xd1\x31\xbb\x1f\xda\x44\xcf\xc4\x3e\x3e\x20\x76\x7b\xa6\xe7\xf6\xcc\xc6\x74\x4f\xef\xd0\x13\xf7\xc3\x44\x87\x5a\x96\x8e\x6d\x5d\x24\x1d\x8d\x8e\x04\xed\xb9\x71\x23\x64\xc0\xb6\xfc\xc2\x06\x6c\x83\x1f\x60\x6c\xc0\xd8\x06\x1b\x9b\xa7\xf1\x8b\x1f\x33\x3a\x47\xd2\xa7\xfe\x0b\x9b\xaf\xaa\x53\xe7\x21\xd3\x7d\x63\x76\xbf\x80\x75\x2a\xab\x2a\x2b\x2b\x2b\x2b\x33\x2b\x2b\x2b\x53\x2e\xa7\x73\xb6\x9b\x4d\x79\x2b\x07\xfe\xfc\x91\xf5\xa5\x63\xb5\xb7\x1e\xb4\x37\xea\xad\xc5\x1b\xed\xd1\x2d\x6f\x7c\xd3\xfa\x32\x5f\xb5\xfc\xe5\x29\x6f\x62\xe1\xec\x99\xb3\x67\x06\x9c\xa2\x9d\xea\xac\xcf\x77\x1e\x0e\x9d\x3d\x93\xcb\xb8\x03\xbd\x4e\xa6\x92\x4b\xf9\x37\x9f\x7a\x8d\xb7\x9d\xfb\x6b\xad\xb1\xc6\xd9\x33\xf6\x0f\xe5\x82\x53\xb1\xe1\xeb\x5a\xeb\xf5\x1a\x54\xb2\x0b\xe5\x94\xf7\xfe\x19\x34\x77\xf6\x8c\x9b\xef\x2f\xa5\xf3\xa5\x54\x6b\xe1\xb0\x33\x79\x03\x7e\x3b\xd9\x7c\xa6\x90\xd6\x9f\x1f\x9f\x34\x0f\x1e\x7b\xfb\xaf\xda\x0b\x2b\x0c\xf2\xe3\xd1\x62\xeb\xf9\x73\xeb\x97\x96\xbf\xfd\xc4\xba\xe0\x16\x33\x85\xc2\xc5\xce\xdd\xe5\xf6\xd0\x0b\x86\xba\x70\x9e\xbf\x49\xd3\x4e\xad\x9a\xea\xd4\xeb\xde\xe8\x81\x7c\xa8\x95\x53\xed\x8d\x43\x6f\x64\xfc\xec\x99\x8a\xdd\x9f\x77\xab\x76\x45\x7f\xb8\x6a\xf7\xba\xf9\xaa\x9d\xf2\x76\xee\xf9\xf3\xef\x5b\x6f\x5f\xb6\x9e\xc1\x30\xaf\xd8\x15\x37\xef\x00\x2e\x73\x6f\xbd\xb1\x29\x18\x92\xbf\xfc\xfc\xec\x99\x72\xa6\x1f\x86\xfe\x70\x08\x46\x79\xf6\x4c\xd5\x2e\x96\x0b\x19\xa8\xe9\x6f\xac\xd2\x98\x0b\x99\x52\x7f\x0d\x21\x98\x7e\x9d\xa1\xfd\xce\xc3\xe1\xb3\x67\xb2\x15\x1b\xa0\xd2\x25\xfb\x6a\xca\x1b\x7b\xe3\x1d\x02\x95\x77\x81\xb6\x3d\x3d\x3d\x67\xcf\xd4\x5c\xbb\x92\x2e\x57\x9c\xbe\x7c\xc1\x4e\x67\x4a\xb9\x74\x11\x89\xd6\x9a\xdd\xf0\x1b\x6f\x9b\x1f\x56\x7d\x18\xe0\xf4\xb8\xbf\xf4\xda\x7b\xbc\xc8\x43\xb1\x73\x40\xa1\x74\xc6\x4d\x79\xef\x5e\x32\x6d\x18\x18\x27\x06\x1b\x2b\x65\x8a\xaa\xbe\x37\x33\x05\xf3\x50\xcc\xe4\x0b\xa9\xce\xf5\x37\xad\x9d\x3d\xc4\xdf\x75\xaf\x3a\x30\x59\xde\x8b\x91\xd6\xda\x11\x52\x23\x5d\x1d\x2c\x43\x8d\xb5\x83\xf6\xd6\x94\xfa\x9a\xcd\x94\xab\xd9\x81\x4c\xaa\xb3\x79\xb7\xbd\x3d\x46\x9f\x10\xb4\xec\x00\xa1\x9c\xca\x60\xca\xab\x8f\x79\x07\xcf\xce\x9e\x71\x2a\xfd\x99\x52\xfe\x6f\x99\x2a\x51\xea\xcd\x8d\xd6\xfb\xd9\xb3\x67\x8a\xf9\x4a\xc5\xa9\xa4\x3a\xd3\xab\xde\xf5\xe9\xb3\x67\x60\xd8\x69\xac\x1a\x1a\xbb\x6a\x00\x0b\x8b\xf9\xfe\x0a\x52\xb1\x33\xf4\xae\xf5\xf4\xd0\x7b\x3c\xdf\xb9\xbe\x61\x96\xf7\x39\x95\xcb\x29\xae\xe6\xbf\x3e\x69\xcd\xae\x98\x85\x80\x41\xa8\x61\x8d\x44\xa6\x04\x13\x41\xc5\xad\x9d\xd5\xd6\xcc\x88\xdf\xb8\x65\x14\x67\x72\x45\xa0\x62\x39\x53\xb2\x0b\x52\xae\xf8\x36\x93\xcd\x3a\xb5\x52\x35\xed\xda\xd5\x6a\xbe\xd4\x0f\x74\xde\x7f\x05\xb4\x6c\x6f\x6c\xb7\x8e\x77\x60\x0a\x92\x3f\x0f\x3a\x35\x3d\x8d\x40\x9d\x89\xe6\xc1\x01\xcf\x9e\x14\xe9\x6a\x3c\x33\xaa\x1a\x8d\xc1\x4d\xf7\xd9\x36\x2c\x9f\xe5\x3a\x0c\xc1\x7f\x7d\xe8\x4d\xcc\xc1\x44\xd5\x0a\x05\x20\xdb\x5f\x6b\xb6\x5b\x85\xce\x66\x1a\xcd\xe3\x37\xed\x67\x13\xfe\xde\xb5\xb3\x67\xf2\xae\x0b\x9f\x53\xde\xdc\x74\x67\x75\x92\xb1\xc7\xa6\xb2\x99\x52\x16\x86\xe3\x4d\xcf\xfb\x6f\x1b\xf8\xe1\x2f\xae\x9d\xa9\x64\x07\xbe\x43\xac\xf1\x8f\x94\x3f\xb3\xec\xed\x4e\x10\xdf\x25\x4c\x26\x72\x4f\x4a\x31\x13\xf5\x01\x3c\xf6\xc4\x9b\x07\x3c\xb3\x4e\x0e\x58\x64\x63\xc2\x3b\x9a\x16\x66\xf8\x4b\xbe\xe4\x56\x61\xc5\x41\xe3\xf2\x17\xac\x9f\xb1\xf6\xa3\xfb\x7a\x71\xe4\xab\x05\x92\x12\xfe\xf3\x55\x6f\xe5\x5d\x7b\x75\x92\xcb\xb1\x95\x83\x69\x44\xe0\xaf\x35\x58\x75\xe9\x5c\x2f\x0b\x9f\x2f\x9d\x7e\xd7\xf2\x86\x87\xda\x1b\x7b\xde\xc9\x64\xeb\xd9\x0b\x7f\x6e\xdf\xbf\xb3\x08\x98\xb5\xae\x1d\x58\x5f\x0d\x5e\xfa\x3f\x7f\xf8\x7b\x7d\xe8\x1b\xc7\xad\xf6\x57\x6c\xf8\x61\xf9\x8d\x79\x0b\xfe\x87\x36\x7e\xf5\xe3\xd1\x64\xf3\x78\xc4\xbf\xf7\x42\x7d\xb0\x9a\xfb\xf5\x76\xe3\xb9\x37\xbd\xe5\x2f\x8f\xf1\xba\x6e\x1e\x4c\x76\xea\x2f\x41\x40\xb5\x16\x8e\x00\x19\x5c\xd0\x63\x53\xfe\xec\x0b\x7f\x72\xe8\xef\x75\x20\x2a\xe0\xc1\x28\xeb\x7e\xd5\x24\x61\x09\x2e\x11\x5d\xd0\x59\x7d\xe0\x3d\x98\x40\x39\xe8\x56\x83\xaf\xcd\xfd\x43\x7f\x73\x45\xc8\x18\x20\x2f\xf4\xd4\x0b\x2f\x52\xa2\x56\x1c\x74\x42\x2b\x57\x17\xc3\xe2\x6d\x6d\xec\x51\x01\x8a\x4e\x68\xd3\x5b\xbf\xe6\x3f\x58\xf6\xaf\x6d\x34\x8f\x3f\x40\x65\xa6\x09\x0c\x1d\xd8\x42\xbe\xfc\xfe\xeb\xaf\xff\xf8\xc5\xaf\x2d\xef\x68\xce\xbf\x73\xb3\x79\xf8\x04\x44\x87\x55\xab\xf6\xfd\x8f\x74\xbf\x5d\xb2\x2b\x20\x60\xb3\x79\xcb\xdb\xbe\xdb\x7a\xbe\xde\x59\x1a\xa1\x51\xbb\x6e\x01\x24\x0e\x4c\xee\xa5\x4b\x40\xd1\x8d\x55\x98\x60\xc4\xb5\x3a\x10\x20\xe2\xcf\x8f\x36\x0f\xdf\xb6\xdf\xbd\xf0\x4e\x6e\x41\x85\xbf\x16\x70\xd6\x04\x25\x45\xee\x60\x50\xb0\x46\x0d\x78\xea\xc3\xae\x54\xd2\x20\x29\xab\x83\x69\xa9\x4c\xed\x73\x55\x2b\xb1\x9b\xe6\xfe\x54\xfb\xfa\x31\xcc\x7b\x6b\xf3\x80\x9a\x38\x7b\x46\x8d\x40\xe6\x68\x74\x0c\xc6\x8b\xfb\xd5\xf2\x73\x35\x4d\xb8\x8d\x31\x09\xb9\x50\xe8\xa7\x3e\x2b\x94\xa1\x55\x20\xa1\x16\x05\xb0\x5a\x60\xb9\x76\x56\x3e\x34\x0f\x76\xda\xf5\x49\x6f\xba\xe1\x0d\x8d\x79\x8f\x9f\xa2\x8c\x92\x16\x70\xa9\x30\xce\xbc\x5Line truncated
func confLocaleLocale_zhHkIniBytes() ([]byte, error) {
return bindataRead(
@@ -1007,7 +1007,7 @@ func confLocaleLocale_zhHkIni() (*asset, error) {
return nil, err
}
info := bindataFileInfo{name: "conf/locale/locale_zh-HK.ini", size: 37800, mode: os.FileMode(493), modTime: time.Unix(1439758816, 0)}
info := bindataFileInfo{name: "conf/locale/locale_zh-HK.ini", size: 37873, mode: os.FileMode(493), modTime: time.Unix(1439895206, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
+1 -1
View File
@@ -1 +1 @@
@font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('embedded-opentype'),url(../fonts/octicons.woff?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('woff'),url(../fonts/octicons.ttf?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('truetype'),url(../fonts/octicons.svg?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d#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-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-beaker:before,.octicon-microscope:before{content:'\f0dd'}.octicon-bell:before{content:'\f0de'}.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-clone:before,.octicon-desktop-download:before{content:'\f0dc'}.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-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-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.octicon-link:before{content:'\f05c'}.octicon-link-external:before{content:'\f07f'}.octicon-list-ordered:before{content:'\f062'}.octicon-list-unordered:before{content:'\f061'}.octicon-location:before{content:'\f060'}.octicon-gLine truncated
@font-face{font-family:octicons;src:url(../fonts/octicons.eot?#iefix&v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('embedded-opentype'),url(../fonts/octicons.woff?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('woff'),url(../fonts/octicons.ttf?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d) format('truetype'),url(../fonts/octicons.svg?v=396334ee3da78f4302d25c758ae3e3ce5dc3c97d#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-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-beaker:before,.octicon-microscope:before{content:'\f0dd'}.octicon-bell:before{content:'\f0de'}.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-clone:before,.octicon-desktop-download:before{content:'\f0dc'}.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-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-key:before{content:'\f049'}.octicon-keyboard:before{content:'\f00d'}.octicon-law:before{content:'\f0d8'}.octicon-light-bulb:before{content:'\f000'}.octicon-link:before{content:'\f05c'}.octicon-link-external:before{content:'\f07f'}.octicon-list-ordered:before{content:'\f062'}.octicon-list-unordered:before{content:'\f061'}.octicon-location:before{content:'\f060'}.octicon-gLine truncated
+3 -7
View File
@@ -226,13 +226,6 @@ function initRepository() {
});
}
// Settings
if ($('.repository.settings').length > 0) {
$('#add-deploy-key').click(function () {
$('#add-deploy-key-panel').show();
});
}
// Issues
if ($('.repository.view.issue').length > 0) {
var $status_btn = $('#status-button');
@@ -351,6 +344,9 @@ $(document).ready(function () {
}).modal('show');
return false;
});
$('.show-panel.button').click(function () {
$($(this).data('panel')).show();
});
initCommentForm();
initInstall();
+8
View File
@@ -1,4 +1,12 @@
.user {
padding-top: 15px;
padding-bottom: @footer-margin * 3;
&.settings {
.key.list {
.desc.item {
padding-bottom: 30px;
}
}
}
}
+1 -1
View File
@@ -88,7 +88,7 @@ img.avatar-100 {
z-index: 100;
font-size: 12px;
width: 120%;
min-width: 100px;
min-width: 140px;
}
#footer-lang .drop-down li > a {
padding: 3px 9px;
+1 -1
View File
@@ -102,7 +102,7 @@ clear: both;
z-index: 100;
font-size: 12px;
width: 120%;
min-width: 100px;
min-width: 140px;
li > a {
padding: 3px 9px;
}
+1 -1
View File
@@ -1013,7 +1013,7 @@ func ChangeMilestonStatus(ctx *middleware.Context) {
func DeleteMilestone(ctx *middleware.Context) {
if err := models.DeleteMilestoneByID(ctx.QueryInt64("id")); err != nil {
ctx.Flash.Error("DeleteMilestone: " + err.Error())
ctx.Flash.Error("DeleteMilestoneByID: " + err.Error())
} else {
ctx.Flash.Success(ctx.Tr("repo.milestones.deletion_success"))
}
+27 -31
View File
@@ -374,18 +374,6 @@ func SettingsApplications(ctx *middleware.Context) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsApplications"] = true
// Delete access token.
remove, _ := com.StrTo(ctx.Query("remove")).Int64()
if remove > 0 {
if err := models.DeleteAccessTokenById(remove); err != nil {
ctx.Handle(500, "DeleteAccessTokenById", err)
return
}
ctx.Flash.Success(ctx.Tr("settings.delete_token_success"))
ctx.Redirect(setting.AppSubUrl + "/user/settings/applications")
return
}
tokens, err := models.ListAccessTokens(ctx.User.Id)
if err != nil {
ctx.Handle(500, "ListAccessTokens", err)
@@ -396,34 +384,42 @@ func SettingsApplications(ctx *middleware.Context) {
ctx.HTML(200, SETTINGS_APPLICATIONS)
}
// FIXME: split to two different functions and pages to handle access token and oauth2
func SettingsApplicationsPost(ctx *middleware.Context, form auth.NewAccessTokenForm) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsApplications"] = true
switch ctx.Query("type") {
case "token":
if ctx.HasError() {
ctx.HTML(200, SETTINGS_APPLICATIONS)
return
}
t := &models.AccessToken{
UID: ctx.User.Id,
Name: form.Name,
}
if err := models.NewAccessToken(t); err != nil {
ctx.Handle(500, "NewAccessToken", err)
return
}
ctx.Flash.Success(ctx.Tr("settings.generate_token_succees"))
ctx.Flash.Info(t.Sha1)
if ctx.HasError() {
ctx.HTML(200, SETTINGS_APPLICATIONS)
return
}
t := &models.AccessToken{
UID: ctx.User.Id,
Name: form.Name,
}
if err := models.NewAccessToken(t); err != nil {
ctx.Handle(500, "NewAccessToken", err)
return
}
ctx.Flash.Success(ctx.Tr("settings.generate_token_succees"))
ctx.Flash.Info(t.Sha1)
ctx.Redirect(setting.AppSubUrl + "/user/settings/applications")
}
func SettingsDeleteApplication(ctx *middleware.Context) {
if err := models.DeleteAccessTokenByID(ctx.QueryInt64("id")); err != nil {
ctx.Flash.Error("DeleteAccessTokenByID: " + err.Error())
} else {
ctx.Flash.Success(ctx.Tr("settings.delete_token_success"))
}
ctx.JSON(200, map[string]interface{}{
"redirect": setting.AppSubUrl + "/user/settings/applications",
})
}
func SettingsDelete(ctx *middleware.Context) {
ctx.Data["Title"] = ctx.Tr("settings")
ctx.Data["PageIsSettingsDelete"] = true
+1 -1
View File
@@ -9,7 +9,7 @@
<h4 class="ui top attached header">
{{.i18n.Tr "repo.settings.deploy_keys"}}
<div class="ui right">
<div id="add-deploy-key" class="ui blue tiny button">{{.i18n.Tr "repo.settings.add_deploy_key"}}</div>
<div class="ui blue tiny show-panel button" data-panel="#add-deploy-key-panel">{{.i18n.Tr "repo.settings.add_deploy_key"}}</div>
</div>
</h4>
<div class="ui attached segment">
+81 -52
View File
@@ -1,56 +1,85 @@
{{template "ng/base/head" .}}
{{template "ng/base/header" .}}
<div id="setting-wrapper" class="main-wrapper">
<div id="user-profile-setting" class="container clear">
{{template "user/settings/nav" .}}
<div class="grid-4-5 left">
<div class="setting-content">
{{template "ng/base/alert" .}}
<div id="setting-content">
<div id="user-applications-panel" class="panel panel-radius">
<div class="panel-header">
<a class="show-form-btn" data-target-form="#access-add-form">
<button class="btn btn-medium btn-black btn-radius right">{{.i18n.Tr "settings.generate_new_token"}}</button>
</a>
<strong>{{.i18n.Tr "settings.manage_access_token"}}</strong>
</div>
<ul class="panel-body setting-list">
<li>{{.i18n.Tr "settings.tokens_desc"}}</li>
{{range .Tokens}}
<li class="ssh clear">
<span class="active-icon left label label-{{if .HasRecentActivity}}green{{else}}gray{{end}} label-radius"></span>
<i class="fa fa-send fa-2x left"></i>
<div class="ssh-content left">
<p><strong>{{.Name}}</strong></p>
<p class="activity"><i>{{$.i18n.Tr "settings.add_on"}} <span title="{{DateFmtLong .Created}}">{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i>{{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} {{DateFmtShort .Updated}}{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i></p>
</div>
<a href="{{AppSubUrl}}/user/settings/applications?remove={{.Id}}">
<button class="btn btn-small btn-red btn-radius ssh-btn right">{{$.i18n.Tr "settings.delete_token"}}</button>
</a>
</li>
{{end}}
</ul>
</div>
<br>
<form class="panel panel-radius form form-align form-settings-add hide" id="access-add-form" action="{{AppSubUrl}}/user/settings/applications" method="post">
{{.CsrfTokenHtml}}
<p class="panel-header"><strong>{{.i18n.Tr "settings.generate_new_token"}}</strong></p>
<div class="panel-body">
<div class="text-center panel-desc">{{.i18n.Tr "settings.new_token_desc"}}</div>
<input type="hidden" name="type" value="token">
<p class="field">
<label class="req" for="token-name">{{.i18n.Tr "settings.token_name"}}</label>
<input class="ipt ipt-radius" id="token-name" name="name" required />
</p>
<p class="field">
<label></label>
<button class="btn btn-green btn-medium btn-radius" id="ssh-add-btn">{{.i18n.Tr "settings.generate_token"}}</button>
</p>
</div>
</form>
</div>
{{template "base/head" .}}
<div class="user settings">
<div class="ui container">
<div class="ui grid">
{{template "user/settings/navbar" .}}
<div class="twelve wide column content">
{{template "base/alert" .}}
<h4 class="ui top attached header">
{{.i18n.Tr "settings.manage_access_token"}}
<div class="ui right">
<div class="ui blue tiny show-panel button" data-panel="#add-access-token-panel">{{.i18n.Tr "settings.generate_new_token"}}</div>
</div>
</h4>
<div class="ui attached segment">
<div class="ui key list">
<div class="desc item">
{{.i18n.Tr "settings.tokens_desc"}}
</div>
{{range .Tokens}}
<div class="item ui grid">
<div class="one wide column">
<i class="ssh-key-state-indicator fa fa-circle{{if .HasRecentActivity}} active invert poping up{{else}}-o{{end}}" {{if .HasRecentActivity}}data-content="{{$.i18n.Tr "settings.key_state_desc"}}" data-variation="inverted"{{end}}></i>
</div>
<div class="one wide column">
<i class="fa fa-send fa-2x left"></i>
</div>
<div class="eleven wide column">
<strong>{{.Name}}</strong>
<div class="activity meta">
<i>{{$.i18n.Tr "settings.add_on"}} <span>{{DateFmtShort .Created}}</span> — <i class="octicon octicon-info"></i> {{if .HasUsed}}{{$.i18n.Tr "settings.last_used"}} <span>{{DateFmtShort .Updated}}</span>{{else}}{{$.i18n.Tr "settings.no_activity"}}{{end}}</i>
</div>
</div>
<div class="two wide column">
<button class="ui red tiny button delete-button" data-url="{{$.Link}}/delete" data-id="{{.ID}}">
{{$.i18n.Tr "settings.delete_token"}}
</button>
</div>
</div>
{{end}}
</div>
</div>
<br>
<div {{if not .HasError}}class="hide"{{end}} id="add-access-token-panel">
<h4 class="ui top attached header">
{{.i18n.Tr "settings.generate_new_token"}}
</h4>
<div class="ui attached segment">
<form class="ui form" action="{{.Link}}" method="post">
{{.CsrfTokenHtml}}
<p>{{.i18n.Tr "settings.new_token_desc"}}</p>
<div class="field {{if .Err_Name}}error{{end}}">
<label for="name">{{.i18n.Tr "settings.token_name"}}</label>
<input id="name" name="name" value="{{.name}}" autofocus required>
</div>
<button class="ui green button">
{{.i18n.Tr "settings.generate_token"}}
</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
{{template "ng/base/footer" .}}
<div class="ui small basic delete modal">
<div class="ui icon header">
<i class="trash icon"></i>
{{.i18n.Tr "settings.access_token_deletion"}}
</div>
<div class="content">
<p>{{.i18n.Tr "settings.access_token_deletion_desc"}}</p>
</div>
<div class="actions">
<div class="ui red basic inverted cancel button">
<i class="remove icon"></i>
{{.i18n.Tr "modal.no"}}
</div>
<div class="ui green basic inverted ok button">
<i class="checkmark icon"></i>
{{.i18n.Tr "modal.yes"}}
</div>
</div>
</div>
{{template "base/footer" .}}