aboutsummaryrefslogtreecommitdiff
path: root/rhodecode/model/changeset_status.py
diff options
context:
space:
mode:
Diffstat (limited to 'rhodecode/model/changeset_status.py')
-rw-r--r--rhodecode/model/changeset_status.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/rhodecode/model/changeset_status.py b/rhodecode/model/changeset_status.py
index 3e8d0efd..a7e0efcf 100644
--- a/rhodecode/model/changeset_status.py
+++ b/rhodecode/model/changeset_status.py
@@ -89,27 +89,27 @@ class ChangesetStatusModel(BaseModel):
with_revisions)
return q.all()
- def get_status(self, repo, revision=None, pull_request=None):
+ def get_status(self, repo, revision=None, pull_request=None, as_str=True):
"""
Returns latest status of changeset for given revision or for given
pull request. Statuses are versioned inside a table itself and
version == 0 is always the current one
:param repo:
- :type repo:
:param revision: 40char hash or None
- :type revision: str
:param pull_request: pull_request reference
- :type:
+ :param as_str: return status as string not object
"""
q = self._get_status_query(repo, revision, pull_request)
# need to use first here since there can be multiple statuses
# returned from pull_request
status = q.first()
- status = status.status if status else status
- st = status or ChangesetStatus.DEFAULT
- return str(st)
+ if as_str:
+ status = status.status if status else status
+ st = status or ChangesetStatus.DEFAULT
+ return str(st)
+ return status
def set_status(self, repo, status, user, comment=None, revision=None,
pull_request=None, dont_allow_on_closed_pull_request=False):