scheduler: Move IsJobOwner to acl package.

R=vadimsh@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2976623002
diff --git a/scheduler/appengine/presentation/acl.go b/scheduler/appengine/acl/acl.go
similarity index 88%
rename from scheduler/appengine/presentation/acl.go
rename to scheduler/appengine/acl/acl.go
index 18248ca..32a4f3f 100644
--- a/scheduler/appengine/presentation/acl.go
+++ b/scheduler/appengine/acl/acl.go
@@ -1,4 +1,4 @@
-// Copyright 2016 The LUCI Authors.
+// Copyright 2017 The LUCI Authors.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package presentation
+package acl
 
 import (
 	"golang.org/x/net/context"
@@ -20,7 +20,6 @@
 	"github.com/luci/luci-go/server/auth"
 )
 
-// TODO(tandrii): move this to new acl package.
 func IsJobOwner(c context.Context, projectID, jobName string) bool {
 	// TODO(vadimsh): Do real ACLs.
 	ok, err := auth.IsMember(c, "administrators")
diff --git a/scheduler/appengine/apiservers/scheduler.go b/scheduler/appengine/apiservers/scheduler.go
index 9173833..64500e6 100644
--- a/scheduler/appengine/apiservers/scheduler.go
+++ b/scheduler/appengine/apiservers/scheduler.go
@@ -16,6 +16,7 @@
 
 import (
 	"github.com/luci/luci-go/scheduler/api/scheduler/v1"
+	"github.com/luci/luci-go/scheduler/appengine/acl"
 	"github.com/luci/luci-go/scheduler/appengine/catalog"
 	"github.com/luci/luci-go/scheduler/appengine/engine"
 	"github.com/luci/luci-go/scheduler/appengine/presentation"
@@ -146,7 +147,7 @@
 //// Private helpers.
 
 func runAction(ctx context.Context, jobRef *scheduler.JobRef, action func() error) (*empty.Empty, error) {
-	if !presentation.IsJobOwner(ctx, jobRef.GetProject(), jobRef.GetJob()) {
+	if !acl.IsJobOwner(ctx, jobRef.GetProject(), jobRef.GetJob()) {
 		return nil, grpc.Errorf(codes.PermissionDenied, "No permission to execute action")
 	}
 	switch err := action(); {
diff --git a/scheduler/appengine/ui/invocation.go b/scheduler/appengine/ui/invocation.go
index 7e00d8e..ab2ea7a 100644
--- a/scheduler/appengine/ui/invocation.go
+++ b/scheduler/appengine/ui/invocation.go
@@ -24,8 +24,8 @@
 	"github.com/luci/luci-go/server/router"
 	"github.com/luci/luci-go/server/templates"
 
+	"github.com/luci/luci-go/scheduler/appengine/acl"
 	"github.com/luci/luci-go/scheduler/appengine/engine"
-	"github.com/luci/luci-go/scheduler/appengine/presentation"
 )
 
 func invocationPage(c *router.Context) {
@@ -91,7 +91,7 @@
 	projectID := c.Params.ByName("ProjectID")
 	jobName := c.Params.ByName("JobName")
 	invID := c.Params.ByName("InvID")
-	if !presentation.IsJobOwner(c.Context, projectID, jobName) {
+	if !acl.IsJobOwner(c.Context, projectID, jobName) {
 		http.Error(c.Writer, "Forbidden", 403)
 		return
 	}
diff --git a/scheduler/appengine/ui/job.go b/scheduler/appengine/ui/job.go
index 941a4a7..91e1d90 100644
--- a/scheduler/appengine/ui/job.go
+++ b/scheduler/appengine/ui/job.go
@@ -23,7 +23,7 @@
 
 	mc "github.com/luci/gae/service/memcache"
 	"github.com/luci/luci-go/common/clock"
-	"github.com/luci/luci-go/scheduler/appengine/presentation"
+	"github.com/luci/luci-go/scheduler/appengine/acl"
 	"github.com/luci/luci-go/server/auth"
 	"github.com/luci/luci-go/server/router"
 	"github.com/luci/luci-go/server/templates"
@@ -103,7 +103,7 @@
 
 	projectID := p.ByName("ProjectID")
 	jobName := p.ByName("JobName")
-	if !presentation.IsJobOwner(c, projectID, jobName) {
+	if !acl.IsJobOwner(c, projectID, jobName) {
 		http.Error(w, "Forbidden", 403)
 		return
 	}
@@ -181,7 +181,7 @@
 func handleJobAction(c *router.Context, cb func(string) error) {
 	projectID := c.Params.ByName("ProjectID")
 	jobName := c.Params.ByName("JobName")
-	if !presentation.IsJobOwner(c.Context, projectID, jobName) {
+	if !acl.IsJobOwner(c.Context, projectID, jobName) {
 		http.Error(c.Writer, "Forbidden", 403)
 		return
 	}