@@ -1,3 +1,9 @@
|
||||
# 2.0.0 (unreleased)
|
||||
|
||||
**Fixes**
|
||||
- [Issue #1782](https://github.com/grafana/grafana/issues/1782). Github OAuth: Now works with Github for Enterprise, thanks @williamjoy
|
||||
- [Issue #1780](https://github.com/grafana/grafana/issues/1780). Dashboard snapshot: Should not require login to view snapshot, Fixes #1780
|
||||
|
||||
# 2.0.0-Beta3 (2015-04-12)
|
||||
|
||||
**RPM / DEB Package changes (to follow HFS)**
|
||||
|
||||
+1
-2
@@ -142,8 +142,7 @@ scopes = user:email
|
||||
auth_url = https://github.com/login/oauth/authorize
|
||||
token_url = https://github.com/login/oauth/access_token
|
||||
api_url = https://api.github.com/user
|
||||
# Uncomment bellow to only allow specific email domains
|
||||
; allowed_domains = mycompany.com othercompany.com
|
||||
allowed_domains =
|
||||
|
||||
#################################### Google Auth ##########################
|
||||
[auth.google]
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ func Register(r *macaron.Macaron) {
|
||||
|
||||
// dashboard snapshots
|
||||
r.Post("/api/snapshots/", bind(m.CreateDashboardSnapshotCommand{}), CreateDashboardSnapshot)
|
||||
r.Get("/dashboard/snapshots/*", Index)
|
||||
r.Get("/dashboard/snapshot/*", Index)
|
||||
|
||||
r.Get("/api/snapshots/:key", GetDashboardSnapshot)
|
||||
r.Get("/api/snapshots-delete/:key", DeleteDashboardSnapshot)
|
||||
|
||||
@@ -6,6 +6,7 @@ type OAuthInfo struct {
|
||||
AuthUrl, TokenUrl string
|
||||
Enabled bool
|
||||
AllowedDomains []string
|
||||
ApiUrl string
|
||||
}
|
||||
|
||||
type OAuther struct {
|
||||
|
||||
@@ -49,7 +49,7 @@ func NewOAuthService() {
|
||||
Scopes: sec.Key("scopes").Strings(" "),
|
||||
AuthUrl: sec.Key("auth_url").String(),
|
||||
TokenUrl: sec.Key("token_url").String(),
|
||||
APIUrl: sec.Key("api_url").String(),
|
||||
ApiUrl: sec.Key("api_url").String(),
|
||||
Enabled: sec.Key("enabled").MustBool(),
|
||||
AllowedDomains: sec.Key("allowed_domains").Strings(" "),
|
||||
}
|
||||
@@ -73,7 +73,7 @@ func NewOAuthService() {
|
||||
// GitHub.
|
||||
if name == "github" {
|
||||
setting.OAuthService.GitHub = true
|
||||
SocialMap["github"] = &SocialGithub{Config: &config, allowedDomains: info.AllowedDomains, APIUrl: info.APIUrl}
|
||||
SocialMap["github"] = &SocialGithub{Config: &config, allowedDomains: info.AllowedDomains, ApiUrl: info.ApiUrl}
|
||||
}
|
||||
|
||||
// Google.
|
||||
@@ -101,7 +101,7 @@ func isEmailAllowed(email string, allowedDomains []string) bool {
|
||||
type SocialGithub struct {
|
||||
*oauth2.Config
|
||||
allowedDomains []string
|
||||
APIUrl []string
|
||||
ApiUrl string
|
||||
}
|
||||
|
||||
func (s *SocialGithub) Type() int {
|
||||
@@ -121,7 +121,7 @@ func (s *SocialGithub) UserInfo(token *oauth2.Token) (*BasicUserInfo, error) {
|
||||
|
||||
var err error
|
||||
client := s.Client(oauth2.NoContext, token)
|
||||
r, err := client.Get(s.APIUrl)
|
||||
r, err := client.Get(s.ApiUrl)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="editor-row" ng-if="editor.index == 0">
|
||||
<div class="editor-option">
|
||||
<label class="small">Title</label><input type="text" class="input-medium" ng-model='row.title'></input>
|
||||
<label class="small">Title</label><input type="text" class="input-xlarge" ng-model='row.title'></input>
|
||||
</div>
|
||||
<div class="editor-option">
|
||||
<label class="small">Height</label><input type="text" class="input-mini" ng-model='row.height'></input>
|
||||
|
||||
Reference in New Issue
Block a user