From e8b9d042c5603c8e65daa71aabd37907d489be60 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Apr 12 2016 08:58:22 +0000 Subject: Store project's priorities and the priority status of issues --- diff --git a/pagure/lib/model.py b/pagure/lib/model.py index 50fd549..b316b5a 100644 --- a/pagure/lib/model.py +++ b/pagure/lib/model.py @@ -284,6 +284,7 @@ class Project(BASE): sa.Integer, sa.ForeignKey('projects.id', onupdate='CASCADE'), nullable=True) + _priorities = sa.Column(sa.Text, nullable=True) date_created = sa.Column(sa.DateTime, nullable=False, default=datetime.datetime.utcnow) @@ -369,6 +370,23 @@ class Project(BASE): self._settings = json.dumps(settings) @property + def priorities(self): + """ Return the dict stored as string in the database as an actual + dict object. + """ + priorities = {} + + if self._priorities: + priorities = json.loads(self._priorities) + + return priorities + + @priorities.setter + def priorities(self, priorities): + ''' Ensures the priorities are properly saved. ''' + self._priorities = json.dumps(priorities) + + @property def open_requests(self): ''' Returns the number of open pull-requests for this project. ''' return BASE.metadata.bind.query( @@ -485,6 +503,7 @@ class Issue(BASE): default='Open', nullable=False) private = sa.Column(sa.Boolean, nullable=False, default=False) + priority = sa.Column(sa.Integer, nullable=True, default=None) date_created = sa.Column(sa.DateTime, nullable=False, default=datetime.datetime.utcnow)