Merge Request #75

Merged
softwarepublico/colab!75
Created by Gustavo Jaruga Cruz

Fix gitlab links

This MR should be merged to release-3.0 too. Fix gitlab hyperlinks for merge_requests and issues.

Assignee: None

Merged by Sergio Oliveira

Source branch has been removed
Commits (2)
3 participants
colab/plugins/gitlab/migrations/0004_auto_20150630_1149.py 0 → 100644
... ... @@ -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 + ]
... ...
colab/plugins/gitlab/models.py
... ... @@ -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
  • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
    Sergio Oliveira @seocam (Edited )

    What does this second "i" stands for? Can't it be merge_request_id or mr_id?

    Choose File ...   File name...
    Cancel
  • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
    Gustavo Jaruga Cruz @darksshades

    I stands for the id inside a project. The 'id' is the unique identifier white the 'iid' is the id counter inside a project.

    Choose File ...   File name...
    Cancel
  • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
    Gustavo Jaruga Cruz @darksshades

    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

    Choose File ...   File name...
    Cancel
  • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
    Sergio Oliveira @seocam

    Ok.

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')
... ...
    9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
    Sergio Oliveira started a discussion on the diff
    last updated by Sergio Oliveira
    colab/plugins/gitlab/models.py
    27 27 class GitlabMergeRequest(Collaboration):
    28 28  
    29 29 id = models.IntegerField(primary_key=True)
      30 + iid = models.IntegerField(null=True)
    4
    • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
      Sergio Oliveira @seocam (Edited )

      What does this second "i" stands for? Can't it be merge_request_id or mr_id?

      Choose File ...   File name...
      Cancel
    • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
      Gustavo Jaruga Cruz @darksshades

      I stands for the id inside a project. The 'id' is the unique identifier white the 'iid' is the id counter inside a project.

      Choose File ...   File name...
      Cancel
    • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
      Gustavo Jaruga Cruz @darksshades

      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

      Choose File ...   File name...
      Cancel
    • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
      Sergio Oliveira @seocam

      Ok.

    9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
    Sergio Oliveira started a discussion on the outdated diff
    last updated by Gustavo Jaruga Cruz
    colab/plugins/gitlab/models.py
    133 135 def url(self):
    134 136 if self.issue_comment:
    135 137 return u'/gitlab/{}/issues/{}#notes_{}'.format(
    136   - self.project.path_with_namespace, self.parent_id, self.id)
      138 + self.project.path_with_namespace, self.parent_id, self.iid)
    2
    • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
      Sergio Oliveira @seocam

      Note that both parts of the conditional are pretty much the same. It would be better refactor to keep only the template string and format just once afterward.

      Choose File ...   File name...
      Cancel
    • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
      Gustavo Jaruga Cruz @darksshades

      Makes sense, commited on new commit.

      Choose File ...   File name...
      Cancel
  • C6b14af78e51fba6beb90142971240cc?s=40&d=identicon
    Gustavo Jaruga Cruz @darksshades

    Added 1 new commit:

    • 9a166399 - Refactor url method of mr/issue
    Choose File ...   File name...
    Cancel
  • F1c4e7359f83d87a9b8ffc5a003e9cc9?s=40&d=identicon
    Alexandre Barbosa @alexandre

    Milestone changed to Link errado nas colaborações(MR)

    Choose File ...   File name...
    Cancel
  • 9fe63c7bd60deeb55e409a1d7dd173f5?s=40&d=identicon
    Sergio Oliveira @seocam
    Choose File ...   File name...
    Cancel