... | ... |
@@ -175,14 +175,38 @@ sub startup { |
175 | 175 |
|
176 | 176 |
# Model |
177 | 177 |
my $models = [ |
178 |
- {table => 'user', primary_key => 'id'}, |
|
179 |
- {table => 'ssh_public_key', primary_key => 'key'}, |
|
180 |
- {table => 'project', primary_key => ['user_id', 'name']}, |
|
181 |
- {table => 'number', primary_key => 'key'}, |
|
182 |
- {table => 'collaboration', primary_key => ['user_id', 'project_name', 'collaborator_id']}, |
|
178 |
+ { |
|
179 |
+ table => 'user', |
|
180 |
+ primary_key => 'row_id' |
|
181 |
+ }, |
|
182 |
+ { |
|
183 |
+ table => 'ssh_public_key', |
|
184 |
+ primary_key => 'row_id', |
|
185 |
+ join => [ |
|
186 |
+ 'left join user on ssh_public_key.user = user.row_id' |
|
187 |
+ ] |
|
188 |
+ }, |
|
189 |
+ { |
|
190 |
+ table => 'project', |
|
191 |
+ primary_key => 'row_id', |
|
192 |
+ join => [ |
|
193 |
+ 'left join user on project.user = user.row_id' |
|
194 |
+ ] |
|
195 |
+ }, |
|
196 |
+ { |
|
197 |
+ table => 'collaboration', |
|
198 |
+ primary_key => 'row_id', |
|
199 |
+ join => [ |
|
200 |
+ 'left join user on collaboration.collaborator = user.row_id', |
|
201 |
+ 'left join project on collaboration.project = project.row_id' |
|
202 |
+ ] |
|
203 |
+ }, |
|
183 | 204 |
{ |
184 | 205 |
table => 'pull_request', |
185 |
- join => ['left join user on pull_request.open_user = user.row_id'] |
|
206 |
+ primary_key => 'row_id', |
|
207 |
+ join => [ |
|
208 |
+ 'left join user on pull_request.open_user = user.row_id' |
|
209 |
+ ] |
|
186 | 210 |
} |
187 | 211 |
]; |
188 | 212 |
$dbi->create_model($_) for @$models; |
... | ... |
@@ -5,6 +5,26 @@ use Digest::MD5 'md5_hex'; |
5 | 5 |
|
6 | 6 |
has 'cntl'; |
7 | 7 |
|
8 |
+sub get_user_row_id { |
|
9 |
+ my ($self, $user_id) = @_; |
|
10 |
+ |
|
11 |
+ my $user_row_id = $self->app->dbi->model('user')->select('row_id', where => {id => $user_id})->value; |
|
12 |
+ |
|
13 |
+ return $user_row_id; |
|
14 |
+} |
|
15 |
+ |
|
16 |
+sub get_project_row_id { |
|
17 |
+ my ($self, $user_id, $project_id) = @_; |
|
18 |
+ |
|
19 |
+ my $user_row_id = $self->app->dbi->model('user')->select('row_id', where => {id => $user_id})->value; |
|
20 |
+ my $project_row_id = $self->app->dbi->model('project')->model('project')->select( |
|
21 |
+ 'row_id', |
|
22 |
+ where => {user => $user_row_id, id => $project_id} |
|
23 |
+ )->value; |
|
24 |
+ |
|
25 |
+ return $project_row_id; |
|
26 |
+} |
|
27 |
+ |
|
8 | 28 |
sub app { shift->cntl->app } |
9 | 29 |
|
10 | 30 |
sub encrypt_password { |
... | ... |
@@ -127,20 +127,22 @@ sub admin_user { |
127 | 127 |
} |
128 | 128 |
|
129 | 129 |
sub default_branch { |
130 |
- my ($self, $user, $project, $default_branch) = @_; |
|
130 |
+ my ($self, $user_id, $project_id, $default_branch) = @_; |
|
131 |
+ |
|
132 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
131 | 133 |
|
132 | 134 |
# Set default branch |
133 | 135 |
my $dbi = $self->app->dbi; |
134 | 136 |
if (defined $default_branch) { |
135 | 137 |
$dbi->model('project')->update( |
136 | 138 |
{default_branch => $default_branch}, |
137 |
- id => [$user, $project] |
|
139 |
+ where => {user => $user_row_id, id => $project_id} |
|
138 | 140 |
); |
139 | 141 |
} |
140 | 142 |
else { |
141 | 143 |
# Get default branch |
142 | 144 |
my $default_branch = $dbi->model('project') |
143 |
- ->select('default_branch', id => [$user, $project]) |
|
145 |
+ ->select('default_branch', where => {user => $user_row_id, id => $project_id}) |
|
144 | 146 |
->value; |
145 | 147 |
|
146 | 148 |
return $default_branch; |
... | ... |
@@ -158,14 +160,14 @@ sub fork_project { |
158 | 160 |
|
159 | 161 |
# Original project id |
160 | 162 |
my $project_info = $dbi->model('project')->select( |
161 |
- ['original_pid', 'private'], |
|
162 |
- id => [$original_user, $project] |
|
163 |
+ ['original_project', 'private'], |
|
164 |
+ where => {user => $original_user, id => $project} |
|
163 | 165 |
)->one; |
164 | 166 |
|
165 |
- my $original_pid = $project_info->{original_pid}; |
|
167 |
+ my $original_project = $project_info->{original_project}; |
|
166 | 168 |
|
167 | 169 |
croak "Can't get original project id" |
168 |
- unless defined $original_pid && $original_pid > 0; |
|
170 |
+ unless defined $original_project && $original_project > 0; |
|
169 | 171 |
|
170 | 172 |
# Create project |
171 | 173 |
eval { |
... | ... |
@@ -174,7 +176,7 @@ sub fork_project { |
174 | 176 |
$project, |
175 | 177 |
{ |
176 | 178 |
original_user => $original_user, |
177 |
- original_pid => $original_pid, |
|
179 |
+ original_project => $original_project, |
|
178 | 180 |
private => $project_info->{private} |
179 | 181 |
} |
180 | 182 |
); |
... | ... |
@@ -192,47 +194,55 @@ sub fork_project { |
192 | 194 |
} |
193 | 195 |
|
194 | 196 |
sub is_admin { |
195 |
- my ($self, $user) = @_; |
|
197 |
+ my ($self, $user_id) = @_; |
|
196 | 198 |
|
197 | 199 |
# Check admin |
198 | 200 |
my $is_admin = $self->app->dbi->model('user') |
199 |
- ->select('admin', id => $user)->value; |
|
201 |
+ ->select('admin', where => {id => $user_id})->value; |
|
200 | 202 |
|
201 | 203 |
return $is_admin; |
202 | 204 |
} |
203 | 205 |
|
204 | 206 |
sub is_private_project { |
205 |
- my ($self, $user, $project) = @_; |
|
207 |
+ my ($self, $user_id, $project_id) = @_; |
|
208 |
+ |
|
209 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
206 | 210 |
|
207 | 211 |
# Is private |
208 | 212 |
my $private = $self->app->dbi->model('project') |
209 |
- ->select('private', id => [$user, $project])->value; |
|
213 |
+ ->select('private', where => {user => $user_row_id, project_id => $project_id})->value; |
|
210 | 214 |
|
211 | 215 |
return $private; |
212 | 216 |
} |
213 | 217 |
|
218 |
+sub api { shift->app->gitprep_api } |
|
219 |
+ |
|
220 |
+ |
|
214 | 221 |
sub members { |
215 |
- my ($self, $user, $project) = @_; |
|
222 |
+ my ($self, $user_id, $project_id) = @_; |
|
223 |
+ |
|
224 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
216 | 225 |
|
217 | 226 |
# DBI |
218 | 227 |
my $dbi = $self->app->dbi; |
219 | 228 |
|
220 | 229 |
# Original project id |
221 |
- my $original_pid = $dbi->model('project') |
|
222 |
- ->select('original_pid', id => [$user, $project])->value; |
|
230 |
+ my $original_project = $dbi->model('project') |
|
231 |
+ ->select('original_project', where => {user => $user_row_id, id => $project_id})->value; |
|
223 | 232 |
|
224 | 233 |
# Members |
225 | 234 |
my $members = $dbi->model('project')->select( |
226 |
- ['user_id as id', 'name as project'], |
|
235 |
+ [ |
|
236 |
+ {__MY__ => '*'}, |
|
237 |
+ {user => ['id']} |
|
238 |
+ ], |
|
227 | 239 |
where => [ |
228 | 240 |
['and', |
229 |
- ':original_pid{=}', |
|
241 |
+ ':original_project{=}', |
|
230 | 242 |
['or', ':user_id{<>}', ':name{<>}'] |
231 | 243 |
], |
232 | 244 |
{ |
233 |
- original_pid => $original_pid, |
|
234 |
- user_id => $user, |
|
235 |
- name => $project |
|
245 |
+ original_project => $original_project, |
|
236 | 246 |
} |
237 | 247 |
], |
238 | 248 |
append => 'order by user_id, name' |
... | ... |
@@ -318,43 +328,35 @@ sub delete_user { |
318 | 328 |
} |
319 | 329 |
|
320 | 330 |
sub original_project { |
321 |
- my ($self, $user, $project) = @_; |
|
331 |
+ my ($self, $user_id, $project_id) = @_; |
|
332 |
+ |
|
333 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
322 | 334 |
|
323 | 335 |
# Original project id |
324 | 336 |
my $dbi = $self->app->dbi; |
325 |
- my $row = $dbi->model('project')->select( |
|
326 |
- ['original_user', 'original_pid'], |
|
327 |
- id => [$user, $project] |
|
328 |
- )->one; |
|
337 |
+ my $original_project_row_id = $dbi->model('project')->select( |
|
338 |
+ 'original_project', |
|
339 |
+ where => {user => $user_row_id, id => $project_id} |
|
340 |
+ )->value; |
|
329 | 341 |
|
330 |
- croak "Original project don't eixsts." unless $row; |
|
342 |
+ croak "Original project don't eixsts." unless defined $original_project_row_id; |
|
331 | 343 |
|
332 | 344 |
# Original project |
333 | 345 |
my $original_project = $dbi->model('project')->select( |
334 |
- 'name', |
|
346 |
+ [ |
|
347 |
+ {__MY__ => '*'}, |
|
348 |
+ {user => ['id']} |
|
349 |
+ ], |
|
335 | 350 |
where => { |
336 |
- user_id => $row->{original_user}, |
|
337 |
- original_pid => $row->{original_pid} |
|
351 |
+ 'project.row_id' => $original_project_row_id |
|
338 | 352 |
} |
339 |
- )->value; |
|
353 |
+ )->one; |
|
340 | 354 |
|
341 |
- return unless defined $original_project && length $original_project; |
|
355 |
+ return unless defined $original_project; |
|
342 | 356 |
|
343 | 357 |
return $original_project; |
344 | 358 |
} |
345 | 359 |
|
346 |
-sub original_user { |
|
347 |
- my ($self, $user, $project) = @_; |
|
348 |
- |
|
349 |
- # Orginal user |
|
350 |
- my $original_user = $self->app->dbi->model('project') |
|
351 |
- ->select('original_user', id => [$user, $project]) |
|
352 |
- ->value; |
|
353 |
- return unless defined $original_user && length $original_user; |
|
354 |
- |
|
355 |
- return $original_user; |
|
356 |
-} |
|
357 |
- |
|
358 | 360 |
sub projects { |
359 | 361 |
my ($self, $user_id) = @_; |
360 | 362 |
|
... | ... |
@@ -685,7 +687,7 @@ EOS |
685 | 687 |
my $project_columns = [ |
686 | 688 |
"default_branch not null default 'master'", |
687 | 689 |
"original_user not null default ''", |
688 |
- "original_pid integer not null default 0", |
|
690 |
+ "original_project integer not null default 0", |
|
689 | 691 |
"private not null default 0", |
690 | 692 |
"ignore_space_change not null default 0", |
691 | 693 |
"guess_encoding not null default ''" |
... | ... |
@@ -697,7 +699,7 @@ EOS |
697 | 699 |
# Check project table |
698 | 700 |
eval { |
699 | 701 |
$dbi->select( |
700 |
- [qw/default_branch original_user original_pid private ignore_space_change guess_encoding/], |
|
702 |
+ [qw/default_branch original_user original_project private ignore_space_change guess_encoding/], |
|
701 | 703 |
table => 'project' |
702 | 704 |
); |
703 | 705 |
}; |
... | ... |
@@ -757,14 +759,14 @@ EOS |
757 | 759 |
} |
758 | 760 |
|
759 | 761 |
# Original project id number |
760 |
- eval { $dbi->insert({key => 'original_pid'}, table => 'number') }; |
|
761 |
- my $original_pid = $dbi->select( |
|
762 |
+ eval { $dbi->insert({key => 'original_project'}, table => 'number') }; |
|
763 |
+ my $original_project = $dbi->select( |
|
762 | 764 |
'key', |
763 | 765 |
table => 'number', |
764 |
- where => {key => 'original_pid'} |
|
766 |
+ where => {key => 'original_project'} |
|
765 | 767 |
)->value; |
766 |
- unless (defined $original_pid) { |
|
767 |
- my $error = "Can't create original_pid row in number table"; |
|
768 |
+ unless (defined $original_project) { |
|
769 |
+ my $error = "Can't create original_project row in number table"; |
|
768 | 770 |
$self->app->log->error($error); |
769 | 771 |
croak $error; |
770 | 772 |
} |
... | ... |
@@ -939,12 +941,6 @@ sub _create_project { |
939 | 941 |
# Create project |
940 | 942 |
my $dbi = $self->app->dbi; |
941 | 943 |
$dbi->connector->txn(sub { |
942 |
- unless (defined $params->{original_pid}) { |
|
943 |
- my $number = $dbi->model('number')->select('value', where => {key => 'original_pid'})->value; |
|
944 |
- $number++; |
|
945 |
- $dbi->model('number')->update({value => $number}, where => {key => 'original_pid'}); |
|
946 |
- $params->{original_pid} = $number; |
|
947 |
- } |
|
948 | 944 |
$dbi->model('project')->insert($params, id => [$user, $project]); |
949 | 945 |
}); |
950 | 946 |
} |
... | ... |
@@ -1094,10 +1090,12 @@ sub _create_rep { |
1094 | 1090 |
} |
1095 | 1091 |
|
1096 | 1092 |
sub _create_db_user { |
1097 |
- my ($self, $user, $data) = @_; |
|
1093 |
+ my ($self, $user_id, $data) = @_; |
|
1094 |
+ |
|
1095 |
+ $data->{id} = $user_id; |
|
1098 | 1096 |
|
1099 | 1097 |
# Create database user |
1100 |
- $self->app->dbi->model('user')->insert($data, id => $user); |
|
1098 |
+ $self->app->dbi->model('user')->insert($data); |
|
1101 | 1099 |
} |
1102 | 1100 |
|
1103 | 1101 |
sub _create_user_dir { |
... | ... |
@@ -1110,10 +1108,10 @@ sub _create_user_dir { |
1110 | 1108 |
} |
1111 | 1109 |
|
1112 | 1110 |
sub _delete_db_user { |
1113 |
- my ($self, $user) = @_; |
|
1111 |
+ my ($self, $user_id) = @_; |
|
1114 | 1112 |
|
1115 | 1113 |
# Delete database user |
1116 |
- my $count = $self->app->dbi->model('user')->delete(id => $user); |
|
1114 |
+ my $count = $self->app->dbi->model('user')->delete(where => {id => $user_id}); |
|
1117 | 1115 |
|
1118 | 1116 |
return $count; |
1119 | 1117 |
} |
... | ... |
@@ -1128,11 +1126,13 @@ sub _delete_user_dir { |
1128 | 1126 |
} |
1129 | 1127 |
|
1130 | 1128 |
sub _delete_project { |
1131 |
- my ($self, $user, $project) = @_; |
|
1129 |
+ my ($self, $user_id, $project_id) = @_; |
|
1130 |
+ |
|
1131 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
1132 | 1132 |
|
1133 | 1133 |
# Delete project |
1134 | 1134 |
my $dbi = $self->app->dbi; |
1135 |
- $dbi->model('project')->delete(id => [$user, $project]); |
|
1135 |
+ $dbi->model('project')->delete(where => {user => $user_row_id, id => $project_id}); |
|
1136 | 1136 |
} |
1137 | 1137 |
|
1138 | 1138 |
sub _delete_rep { |
... | ... |
@@ -1149,20 +1149,22 @@ sub _delete_rep { |
1149 | 1149 |
} |
1150 | 1150 |
|
1151 | 1151 |
sub exists_project { |
1152 |
- my ($self, $user, $project) = @_; |
|
1152 |
+ my ($self, $user_id, $project_id) = @_; |
|
1153 |
+ |
|
1154 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
1153 | 1155 |
|
1154 | 1156 |
# Exists project |
1155 | 1157 |
my $dbi = $self->app->dbi; |
1156 |
- my $row = $dbi->model('project')->select(id => [$user, $project])->one; |
|
1158 |
+ my $row = $dbi->model('project')->select(where => {user => $user_row_id, id => $project_id})->one; |
|
1157 | 1159 |
|
1158 | 1160 |
return $row ? 1 : 0; |
1159 | 1161 |
} |
1160 | 1162 |
|
1161 | 1163 |
sub exists_user { |
1162 |
- my ($self, $user) = @_; |
|
1164 |
+ my ($self, $user_id) = @_; |
|
1163 | 1165 |
|
1164 | 1166 |
# Exists project |
1165 |
- my $row = $self->app->dbi->model('user')->select(id => $user)->one; |
|
1167 |
+ my $row = $self->app->dbi->model('user')->select(where => {id => $user_id})->one; |
|
1166 | 1168 |
|
1167 | 1169 |
return $row ? 1 : 0; |
1168 | 1170 |
} |
... | ... |
@@ -1206,17 +1208,19 @@ sub _fork_rep { |
1206 | 1208 |
} |
1207 | 1209 |
|
1208 | 1210 |
sub _rename_project { |
1209 |
- my ($self, $user, $project, $renamed_project) = @_; |
|
1211 |
+ my ($self, $user_id, $project_id, $renamed_project_id) = @_; |
|
1212 |
+ |
|
1213 |
+ my $user_row_id = $self->api->get_user_row_id($user_id); |
|
1210 | 1214 |
|
1211 | 1215 |
# Check arguments |
1212 | 1216 |
croak "Invalid parameters(_rename_project)" |
1213 |
- unless defined $user && defined $project && defined $renamed_project; |
|
1217 |
+ unless defined $user_id && defined $project_id && defined $renamed_project_id; |
|
1214 | 1218 |
|
1215 | 1219 |
# Rename project |
1216 | 1220 |
my $dbi = $self->app->dbi; |
1217 | 1221 |
$dbi->model('project')->update( |
1218 |
- {name => $renamed_project}, |
|
1219 |
- id => [$user, $project] |
|
1222 |
+ {id => $renamed_project_id}, |
|
1223 |
+ where => {user => $user_row_id, id => $project_id} |
|
1220 | 1224 |
); |
1221 | 1225 |
} |
1222 | 1226 |
|
... | ... |
@@ -2,20 +2,21 @@ |
2 | 2 |
my $api = gitprep_api; |
3 | 3 |
my $logined = $api->logined; |
4 | 4 |
|
5 |
- my $current_user = session('user'); |
|
6 |
- my $user = $self->param('user'); |
|
5 |
+ my $current_user_row_id = session('user_row_id'); |
|
6 |
+ my $current_user = app->dbi->model('user')->select(where => {row_id => $current_user_row_id})->one; |
|
7 |
+ |
|
8 |
+ my $user_id = $self->param('user'); |
|
7 | 9 |
|
8 |
- my $project = param('project'); |
|
9 |
- my $original_user; |
|
10 |
+ my $project_id = param('project'); |
|
11 |
+ |
|
10 | 12 |
my $original_project; |
11 | 13 |
my $is_private_project; |
12 | 14 |
|
13 | 15 |
my $no_project_header = stash('no_project_header'); |
14 | 16 |
|
15 |
- if (!$no_project_header && defined $project) { |
|
16 |
- $original_user = app->manager->original_user($user, $project); |
|
17 |
- $original_project = app->manager->original_project($user, $project); |
|
18 |
- $is_private_project = app->manager->is_private_project($user, $project); |
|
17 |
+ if (!$no_project_header && defined $project_id) { |
|
18 |
+ $original_project = app->manager->original_project($user_id, $project_id); |
|
19 |
+ $is_private_project = app->manager->is_private_project($user_id, $project_id); |
|
19 | 20 |
} |
20 | 21 |
%> |
21 | 22 |
|
... | ... |
@@ -32,21 +33,21 @@ |
32 | 33 |
<div class="header-right"> |
33 | 34 |
<div class="header-rigth-container"> |
34 | 35 |
% if ($api->logined) { |
35 |
- % unless ($current_user eq 'admin') { |
|
36 |
+ % unless ($current_user->{id} eq 'admin') { |
|
36 | 37 |
<div class="header-btn-container"> |
37 | 38 |
<a class="btn btn-small" href="<%= url_for("/_new") %>">Create a new repo</a> |
38 | 39 |
</div> |
39 | 40 |
<div class="header-btn-container"> |
40 |
- <a class="btn btn-small" href="<%= url_for("/$current_user/_settings") %>">Account Settings</a> |
|
41 |
+ <a class="btn btn-small" href="<%= url_for("/$current_user->{id}/_settings") %>">Account Settings</a> |
|
41 | 42 |
</div> |
42 | 43 |
% } |
43 | 44 |
% my $url = url_with->to_abs; |
44 | 45 |
<div class="header-btn-container"> |
45 | 46 |
<a class="btn btn-small" href="<%= url_for("/_logout?from=$url") %>">Sign out</a> |
46 | 47 |
</div> |
47 |
- <!-- Logined as <%= $current_user %> --> |
|
48 |
+ <!-- Logined as <%= $current_user->{id} %> --> |
|
48 | 49 |
<div class="header-login-container"> |
49 |
- <i class="icon-user"></i><a href="<%= url_for("/$current_user") %>"><%= $current_user %></a> |
|
50 |
+ <i class="icon-user"></i><a href="<%= url_for("/$current_user->{id}") %>"><%= $current_user->{id} %></a> |
|
50 | 51 |
</div> |
51 | 52 |
% } else { |
52 | 53 |
<div class="header-btn-container"> |
... | ... |
@@ -58,17 +59,17 @@ |
58 | 59 |
</div> |
59 | 60 |
</div> |
60 | 61 |
|
61 |
-% if (!$no_project_header && (defined $user || defined $project)) { |
|
62 |
+% if (!$no_project_header && (defined $user_id || defined $project_id)) { |
|
62 | 63 |
<div class="project-header"> |
63 | 64 |
<div class="container" style="overflow:hidden"> |
64 | 65 |
<div class="project-header-left"> |
65 | 66 |
<ul class="breadcrumb"> |
66 | 67 |
<li><a href="<%= url_for('/') %>"><i class="icon-home"></i></a></li> |
67 | 68 |
/ |
68 |
- <li><a href="<%= url_for("/$user") %>"><%= $user %></a></li> |
|
69 |
- % if (defined $project) { |
|
69 |
+ <li><a href="<%= url_for("/$user_id") %>"><%= $user_id %></a></li> |
|
70 |
+ % if (defined $project_id) { |
|
70 | 71 |
/ |
71 |
- <li><b><a href="<%= url_for("/$user/$project") %>"><%= $project %></a></b></li> |
|
72 |
+ <li><b><a href="<%= url_for("/$user_id/$project_id") %>"><%= $project_id %></a></b></li> |
|
72 | 73 |
% } |
73 | 74 |
|
74 | 75 |
% if ($is_private_project) { |
... | ... |
@@ -79,8 +80,8 @@ |
79 | 80 |
<small> |
80 | 81 |
( |
81 | 82 |
forked from |
82 |
- <a href="<%= url_for("/$original_user/$original_project") %>"> |
|
83 |
- <%= "$original_user/$original_project" %> |
|
83 |
+ <a href="<%= url_for("/$original_project->{'user.id'}/$original_project->{id}") %>"> |
|
84 |
+ <%= "$original_project->{'user.id'}/$original_project->{id}" %> |
|
84 | 85 |
</a> |
85 | 86 |
) |
86 | 87 |
</small> |
... | ... |
@@ -89,10 +90,10 @@ |
89 | 90 |
</div> |
90 | 91 |
<div class="project-header-right"> |
91 | 92 |
<div class="project-header-right-container"> |
92 |
- % if (defined $project) { |
|
93 |
+ % if (defined $project_id) { |
|
93 | 94 |
<div class="project-header-btn-container"> |
94 |
- % if ($logined && $current_user ne $user ) { |
|
95 |
- <a href="<%= url_for("/$user/$project/fork") %>" class="btn">Fork</a> |
|
95 |
+ % if ($logined && $current_user->{id} ne $user_id ) { |
|
96 |
+ <a href="<%= url_for("/$user_id/$project_id/fork") %>" class="btn">Fork</a> |
|
96 | 97 |
% } else { |
97 | 98 |
<button class="btn disabled" disabled>Fork</button> |
98 | 99 |
% } |
... | ... |
@@ -101,7 +102,7 @@ |
101 | 102 |
</div> |
102 | 103 |
</div> |
103 | 104 |
</div> |
104 |
- % if (defined $project) { |
|
105 |
+ % if (defined $project_id) { |
|
105 | 106 |
<% |
106 | 107 |
my $tab = stash('tab') || 'code'; |
107 | 108 |
%> |
... | ... |
@@ -110,26 +111,26 @@ |
110 | 111 |
<div class="container"> |
111 | 112 |
<ul> |
112 | 113 |
<li class="<%= $tab eq 'code' ? 'active' : '' %>"> |
113 |
- <a href="<%= url_for("/$user/$project") %>"> |
|
114 |
+ <a href="<%= url_for("/$user_id/$project_id") %>"> |
|
114 | 115 |
<i class="icon-chevron-right"></i> |
115 | 116 |
Code |
116 | 117 |
</a> |
117 | 118 |
</li> |
118 | 119 |
<li class="<%= $tab eq 'pulls' ? 'active' : '' %>"> |
119 |
- <a href="<%= url_for("/$user/$project/pulls") %>"> |
|
120 |
+ <a href="<%= url_for("/$user_id/$project_id/pulls") %>"> |
|
120 | 121 |
<i class="icon-retweet"></i> |
121 | 122 |
Pull request |
122 | 123 |
</a> |
123 | 124 |
</li> |
124 | 125 |
<li class="<%= $tab eq 'graph' ? 'active' : '' %>"> |
125 |
- <a href="<%= url_for("/$user/$project/network") %>" > |
|
126 |
+ <a href="<%= url_for("/$user_id/$project_id/network") %>" > |
|
126 | 127 |
<i class="icon-align-center"></i> |
127 | 128 |
Graph |
128 | 129 |
</a> |
129 | 130 |
</li> |
130 |
- % if ($logined && $user eq session('user')) { |
|
131 |
+ % if ($logined && $user_id eq session('user')) { |
|
131 | 132 |
<li class="<%= $tab eq 'settings' ? 'active' : '' %>"> |
132 |
- <a href="<%= url_for("/$user/$project/settings") %>"> |
|
133 |
+ <a href="<%= url_for("/$user_id/$project_id/settings") %>"> |
|
133 | 134 |
<i class="icon-cog"></i> |
134 | 135 |
Settings |
135 | 136 |
</a> |
... | ... |
@@ -14,6 +14,8 @@ |
14 | 14 |
where => {id => $user_id, admin => 0} |
15 | 15 |
)->one; |
16 | 16 |
|
17 |
+ warn $user_id; |
|
18 |
+ |
|
17 | 19 |
# Projects |
18 | 20 |
unless (app->manager->exists_user($user_id)) { |
19 | 21 |
$self->reply->not_found; |