diff --git a/app/models.py b/app/models.py index 444d606..4f5fee2 100644 --- a/app/models.py +++ b/app/models.py @@ -116,6 +116,18 @@ class User(db.Model, UserMixin): else: raise Exception("Permission {} is not related to users".format(perm.name)) +class License(db.Model): + id = db.Column(db.Integer, primary_key=True) + name = db.Column(db.String(50), nullable=False, unique=True) + packages = db.relationship("Package", backref="license", lazy="dynamic") + + def __init__(self, v): + self.name = v + + def __str__(self): + return self.name + + class PackageType(enum.Enum): MOD = "Mod" GAME = "Game" @@ -142,6 +154,7 @@ class PackagePropertyKey(enum.Enum): shortDesc = "Short Description" desc = "Description" type = "Type" + license = "License" tags = "Tags" repo = "Repository" website = "Website" @@ -170,6 +183,8 @@ class Package(db.Model): desc = db.Column(db.Text, nullable=True) type = db.Column(db.Enum(PackageType)) + license_id = db.Column(db.Integer, db.ForeignKey("license.id")) + approved = db.Column(db.Boolean, nullable=False, default=False) # Downloads @@ -198,6 +213,7 @@ class Package(db.Model): "author": self.author.display_name, "shortDesc": self.shortDesc, "type": self.type.toName(), + "license": self.license.name, "repo": self.repo, "url": base_url + self.getDownloadURL(), "screenshots": [base_url + ss.url for ss in self.screenshots] diff --git a/app/templates/packages/create_edit.html b/app/templates/packages/create_edit.html index ad8ff6b..a7ebdfd 100644 --- a/app/templates/packages/create_edit.html +++ b/app/templates/packages/create_edit.html @@ -14,6 +14,7 @@ {{ render_field(form.shortDesc) }} {{ render_field(form.desc) }} {{ render_field(form.type) }} + {{ render_field(form.license) }} {{ render_field(form.tags) }} {{ render_field(form.repo) }} {{ render_field(form.website) }} diff --git a/app/templates/packages/editrequest_create.html b/app/templates/packages/editrequest_create.html index cdf5cfa..fe8e482 100644 --- a/app/templates/packages/editrequest_create.html +++ b/app/templates/packages/editrequest_create.html @@ -14,6 +14,7 @@ {{ render_field(form.shortDesc) }} {{ render_field(form.desc) }} {{ render_field(form.type) }} + {{ render_field(form.license) }} {{ render_field(form.tags) }} {{ render_field(form.repo) }} {{ render_field(form.website) }} diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html index 55d0d57..5c68ead 100644 --- a/app/templates/packages/view.html +++ b/app/templates/packages/view.html @@ -46,6 +46,10 @@ Type {{ package.type.value }} + + License + {{ package.license.name }} +