diff options
Diffstat (limited to 'app/models.py')
-rw-r--r-- | app/models.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/app/models.py b/app/models.py index 1849075..5eff2dd 100644 --- a/app/models.py +++ b/app/models.py @@ -522,7 +522,7 @@ class Package(db.Model): "short_description": self.short_desc, "desc": self.desc, "type": self.type.toName(), - "created_at": self.created_at, + "created_at": self.created_at.isoformat(), "license": self.license.name, "media_license": self.media_license.name, @@ -773,6 +773,18 @@ class PackageRelease(db.Model): # If the release is approved, then the task_id must be null and the url must be present CK_approval_valid = db.CheckConstraint("not approved OR (task_id IS NULL AND (url = '') IS NOT FALSE)") + def getAsDictionary(self): + return { + "id": self.id, + "title": self.title, + "url": self.url if self.url != "" else None, + "release_date": self.releaseDate.isoformat(), + "commit": self.commit_hash, + "downloads": self.downloads, + "min_protocol": self.min_rel and self.min_rel.protocol, + "max_protocol": self.max_rel and self.max_rel.protocol + } + def getEditURL(self): return url_for("packages.edit_release", author=self.package.author.username, @@ -875,10 +887,10 @@ class APIToken(db.Model): package = db.relationship("Package", foreign_keys=[package_id]) def canOperateOnPackage(self, package): - if self.package and self.package != None: + if self.package and self.package != package: return False - return package.owner == self.owner + return package.author == self.owner class EditRequest(db.Model): |