Merge Request #75
Fix gitlab links
This MR should be merged to release-3.0 too. Fix gitlab hyperlinks for merge_requests and issues.
| ... | ... | @@ -0,0 +1,26 @@ |
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | +from __future__ import unicode_literals | |
| 3 | + | |
| 4 | +from django.db import models, migrations | |
| 5 | + | |
| 6 | + | |
| 7 | +class Migration(migrations.Migration): | |
| 8 | + | |
| 9 | + dependencies = [ | |
| 10 | + ('gitlab', '0003_auto_20150211_1203'), | |
| 11 | + ] | |
| 12 | + | |
| 13 | + operations = [ | |
| 14 | + migrations.AddField( | |
| 15 | + model_name='gitlabcomment', | |
| 16 | + name='iid', | |
| 17 | + field=models.IntegerField(null=True), | |
| 18 | + preserve_default=True, | |
| 19 | + ), | |
| 20 | + migrations.AddField( | |
| 21 | + model_name='gitlabmergerequest', | |
| 22 | + name='iid', | |
| 23 | + field=models.IntegerField(null=True), | |
| 24 | + preserve_default=True, | |
| 25 | + ), | |
| 26 | + ] | ... | ... |
| ... | ... | @@ -27,6 +27,7 @@ class GitlabProject(models.Model, HitCounterModelMixin): |
| 27 | 27 | class GitlabMergeRequest(Collaboration): |
| 28 | 28 | |
| 29 | 29 | id = models.IntegerField(primary_key=True) |
| 30 | + iid = models.IntegerField(null=True) | |
| 4 |
|
|
| 30 | 31 | target_branch = models.TextField() |
| 31 | 32 | source_branch = models.TextField() |
| 32 | 33 | project = models.ForeignKey(GitlabProject, null=True, |
| ... | ... | @@ -50,7 +51,7 @@ class GitlabMergeRequest(Collaboration): |
| 50 | 51 | @property |
| 51 | 52 | def url(self): |
| 52 | 53 | return u'/gitlab/{}/merge_requests/{}'.format( |
| 53 | - self.project.path_with_namespace, self.id) | |
| 54 | + self.project.path_with_namespace, self.iid) | |
| 54 | 55 | |
| 55 | 56 | def get_author(self): |
| 56 | 57 | return self.user |
| ... | ... | @@ -91,6 +92,7 @@ class GitlabIssue(Collaboration): |
| 91 | 92 | class GitlabComment(Collaboration): |
| 92 | 93 | |
| 93 | 94 | id = models.IntegerField(primary_key=True) |
| 95 | + iid = models.IntegerField(null=True) | |
| 94 | 96 | body = models.TextField() |
| 95 | 97 | created_at = models.DateTimeField(blank=True, null=True) |
| 96 | 98 | issue_comment = models.BooleanField(default=True) |
| ... | ... | @@ -132,11 +134,12 @@ class GitlabComment(Collaboration): |
| 132 | 134 | @property |
| 133 | 135 | def url(self): |
| 134 | 136 | if self.issue_comment: |
| 135 | - return u'/gitlab/{}/issues/{}#notes_{}'.format( | |
| 136 | - self.project.path_with_namespace, self.parent_id, self.id) | |
| 137 | + url_str = u'/gitlab/{}/issues/{}#notes_{}' | |
| 137 | 138 | else: |
| 138 | - return u'/gitlab/{}/merge_requests/{}#notes_{}'.format( | |
| 139 | - self.project.path_with_namespace, self.parent_id, self.id) | |
| 139 | + url_str = u'/gitlab/{}/merge_requests/{}#notes_{}' | |
| 140 | + | |
| 141 | + return url_str.format(self.project.path_with_namespace, | |
| 142 | + self.parent_id, self.iid) | |
| 140 | 143 | |
| 141 | 144 | class Meta: |
| 142 | 145 | verbose_name = _('Gitlab Comments') | ... | ... |
-
What does this second "i" stands for? Can't it be
merge_request_idormr_id? -
I stands for the id inside a project. The 'id' is the unique identifier white the 'iid' is the id counter inside a project.
-
We use 'iid' to follow gitlab_api rules, doing that, the json parser automatically parser the values without any aditional 'if's in the code
-
Ok.
-
Milestone changed to Link errado nas colaborações(MR)
-
mentioned in commit a70fae9a25a06dc7d18ff96f60e1f7012b62fb49
| 27 | 27 | class GitlabMergeRequest(Collaboration): |
| 28 | 28 | |
| 29 | 29 | id = models.IntegerField(primary_key=True) |
| 30 | + iid = models.IntegerField(null=True) | |
| 4 |
|
|