plugin: fix path for app plugins on windows

This fixes when an app that contains a plugin (which means it has
a filepath with more parts) gets a back slash in the path for the
plugin module. The string replace now replaces all back slashes and
not just the first one.
This commit is contained in:
Daniel Lee 2018-01-03 22:07:38 +01:00
parent 27835f373e
commit ccf1a5124b
2 changed files with 3 additions and 3 deletions

View File

@ -40,7 +40,7 @@ func getPluginLogoUrl(pluginType, path, baseUrl string) string {
}
func (fp *FrontendPluginBase) setPathsBasedOnApp(app *AppPlugin) {
appSubPath := strings.Replace(strings.Replace(fp.PluginDir, app.PluginDir, "", 1), "\\", "/", 1)
appSubPath := strings.Replace(strings.Replace(fp.PluginDir, app.PluginDir, "", 1), "\\", "/", -1)
fp.IncludedInAppId = app.Id
fp.BaseUrl = app.BaseUrl

View File

@ -14,7 +14,7 @@ func TestFrontendPlugin(t *testing.T) {
fp := &FrontendPluginBase{
PluginBase: PluginBase{
PluginDir: "c:\\grafana\\public\\app\\plugins\\app\\testdata\\datasource",
PluginDir: "c:\\grafana\\public\\app\\plugins\\app\\testdata\\datasources\\datasource",
BaseUrl: "fpbase",
},
}
@ -29,6 +29,6 @@ func TestFrontendPlugin(t *testing.T) {
}
fp.setPathsBasedOnApp(app)
So(fp.Module, ShouldEqual, "app/plugins/app/testdata/datasource/module")
So(fp.Module, ShouldEqual, "app/plugins/app/testdata/datasources/datasource/module")
})
}