mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 21:16:26 +01:00 
			
		
		
		
	add publickey list
This commit is contained in:
		
							parent
							
								
									e246f2188e
								
							
						
					
					
						commit
						8e821c75d7
					
				@ -77,6 +77,12 @@ func AddPublicKey(key *PublicKey) error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ListPublicKey(userId int64) ([]PublicKey, error) {
 | 
			
		||||
	keys := make([]PublicKey, 0)
 | 
			
		||||
	err := orm.Find(&keys, &PublicKey{OwnerId: userId})
 | 
			
		||||
	return keys, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func SaveAuthorizedKeyFile(key *PublicKey) error {
 | 
			
		||||
	p := filepath.Join(sshPath, "authorized_keys")
 | 
			
		||||
	f, err := os.OpenFile(p, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
 | 
			
		||||
 | 
			
		||||
@ -11,26 +11,46 @@ import (
 | 
			
		||||
	"github.com/martini-contrib/render"
 | 
			
		||||
 | 
			
		||||
	"github.com/gogits/gogs/models"
 | 
			
		||||
	"github.com/martini-contrib/sessions"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func AddPublicKey(req *http.Request, r render.Render) {
 | 
			
		||||
func AddPublicKey(req *http.Request, r render.Render, session sessions.Session) {
 | 
			
		||||
	if req.Method == "GET" {
 | 
			
		||||
		r.HTML(200, "user/publickey_add", map[string]interface{}{
 | 
			
		||||
			"Title": "Add Public Key",
 | 
			
		||||
			"Title":    "Add Public Key",
 | 
			
		||||
			"IsSigned": IsSignedIn(session),
 | 
			
		||||
		})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	k := &models.PublicKey{OwnerId: 1,
 | 
			
		||||
	k := &models.PublicKey{OwnerId: SignedInId(session),
 | 
			
		||||
		Name:    req.FormValue("keyname"),
 | 
			
		||||
		Content: req.FormValue("key_content"),
 | 
			
		||||
	}
 | 
			
		||||
	err := models.AddPublicKey(k)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		r.HTML(403, "status/403", map[string]interface{}{
 | 
			
		||||
			"Title": fmt.Sprintf("%v", err),
 | 
			
		||||
			"Title":    fmt.Sprintf("%v", err),
 | 
			
		||||
			"IsSigned": IsSignedIn(session),
 | 
			
		||||
		})
 | 
			
		||||
	} else {
 | 
			
		||||
		r.HTML(200, "user/publickey_added", map[string]interface{}{})
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func ListPublicKey(req *http.Request, r render.Render, session sessions.Session) {
 | 
			
		||||
	keys, err := models.ListPublicKey(SignedInId(session))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		r.HTML(200, "base/error", map[string]interface{}{
 | 
			
		||||
			"Error":    fmt.Sprintf("%v", err),
 | 
			
		||||
			"IsSigned": IsSignedIn(session),
 | 
			
		||||
		})
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	r.HTML(200, "user/publickey_list", map[string]interface{}{
 | 
			
		||||
		"Title":    "repositories",
 | 
			
		||||
		"Keys":     keys,
 | 
			
		||||
		"IsSigned": IsSignedIn(session),
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@
 | 
			
		||||
                <img src="http://1.gravatar.com/avatar/{{.Avatar}}?s=28" alt="user-avatar" title="username"/>
 | 
			
		||||
            </a>
 | 
			
		||||
            <a class="navbar-right gogs-nav-item" href="/repo/create" data-toggle="tooltip" data-placement="bottom" title="New Repository"><i class="fa fa-plus fa-lg"></i></a>
 | 
			
		||||
            <a class="navbar-right gogs-nav-item" href="#"  data-toggle="tooltip" data-placement="bottom" title="Setting"><i class="fa fa-cogs fa-lg"></i></a>
 | 
			
		||||
            <a class="navbar-right gogs-nav-item" href="/user/publickey/list"  data-toggle="tooltip" data-placement="bottom" title="Setting"><i class="fa fa-cogs fa-lg"></i></a>
 | 
			
		||||
            {{else}}<a id="gogs-nav-signin" class="gogs-nav-item navbar-right navbar-btn btn btn-danger" href="/user/login/">Sign in</a>{{end}}
 | 
			
		||||
        </nav>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{{template "base/head" .}}
 | 
			
		||||
{{template "base/navbar" .}}
 | 
			
		||||
<div class="container">
 | 
			
		||||
<div class="container" id="gogs-body">
 | 
			
		||||
	<form action="/user/publickey/add" method="post" class="form-horizontal">
 | 
			
		||||
		<div class="form-group">
 | 
			
		||||
			<label class="col-md-4 control-label">Name of this public key: </label>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								templates/user/publickey_list.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								templates/user/publickey_list.tmpl
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,12 @@
 | 
			
		||||
{{template "base/head" .}}
 | 
			
		||||
{{template "base/navbar" .}}
 | 
			
		||||
<div class="container" id="gogs-body">
 | 
			
		||||
<div><a href="/user/publickey/add">Add publick key</a></div>
 | 
			
		||||
	<ul>
 | 
			
		||||
	{{range .Keys}}
 | 
			
		||||
		<li>{{.Name}}</li>
 | 
			
		||||
		<li>{{.Content}}</li>
 | 
			
		||||
	{{end}}
 | 
			
		||||
	</ul>
 | 
			
		||||
</div>
 | 
			
		||||
{{template "base/footer" .}}
 | 
			
		||||
							
								
								
									
										1
									
								
								web.go
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								web.go
									
									
									
									
									
								
							@ -65,6 +65,7 @@ func runWeb(*cli.Context) {
 | 
			
		||||
	m.Get("/user/profile", user.Profile) // should be /username
 | 
			
		||||
	m.Any("/user/delete", user.Delete)
 | 
			
		||||
	m.Any("/user/publickey/add", user.AddPublicKey)
 | 
			
		||||
	m.Any("/user/publickey/list", user.ListPublicKey)
 | 
			
		||||
	m.Any("/repo/create", repo.Create)
 | 
			
		||||
	m.Any("/repo/delete", repo.Delete)
 | 
			
		||||
	m.Any("/repo/list", repo.List)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user