]> git.ipfire.org Git - people/jschlag/pbs.git/commitdiff
Drop concept of non-public builds
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 21 Oct 2017 15:14:02 +0000 (16:14 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 21 Oct 2017 15:14:02 +0000 (16:14 +0100)
We never used this anyways

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builds.py
src/buildservice/packages.py
src/database.sql
src/hub/handlers.py
src/web/handlers_base.py
src/web/handlers_packages.py
src/web/handlers_users.py

index eed842086f11af64610a6ba2f2edd12f342c7163..218f9c89b08071d5b5920eaff94803bb75fe52da 100644 (file)
@@ -48,7 +48,7 @@ class Builds(base.Object):
 
                return [self.get_by_id(b.id, b) for b in self.db.query(query)]
 
-       def get_by_user(self, user, type=None, public=None):
+       def get_by_user(self, user, type=None):
                args = []
                conditions = []
 
@@ -60,11 +60,6 @@ class Builds(base.Object):
                elif not type or type == "release":
                        pass # TODO
 
-               if public is True:
-                       conditions.append("public = 'Y'")
-               elif public is False:
-                       conditions.append("public = 'N'")
-
                query = "SELECT builds.* AS id FROM builds \
                        JOIN packages ON builds.pkg_id = packages.id"
 
@@ -80,7 +75,7 @@ class Builds(base.Object):
 
                return builds
 
-       def get_by_name(self, name, type=None, public=None, user=None, limit=None, offset=None):
+       def get_by_name(self, name, type=None, user=None, limit=None, offset=None):
                args = [name,]
                conditions = [
                        "packages.name = %s",
@@ -91,11 +86,6 @@ class Builds(base.Object):
                        args.append(type)
 
                or_conditions = []
-               if public is True:
-                       or_conditions.append("public = 'Y'")
-               elif public is False:
-                       or_conditions.append("public = 'N'")
-
                if user and not user.is_admin():
                        or_conditions.append("builds.owner_id = %s")
                        args.append(user.id)
@@ -124,7 +114,7 @@ class Builds(base.Object):
 
                return [Build(self.backend, b.id, b) for b in self.db.query(query, *args)]
 
-       def get_latest_by_name(self, name, type=None, public=None):
+       def get_latest_by_name(self, name, type=None):
                query = "\
                        SELECT * FROM builds \
                                LEFT JOIN builds_latest ON builds.id = builds_latest.build_id \
@@ -135,13 +125,6 @@ class Builds(base.Object):
                        query += " AND builds_latest.build_type = %s"
                        args.append(type)
 
-               if public is True:
-                       query += " AND builds.public = %s"
-                       args.append("Y")
-               elif public is False:
-                       query += " AND builds.public = %s"
-                       args.append("N")
-
                # Get the last one only.
                # Prefer release builds over scratch builds.
                query += "\
@@ -155,20 +138,13 @@ class Builds(base.Object):
                if res:
                        return Build(self.backend, res.id, res)
 
-       def get_active_builds(self, name, public=None):
+       def get_active_builds(self, name):
                query = "\
                        SELECT * FROM builds \
                                LEFT JOIN builds_latest ON builds.id = builds_latest.build_id \
                        WHERE builds_latest.package_name = %s AND builds.type = %s"
                args = [name, "release"]
 
-               if public is True:
-                       query += " AND builds.public = %s"
-                       args.append("Y")
-               elif public is False:
-                       query += " AND builds.public = %s"
-                       args.append("N")
-
                builds = []
                for row in self.db.query(query, *args):
                        b = Build(self.backend, row.id, row)
@@ -288,7 +264,7 @@ class Builds(base.Object):
 
                return build
 
-       def get_changelog(self, name, public=None, limit=5, offset=0):
+       def get_changelog(self, name, limit=5, offset=0):
                query = "SELECT builds.* FROM builds \
                        JOIN packages ON builds.pkg_id = packages.id \
                        WHERE \
@@ -297,13 +273,6 @@ class Builds(base.Object):
                                packages.name = %s"
                args = ["release", name,]
 
-               if public == True:
-                       query += " AND builds.public = %s"
-                       args.append("Y")
-               elif public == False:
-                       query += " AND builds.public = %s"
-                       args.append("N")
-
                query += " ORDER BY builds.time_created DESC"
 
                if limit:
@@ -550,13 +519,6 @@ class Build(base.DataObject):
        def date(self):
                return self.created.date()
 
-       @property
-       def public(self):
-               """
-                       Is this build public?
-               """
-               return self.data.public
-
        @lazy_property
        def size(self):
                """
index 9d487431d43e092c116821921a98c985ef68f309..bdb7d4e88d196fb57b3360679c6b23e809edb0a1 100644 (file)
@@ -33,7 +33,7 @@ class Packages(base.Object):
                return self._get_package("SELECT * FROM packages \
                        WHERE id = %s", pkg_id)
 
-       def get_all_names(self, public=None, user=None, states=None):
+       def get_all_names(self, user=None, states=None):
                query = "SELECT DISTINCT packages.name AS name, summary FROM packages \
                        JOIN builds ON builds.pkg_id = packages.id \
                        WHERE packages.type = 'source'"
@@ -41,15 +41,6 @@ class Packages(base.Object):
                conditions = []
                args = []
 
-               if public in (True, False):
-                       if public is True:
-                               public = "Y"
-                       elif public is False:
-                               public = "N"
-
-                       conditions.append("builds.public = %s")
-                       args.append(public)
-
                if user and not user.is_admin():
                        conditions.append("builds.owner_id = %s")
                        args.append(user.id)
index 53b57c5749821039b4565440bbe1fa553a5ccf5d..ad24c09a2857b6612a4a87c40da3eab9ab3b32f2 100644 (file)
@@ -100,18 +100,6 @@ CREATE TYPE builds_history_action AS ENUM (
 
 ALTER TYPE builds_history_action OWNER TO pakfire;
 
---
--- Name: builds_public; Type: TYPE; Schema: public; Owner: pakfire
---
-
-CREATE TYPE builds_public AS ENUM (
-    'Y',
-    'N'
-);
-
-
-ALTER TYPE builds_public OWNER TO pakfire;
-
 --
 -- Name: builds_severity; Type: TYPE; Schema: public; Owner: pakfire
 --
@@ -669,7 +657,6 @@ CREATE TABLE builds (
     depends_on integer,
     distro_id integer NOT NULL,
     owner_id integer,
-    public boolean DEFAULT true NOT NULL,
     priority integer DEFAULT 0 NOT NULL,
     auto_move boolean DEFAULT false NOT NULL
 );
index 0f63b65ea1ad8af9929cea59581a58b3e64740ac..7b26e691457c47873ebe0ba56fa2800b0c32330e 100644 (file)
@@ -407,15 +407,6 @@ class JobsGetHandler(JobsBaseHandler):
                if not job:
                        raise tornado.web.HTTPError(404, "Could not find job: %s" % job_uuid)
 
-               # Check if user is allowed to view this job.
-               if job.build.public == False:
-                       if not self.user:
-                               raise tornado.web.HTTPError(401)
-
-                       # Check if an authenticated user has permission to see this build.
-                       if not job.build.has_perm(self.user):
-                               raise tornado.web.HTTPError(403)
-
                ret = self.job2json(job)
                self.finish(ret)
 
index aeea43d9ca903c9b7ce09aa07a6b41b01738529e..b64c0bf352a1473feb7c7d3abdde709bcc5e619c 100644 (file)
@@ -121,17 +121,4 @@ class BaseHandler(tornado.web.RequestHandler):
 
        @property
        def mirrors(self):
-               return self.pakfire.mirrors
-
-       @property
-       def public(self):
-               """
-                       Indicates what level of public/non-public things a user
-                       may see.
-               """
-               if self.current_user and self.current_user.is_admin():
-                       public = None
-               else:
-                       public = True
-
-               return public
+               return self.pakfire.mirrors
\ No newline at end of file
index b4be18d8c18238bc2c6f2c66b1d7de542e9fbec2..d8f426cb17c013c7640dc5d333174d48ab40f3c6 100644 (file)
@@ -32,7 +32,7 @@ class PackageListHandler(BaseHandler):
                        states = ["building", "stable", "testing"]
 
                # Get all packages that fulfill the required parameters.
-               pkgs = self.pakfire.packages.get_all_names(public=self.public,
+               pkgs = self.pakfire.packages.get_all_names(
                        user=self.current_user, states=states)
 
                # Sort all packages in an array like "<first char>" --> [packages, ...]
@@ -50,7 +50,7 @@ class PackageListHandler(BaseHandler):
 
 class PackageNameHandler(BaseHandler):
        def get(self, name):
-               builds = self.pakfire.builds.get_active_builds(name, public=self.public)
+               builds = self.pakfire.builds.get_active_builds(name)
                if not builds:
                        raise tornado.web.HTTPError(404, "Package '%s' was not found" % name)
 
@@ -70,12 +70,12 @@ class PackageScratchBuildsHandler(BaseHandler):
                limit  = self.get_argument("limit", 10)
 
                scratch_builds = self.pakfire.builds.get_by_name(name, type="scratch",
-                       public=self.public, limit=limit, offset=offset)
+                       limit=limit, offset=offset)
 
                if scratch_builds:
                        latest_build = scratch_builds[0]
                else:
-                       release_builds = self.pakfire.builds.get_by_name(name, type="release", public=self.public, limit=1)
+                       release_builds = self.pakfire.builds.get_by_name(name, type="release", limit=1)
                        if not release_builds:
                                raise tornado.web.HTTPError(404, "Could not find any build with this name: %s" % name)
 
@@ -149,7 +149,7 @@ class PackageDetailHandler(BaseHandler):
 class PackagePropertiesHandler(BaseHandler):
        @tornado.web.authenticated
        def get(self, name):
-               build = self.pakfire.builds.get_latest_by_name(name, public=self.public)
+               build = self.pakfire.builds.get_latest_by_name(name)
 
                if not build:
                        raise tornado.web.HTTPError(404, "Package '%s' was not found" % name)
@@ -164,7 +164,7 @@ class PackagePropertiesHandler(BaseHandler):
 
        @tornado.web.authenticated
        def post(self, name):
-               build = self.pakfire.builds.get_latest_by_name(name, public=self.public)
+               build = self.pakfire.builds.get_latest_by_name(name)
 
                if not build:
                        raise tornado.web.HTTPError(404, "Package '%s' was not found" % name)
@@ -245,8 +245,7 @@ class PackageFileViewHandler(PackageFileDownloadHandler):
 
 class PackageBuildsTimesHandler(BaseHandler):
        def get(self, name):
-               latest_build = self.pakfire.builds.get_latest_by_name(name, type="release",
-                       public=self.public)
+               latest_build = self.pakfire.builds.get_latest_by_name(name, type="release")
 
                # If no build with this name was found, we cannot go on.
                if not latest_build:
index 7e6a0d298f5f2b108da3b5f70c0d30566eeb6639..344d1f0f7311356d026274a9a76c78abadaeeca9 100644 (file)
@@ -224,13 +224,7 @@ class UsersBuildsHandler(BaseHandler):
                        if not user:
                                raise tornado.web.HTTPError(404, "User not found: %s" % name)
 
-               # By default users see only public builds.
-               # Admins are allowed to see all builds.
-               public = True
-               if self.current_user and self.current_user.is_admin():
-                       public = None
-
                # Get a list of the builds this user has built.
-               builds = self.pakfire.builds.get_by_user(user, public=public)
+               builds = self.pakfire.builds.get_by_user(user)
 
                self.render("user-profile-builds.html", user=user, builds=builds)