... | ... |
@@ -97,60 +97,43 @@ |
97 | 97 |
else { |
98 | 98 |
my $now_tm = Time::Moment->now_utc; |
99 | 99 |
my $now_epoch = $now_tm->epoch; |
100 |
- my $user_row_id = app->dbi->model('user')->select( |
|
101 |
- 'row_id', |
|
102 |
- where => {id => $base_user_id} |
|
103 |
- )->value; |
|
104 |
- |
|
105 |
- my $new_issue_row_id; |
|
106 | 100 |
my $session_user_row_id = $api->session_user_row_id; |
101 |
+ my $new_issue_row_id; |
|
107 | 102 |
app->dbi->connector->txn(sub { |
103 |
+ |
|
108 | 104 |
# New pull request |
109 |
- my $new_pull_request_params = { |
|
105 |
+ my $new_pull_request = { |
|
110 | 106 |
base_project => $project_row_id, |
111 | 107 |
base_branch => $base_branch, |
112 | 108 |
target_project => $target_project->{row_id}, |
113 | 109 |
target_branch => $target_branch, |
110 |
+ }; |
|
111 |
+ |
|
112 |
+ app->dbi->model('pull_request')->insert($new_pull_request); |
|
113 |
+ my $new_pull_request_row_id = app->dbi->execute("select LAST_INSERT_ROWID()")->value; |
|
114 |
+ |
|
115 |
+ # New issue |
|
116 |
+ my $new_issue = { |
|
114 | 117 |
title => $title, |
115 | 118 |
open => 1, |
116 | 119 |
open_time => $now_epoch, |
117 |
- open_user => $session_user_row_id |
|
120 |
+ open_user => $session_user_row_id, |
|
121 |
+ pull_request => $new_pull_request_row_id |
|
118 | 122 |
}; |
123 |
+ app->dbi->model('issue')->insert($new_issue); |
|
124 |
+ $new_issue_row_id = app->dbi->execute("select LAST_INSERT_ROWID()")->value; |
|
119 | 125 |
|
120 |
- app->dbi->model('pull_request')->insert($new_pull_request_params); |
|
121 |
- |
|
122 |
- $new_issue_row_id = app->dbi->model('issue')->select( |
|
123 |
- 'row_id', |
|
124 |
- where => { |
|
125 |
- '__pull_request.base_project' => $project_row_id, |
|
126 |
- '__pull_request.base_branch' => $base_branch, |
|
127 |
- '__pull_request.target_project' => $target_project->{row_id}, |
|
128 |
- '__pull_request.target_branch' => $target_branch |
|
129 |
- } |
|
130 |
- )->value; |
|
131 |
- |
|
132 |
- # Get pull request message number |
|
133 |
- my $number = app->dbi->model('issue_message')->select( |
|
134 |
- 'max(number)', |
|
135 |
- where => {issue => $new_issue_row_id}, |
|
136 |
- append => 'group by number' |
|
137 |
- )->value; |
|
138 |
- |
|
139 |
- $number //= 0; |
|
140 |
- |
|
141 |
- my $new_number = $number + 1; |
|
142 |
- |
|
143 |
- # New pull request message |
|
144 |
- my $new_issue_message_params = { |
|
126 |
+ # New issue message |
|
127 |
+ my $new_issue_message = { |
|
145 | 128 |
issue => $new_issue_row_id, |
146 |
- number => $new_number, |
|
129 |
+ number => 1, |
|
147 | 130 |
message => $message, |
148 | 131 |
create_time => $now_epoch, |
149 | 132 |
update_time => $now_epoch, |
150 | 133 |
user => $session_user_row_id |
151 | 134 |
}; |
152 | 135 |
|
153 |
- app->dbi->model('issue_message')->insert($new_issue_message_params); |
|
136 |
+ app->dbi->model('issue_message')->insert($new_issue_message); |
|
154 | 137 |
}); |
155 | 138 |
|
156 | 139 |
$self->redirect_to("/$base_user_id/$base_project_id/pull/$new_issue_row_id"); |