Showing 5 changed files with 33 additions and 24 deletions
+8 -8
lib/Gitprep.pm
... ...
@@ -183,29 +183,29 @@ sub startup {
183 183
       table => 'ssh_public_key',
184 184
       primary_key => 'row_id',
185 185
       join => [
186
-        'left join user as user on ssh_public_key.user = user.row_id'
186
+        'left join user on ssh_public_key.user = user.row_id'
187 187
       ]
188 188
     },
189 189
     {
190 190
       table => 'project',
191 191
       primary_key => 'row_id',
192 192
       join => [
193
-        'left join user as user on project.user = user.row_id'
193
+        'left join user on project.user = user.row_id'
194 194
       ]
195 195
     },
196 196
     {
197 197
       table => 'collaboration',
198 198
       primary_key => 'row_id',
199 199
       join => [
200
-        'left join user as user on collaboration.user = user.row_id',
201
-        'left join project as project on collaboration.project = project.row_id',
200
+        'left join user on collaboration.user = user.row_id',
201
+        'left join project on collaboration.project = project.row_id',
202 202
       ]
203 203
     },
204 204
     {
205 205
       table => 'issue',
206 206
       join => [
207
-        'left join pull_request as pull_request on issue.pull_request = pull_request.row_id',
208
-        
207
+        'left join project on issue.project = project.row_id',
208
+        'left join pull_request on issue.pull_request = pull_request.row_id',
209 209
         'left join user as open_user on issue.open_user = open_user.row_id',
210 210
         'left join project as pull_request__base_project on pull_request.base_project = pull_request__base_project.row_id',
211 211
         'left join user as pull_request__base_project__user'
... ...
@@ -220,8 +220,8 @@ sub startup {
220 220
       table => 'issue_message',
221 221
       primary_key => 'row_id',
222 222
       join => [
223
-        'left join user as user on issue_message.user = user.row_id',
224
-        'left join issue as issue on issue_message.issue = issue.row_id'
223
+        'left join user on issue_message.user = user.row_id',
224
+        'left join issue on issue_message.issue = issue.row_id'
225 225
       ]
226 226
     },
227 227
     {
+7 -1
old/fix_v2_pull_request
... ...
@@ -19,14 +19,20 @@ my $dbi = DBIx::Custom->connect(%dbi_args);
19 19
 
20 20
 # Copy pull_request data to issue
21 21
 my $pull_requests = $dbi->select(table => 'pull_request')->all;
22
+my $issue_project_numbers = {};
22 23
 for my $pull_request (@$pull_requests) {
24
+
25
+  my $project = $pull_request->{base_project};
26
+  $issue_project_numbers->{$project}++;
23 27
   my $new_issue = {
24 28
     row_id => $pull_request->{row_id},
25 29
     title => $pull_request->{title},
26 30
     open => $pull_request->{open},
27 31
     open_time => $pull_request->{open_time},
28 32
     open_user => $pull_request->{open_user},
29
-    pull_request => $pull_request->{row_id}
33
+    pull_request => $pull_request->{row_id},
34
+    project => $project,
35
+    number => $issue_project_numbers->{$project}
30 36
   };
31 37
   
32 38
   my $issue = $dbi->select(
+11 -8
setup_database
... ...
@@ -156,7 +156,10 @@ EOS
156 156
   eval {
157 157
     my $sql = <<"EOS";
158 158
 create table issue (
159
-  row_id integer primary key autoincrement
159
+  row_id integer primary key autoincrement,
160
+  project integer not null default 0,
161
+  number integer not null default 0,
162
+  unique(project, number)
160 163
 );
161 164
 EOS
162 165
     $dbi->execute($sql);
... ...
@@ -165,17 +168,17 @@ EOS
165 168
   # Create issue columns
166 169
   my @issue_columns = (
167 170
     "title not null default ''",
168
-    "open integer default 0",
169
-    "open_time integer default 0",
170
-    "open_user integer default 0",
171
-    "pull_request integer default 0"
171
+    "open integer not null default 0",
172
+    "open_time integer not null default 0",
173
+    "open_user integer not null default 0",
174
+    "pull_request integer  not null default 0",
172 175
   );
173 176
   for my $column (@issue_columns) {
174 177
     eval { $dbi->execute("alter table issue add column $column") };
175 178
   }
176 179
 
177 180
   # Check issue table
178
-  eval { $dbi->select([qw/row_id title open open_time open_user pull_request/], table => 'issue') };
181
+  eval { $dbi->select([qw/row_id title open open_time open_user pull_request project/], table => 'issue') };
179 182
   if ($@) {
180 183
     my $error = "Can't create issue table properly: $@";
181 184
     die $error;
... ...
@@ -197,8 +200,8 @@ EOS
197 200
   # Create issue_message columns
198 201
   my @issue_message_columns = (
199 202
     "message not null default ''",
200
-    "create_time integer default 0",
201
-    "update_time integer default 0",
203
+    "create_time integer not null default 0",
204
+    "update_time integer not null default 0",
202 205
     "user integer not null default 0"
203 206
   );
204 207
   for my $column (@issue_message_columns) {
+1 -1
templates/compare.html.ep
... ...
@@ -377,7 +377,7 @@
377 377
               </span>
378 378
             % } else {
379 379
               <span style="margin-left:10px">
380
-                <span style="color:red;font-weight:bold"><%= "??" %>Not able to merge.</span> These branches can't be automatically merged.
380
+                <span style="color:red;font-weight:bold">Not able to merge.</span> These branches can't be automatically merged.
381 381
               </span>
382 382
             % }
383 383
           % }
+6 -6
templates/pulls.html.ep
... ...
@@ -21,8 +21,8 @@
21 21
       {pull_request => ['target_branch']}
22 22
     ],
23 23
     where => [
24
-      ['and', ':issue.open{=}', ':pull_request{<>}'],
25
-      {'issue.open' => $open, pull_request => 0}
24
+      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
25
+      {'issue.open' => $open, pull_request => 0, 'project.id' => $project_id}
26 26
     ]
27 27
   )->all;
28 28
   
... ...
@@ -30,8 +30,8 @@
30 30
   my $open_count = app->dbi->model('issue')->select(
31 31
     'count(*)',
32 32
     where => [
33
-      ['and', ':issue.open{=}', ':pull_request{<>}'],
34
-      {'issue.open' => 1, pull_request => 0}
33
+      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
34
+      {'issue.open' => 1, pull_request => 0, 'project.id' => $project_id}
35 35
     ]
36 36
   )->value;
37 37
   
... ...
@@ -39,8 +39,8 @@
39 39
   my $close_count = app->dbi->model('issue')->select(
40 40
     'count(*)',
41 41
     where => [
42
-      ['and', ':issue.open{=}', ':pull_request{<>}'],
43
-      {'issue.open' => 0, pull_request => 0}
42
+      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
43
+      {'issue.open' => 0, pull_request => 0, 'project.id' => $project_id}
44 44
     ]
45 45
   )->value;
46 46
 %>