Если у кого-то есть проблемы с этим, вам нужно изменить следующее:
В config_inc.php измените $g_status_enum_string, чтобы перечислить новые статусы по своему усмотрению.
В custom_constants_inc.php обязательно сделайте то же самое, что и выше.
В базе данных запустите команды SQL, например:
UPDATE mantisclone.mantis_bug_table SET status=100 WHERE status=10;
изменить фактические записи для существующих идентификаторов состояния на новые.
В custom_strings_inc.php измените $s_status_enum_string и введите новые статусы. Например, один из моих был:
$s_sanity_test_bug_title = "Set Issue Sanity Test";
$s_sanity_test_bug_button = "Issue Sanity Test Pending";
$s_email_notification_title_for_sanity_test = "The following issue is NOW SANITY TEST PENDING";
Наконец, вам понадобится небольшой скрипт для изменения существующих пронумерованных значений в mantis_filters_table. Это было мое, измените его, как считаете нужным:
<?php
$mantisDB="myMantisDatabaseName";
mysql_connect("localhost", "XXXX", "YYYY") or die("Could not connect: " . mysql_error());
mysql_select_db($mantisDB);
$result = mysql_query("SELECT id, filter_string FROM $mantisDB.mantis_filters_table");
function parseRecord($statusArray)
{
$newStatus = array( "10" => "100",
"20" => "200",
"50" => "300",
"52" => "400",
"53" => "500",
"54" => "540",
"56" => "560",
"58" => "580",
"60" => "600",
"70" => "700",
"75" => "450",
"90" => "900",
"91" => "910"
);
foreach ($statusArray as $key=>$value)
{
if(array_key_exists($value, $newStatus))
{
echo "Found value $value, replacing it with " . $newStatus[$value] . "\n";
$statusArray[$key] = (int)$newStatus[$value];
}
}
}
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$statusID = $row["id"];
$serializedString = $row["filter_string"];
$unserializedArray = unserialize(substr($serializedString,3)); // There's a prepended 'v8#' string in there, don't know why.
parseRecord(&$unserializedArray["hide_status"]);
parseRecord(&$unserializedArray["show_status"]);
$newSerialized = "v8#".serialize($unserializedArray);
// echo $newSerialized;
$changeStatus = mysql_query("UPDATE $mantisDB.mantis_filters_table SET filter_string='$newSerialized' WHERE id=$statusID");
}
mysql_free_result($result);
?>
Я надеюсь, что это сработает, дайте мне знать, если у вас возникнут какие-либо проблемы.
person
Arkandel
schedule
27.11.2015