mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	new repo git hooks UI
This commit is contained in:
		| @@ -446,9 +446,9 @@ func runWeb(ctx *cli.Context) { | |||||||
| 			m.Post("/hooks/slack/:id", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksEditPost) | 			m.Post("/hooks/slack/:id", bindIgnErr(auth.NewSlackHookForm{}), repo.SlackHooksEditPost) | ||||||
|  |  | ||||||
| 			m.Group("/hooks/git", func() { | 			m.Group("/hooks/git", func() { | ||||||
| 				m.Get("", repo.GitHooks) | 				m.Get("", repo.SettingsGitHooks) | ||||||
| 				m.Get("/:name", repo.GitHooksEdit) | 				m.Combo("/:name").Get(repo.SettingsGitHooksEdit). | ||||||
| 				m.Post("/:name", repo.GitHooksEditPost) | 					Post(repo.SettingsGitHooksEditPost) | ||||||
| 			}, middleware.GitHookService()) | 			}, middleware.GitHookService()) | ||||||
|  |  | ||||||
| 			m.Group("/keys", func() { | 			m.Group("/keys", func() { | ||||||
|   | |||||||
| @@ -10,6 +10,8 @@ import ( | |||||||
| 	"os" | 	"os" | ||||||
| 	"path" | 	"path" | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
|  | 	"github.com/Unknwon/com" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // hookNames is a list of Git hooks' name that are supported. | // hookNames is a list of Git hooks' name that are supported. | ||||||
| @@ -81,7 +83,10 @@ func (h *Hook) Name() string { | |||||||
| // Update updates hook settings. | // Update updates hook settings. | ||||||
| func (h *Hook) Update() error { | func (h *Hook) Update() error { | ||||||
| 	if len(strings.TrimSpace(h.Content)) == 0 { | 	if len(strings.TrimSpace(h.Content)) == 0 { | ||||||
| 		return os.Remove(h.path) | 		if com.IsExist(h.path) { | ||||||
|  | 			return os.Remove(h.path) | ||||||
|  | 		} | ||||||
|  | 		return nil | ||||||
| 	} | 	} | ||||||
| 	return ioutil.WriteFile(h.path, []byte(strings.Replace(h.Content, "\r", "", -1)), os.ModePerm) | 	return ioutil.WriteFile(h.path, []byte(strings.Replace(h.Content, "\r", "", -1)), os.ModePerm) | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								public/css/gogs.min.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								public/css/gogs.min.css
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -86,8 +86,14 @@ img { | |||||||
| 	    	} | 	    	} | ||||||
| 	    } | 	    } | ||||||
| 		} | 		} | ||||||
|  | 		&.green { | ||||||
|  | 			color: #6cc644!important; | ||||||
|  | 		} | ||||||
|  | 		&.left { | ||||||
|  | 			text-align: left!important; | ||||||
|  | 		} | ||||||
| 		&.right { | 		&.right { | ||||||
| 			text-align: right; | 			text-align: right!important; | ||||||
| 		} | 		} | ||||||
| 		&.small { | 		&.small { | ||||||
| 			font-size: 0.75em; | 			font-size: 0.75em; | ||||||
|   | |||||||
| @@ -16,6 +16,7 @@ | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| .repository { | .repository { | ||||||
| 	&.new.migrate, | 	&.new.migrate, | ||||||
| 	&.new.fork { | 	&.new.fork { | ||||||
| @@ -57,4 +58,25 @@ | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | } | ||||||
|  | .repository.edit.hook { | ||||||
|  | 	form { | ||||||
|  | 		@input-padding: 25%!important; | ||||||
|  | 		.inline.field > label { | ||||||
|  | 			text-align: right; | ||||||
|  | 			width: @input-padding; | ||||||
|  | 			word-wrap: break-word; | ||||||
|  | 		} | ||||||
|  | 		input, | ||||||
|  | 		textarea { | ||||||
|  | 			width: 50%!important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | .repository.edit.hook { | ||||||
|  | 	form { | ||||||
|  | 		textarea { | ||||||
|  | 			width: 70%!important; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
| @@ -623,6 +623,17 @@ | |||||||
| 			color: #666; | 			color: #666; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 	.hook.list { | ||||||
|  | 		.item:not(:first-child) { | ||||||
|  | 			border-top: 1px solid #eaeaea; | ||||||
|  | 		} | ||||||
|  | 		.item { | ||||||
|  | 			padding: 10px 20px; | ||||||
|  | 			i { | ||||||
|  | 				margin-right: 5px; | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| .ui.vertical.menu { | .ui.vertical.menu { | ||||||
|   | |||||||
| @@ -608,7 +608,7 @@ func TriggerHook(ctx *middleware.Context) { | |||||||
| 	models.HookQueue.AddRepoID(repo.ID) | 	models.HookQueue.AddRepoID(repo.ID) | ||||||
| } | } | ||||||
|  |  | ||||||
| func GitHooks(ctx *middleware.Context) { | func SettingsGitHooks(ctx *middleware.Context) { | ||||||
| 	ctx.Data["Title"] = ctx.Tr("repo.settings") | 	ctx.Data["Title"] = ctx.Tr("repo.settings") | ||||||
| 	ctx.Data["PageIsSettingsGitHooks"] = true | 	ctx.Data["PageIsSettingsGitHooks"] = true | ||||||
|  |  | ||||||
| @@ -622,7 +622,7 @@ func GitHooks(ctx *middleware.Context) { | |||||||
| 	ctx.HTML(200, GITHOOKS) | 	ctx.HTML(200, GITHOOKS) | ||||||
| } | } | ||||||
|  |  | ||||||
| func GitHooksEdit(ctx *middleware.Context) { | func SettingsGitHooksEdit(ctx *middleware.Context) { | ||||||
| 	ctx.Data["Title"] = ctx.Tr("repo.settings") | 	ctx.Data["Title"] = ctx.Tr("repo.settings") | ||||||
| 	ctx.Data["PageIsSettingsGitHooks"] = true | 	ctx.Data["PageIsSettingsGitHooks"] = true | ||||||
|  |  | ||||||
| @@ -640,7 +640,7 @@ func GitHooksEdit(ctx *middleware.Context) { | |||||||
| 	ctx.HTML(200, GITHOOK_EDIT) | 	ctx.HTML(200, GITHOOK_EDIT) | ||||||
| } | } | ||||||
|  |  | ||||||
| func GitHooksEditPost(ctx *middleware.Context) { | func SettingsGitHooksEditPost(ctx *middleware.Context) { | ||||||
| 	name := ctx.Params(":name") | 	name := ctx.Params(":name") | ||||||
| 	hook, err := ctx.Repo.GitRepo.GetHook(name) | 	hook, err := ctx.Repo.GitRepo.GetHook(name) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|   | |||||||
| @@ -1,41 +1,37 @@ | |||||||
| {{template "ng/base/head" .}} | {{template "base/head" .}} | ||||||
| {{template "ng/base/header" .}} | <div class="repository settings edit hook"> | ||||||
| <div id="repo-wrapper"> | 	{{template "repo/header" .}} | ||||||
|     {{template "repo/header_old" .}} | 	<div class="ui container"> | ||||||
| 	<div id="setting-wrapper" class="main-wrapper"> | 		<div class="ui grid"> | ||||||
| 	    <div id="repo-setting" class="container clear"> | 			{{template "repo/settings/navbar" .}} | ||||||
| 	        {{template "repo/settings/nav" .}} | 			<div class="twelve wide column content"> | ||||||
| 	        <div class="grid-4-5 left"> | 				{{template "base/alert" .}} | ||||||
| 	            <div class="setting-content"> | 				<h4 class="ui top attached header"> | ||||||
| 	                {{template "ng/base/alert" .}} | 				  {{.i18n.Tr "repo.settings.githooks"}} | ||||||
| 	                <div id="setting-content"> | 				</h4> | ||||||
| 	                    <div id="repo-hooks-panel" class="panel panel-radius"> | 				<div class="ui attached segment"> | ||||||
| 	                        <div class="panel-header"> | 					<p class="center">{{.i18n.Tr "repo.settings.githook_edit_desc"}}</p> | ||||||
| 	                        	<strong>{{.i18n.Tr "repo.settings.githooks"}}</strong> | 		      <form class="ui form" action="{{.Link}}" method="post"> | ||||||
| 	                        </div> | 	          {{.CsrfTokenHtml}} | ||||||
| 	                        <form class="form form-align panel-body" id="repo-setting-form" action="{{.RepoLink}}/settings/hooks/git/{{.Hook.Name}}" method="post"> | 	          {{with .Hook}} | ||||||
| 	                            {{.CsrfTokenHtml}} | 	          <div class="inline field"> | ||||||
|                         		<div class="text-center panel-desc">{{.i18n.Tr "repo.settings.githook_edit_desc"}}</div> |               <label>{{$.i18n.Tr "repo.settings.githook_name"}}</label> | ||||||
| 	                            {{with .Hook}} |               <label class="text left">{{.Name}}</label> | ||||||
| 	                            <div class="field"> | 	          </div> | ||||||
| 	                                <label>{{$.i18n.Tr "repo.settings.githook_name"}}</label> | 					  <div class="inline field"> | ||||||
| 	                                <label class="text-left">{{.Name}}</label> | 					    <label for="content">{{$.i18n.Tr "repo.settings.githook_content"}}</label> | ||||||
| 	                            </div> | 					    <textarea id="content" name="content" rows="20" wrap="off">{{if .IsActive}}{{.Content}}{{else}}{{.Sample}}{{end}}</textarea> | ||||||
| 					            <div class="field clear"> | 					  </div> | ||||||
| 					                <label class="left" for="content">{{$.i18n.Tr "repo.settings.githook_content"}}</label> |  | ||||||
| 					                <textarea class="ipt-textarea ipt-large ipt-radius" id="content" name="content" cols="60" rows="20" wrap="off">{{if .IsActive}}{{.Content}}{{else}}{{.Sample}}{{end}}</textarea> | 	          <div class="inline field"> | ||||||
| 					            </div> | 	            <label></label> | ||||||
| 	                            <div class="field"> | 	             <button class="ui green button" id="change-reponame-btn" href="#change-reponame-modal">{{$.i18n.Tr "repo.settings.update_githook"}}</button> | ||||||
| 	                                <span class="form-label"></span> | 	          </div> | ||||||
| 	                                <button class="btn btn-green btn-large btn-radius" id="change-reponame-btn" href="#change-reponame-modal">{{$.i18n.Tr "repo.settings.update_githook"}}</button> | 	          {{end}} | ||||||
| 	                            </div> | 	      	</form> | ||||||
| 	                            {{end}} | 				</div> | ||||||
| 	                        </form> |   		</div> | ||||||
| 	                    </div> |     </div> | ||||||
| 	                </div> |  | ||||||
| 	            </div> |  | ||||||
| 	        </div> |  | ||||||
| 	    </div> |  | ||||||
| 	</div> | 	</div> | ||||||
| </div> | </div> | ||||||
| {{template "ng/base/footer" .}} | {{template "base/footer" .}} | ||||||
| @@ -1,37 +1,34 @@ | |||||||
| {{template "ng/base/head" .}} | {{template "base/head" .}} | ||||||
| {{template "ng/base/header" .}} | <div class="repository settings hooks"> | ||||||
| <div id="repo-wrapper"> | 	{{template "repo/header" .}} | ||||||
|     {{template "repo/header_old" .}} | 	<div class="ui container"> | ||||||
| 	<div id="setting-wrapper" class="main-wrapper"> | 		<div class="ui grid"> | ||||||
| 	    <div id="repo-setting" class="container clear"> | 			{{template "repo/settings/navbar" .}} | ||||||
| 	        {{template "repo/settings/nav" .}} | 			<div class="twelve wide column content"> | ||||||
| 	        <div class="grid-4-5 left"> | 				{{template "base/alert" .}} | ||||||
| 	            <div class="setting-content"> | 				<h4 class="ui top attached header"> | ||||||
| 	                {{template "ng/base/alert" .}} | 				  {{.i18n.Tr "repo.settings.githooks"}} | ||||||
| 	                <div id="setting-content"> | 				</h4> | ||||||
| 	                    <div id="repo-hooks-panel" class="panel panel-radius"> | 				<div class="ui attached table segment"> | ||||||
| 	                        <div class="panel-header"> |           <div class="ui hook list"> | ||||||
| 	                        	<strong>{{.i18n.Tr "repo.settings.githooks"}}</strong> |             <div class="item"> | ||||||
| 	                        </div> |               {{.i18n.Tr "repo.settings.githooks_desc" | Str2html}} | ||||||
| 	                        <ul class="panel-body setting-list"> |             </div> | ||||||
|                             	<li>{{.i18n.Tr "repo.settings.githooks_desc" | Str2html}}</li> | 						{{range .Hooks}} | ||||||
|                             	{{range .Hooks}} | 						<div class="item"> | ||||||
| 								<li> | 							{{if .IsActive}} | ||||||
| 									{{if .IsActive}} | 							<span class="text success"><i class="octicon octicon-check"></i></span> | ||||||
| 									<span class="left text-success"><i class="octicon octicon-check"></i></span> | 							{{else}} | ||||||
| 									{{else}} | 							<span class="text grey"><i class="octicon octicon-primitive-dot"></i></span> | ||||||
| 									<span class="left text-grey"><i class="octicon octicon-primitive-dot"></i></span> | 							{{end}} | ||||||
| 									{{end}} | 							<span>{{.Name}}</span> | ||||||
| 									<span>{{.Name}}</span> |               <a href="{{$.RepoLink}}/settings/hooks/git/{{.Name}}" class="text blue ui right"><i class="fa fa-pencil"></i></a> | ||||||
|                         			<a href="{{$.RepoLink}}/settings/hooks/git/{{.Name}}" class="text-blue right"><i class="fa fa-pencil"></i></a> | 						</div> | ||||||
| 								</li> |             {{end}} | ||||||
|                             	{{end}} |           </div> | ||||||
| 	                       	</ul> |         </div> | ||||||
| 	                    </div> |   		</div> | ||||||
| 	                </div> |     </div> | ||||||
| 	            </div> |  | ||||||
| 	        </div> |  | ||||||
| 	    </div> |  | ||||||
| 	</div> | 	</div> | ||||||
| </div> | </div> | ||||||
| {{template "ng/base/footer" .}} | {{template "base/footer" .}} | ||||||
		Reference in New Issue
	
	Block a user