1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-22 13:30:55 +01:00

Detect edits which don't actually change projects in Maniphest tasks

Summary:
Be smarter about detecting when projects haven't actually changed so we don't
create silly transactions which just reorder them or change (entirely arbitrary)
dictionary keys.

Test Plan:
Edited a task with several projects and swapped their order, didn't get a bogus
project transaction.

Reviewed By: tuomaspelkonen
Reviewers: tuomaspelkonen, jungejason, aran
CC: anjali, sandra, aran, tuomaspelkonen, epriestley
Differential Revision: 249
This commit is contained in:
epriestley 2011-05-06 17:33:40 -07:00
parent 870f4bfe73
commit 1ed915aef2

View file

@ -112,9 +112,16 @@ class ManiphestTaskEditController extends ManiphestController {
$changes[ManiphestTransactionType::TYPE_CCS] = $request->getArr('cc'); $changes[ManiphestTransactionType::TYPE_CCS] = $request->getArr('cc');
} }
if ($request->getArr('projects') != $task->getProjectPHIDs()) { $new_proj_arr = $request->getArr('projects');
$changes[ManiphestTransactionType::TYPE_PROJECTS] $new_proj_arr = array_values($new_proj_arr);
= $request->getArr('projects'); sort($new_proj_arr);
$cur_proj_arr = $task->getProjectPHIDs();
$cur_proj_arr = array_values($cur_proj_arr);
sort($cur_proj_arr);
if ($new_proj_arr != $cur_proj_arr) {
$changes[ManiphestTransactionType::TYPE_PROJECTS] = $new_proj_arr;
} }
if ($files) { if ($files) {