Bug 61225 - Remove chk_create_xxx error checking

git-svn-id: svn://svn.office.custis.ru/3rdparty/bugzilla.org/trunk@1123 6955db30-a419-402b-8a0d-67ecbb4d7f56
master
vfilippov 2010-12-06 12:31:26 +00:00
parent 7bdcecf9d9
commit 390c7124b7
4 changed files with 2 additions and 43 deletions

View File

@ -52,11 +52,6 @@ if ($params->{save})
($params->{on_update} ? 1 : 0) * CF_UPDATE |
($params->{on_create} ? 1 : 0) * CF_CREATE |
($params->{deny_all} ? 1 : 0) * CF_DENY;
# Ошибка, если CF_CREATE & (есть except_fields).
if (($flags & CF_CREATE) && $except)
{
ThrowUserError('chk_create_except');
}
# Создаём/обновляем
my $ch;
if ($params->{create})

View File

@ -127,20 +127,10 @@ sub _check_query_id
return $q->id;
}
# FIXME проверка должна быть здесь, но Bugzilla::Object не позволяет это реализовать:
# Ошибка, если CF_CREATE & (есть except_fields).
sub _check_flags
{
my ($invocant, $value, $field) = @_;
$value = int($value);
if (($value & CF_FREEZE) && ($value & CF_CREATE))
{
ThrowUserError('chk_create_freeze');
}
elsif (($value & CF_CREATE) && !($value & CF_DENY))
{
ThrowUserError('chk_create_allow');
}
return $value;
}

View File

@ -68,6 +68,7 @@
<label for="is_fatal">Запрещать изменения? (если нет, только даётся предупреждение)</label><br />
</td>
</tr>
<tr><th colspan="2">Запрещения изменений полей действуют только при обновлении багов:</th></tr>
<tr>
<th style="background: #FFE0E0">Запрещать:</th>
<td style="background: #FFE0E0">
@ -98,18 +99,7 @@ var fieldids = { '':'' [% FOR f = my_fielddefs %],"[% f.name | js %]": [% loop.c
var except_field_index = 0;
function showhide_allowdeny()
{
var chk;
chk = document.getElementById('deny_all').checked;
if (!chk)
document.getElementById('on_create').checked = false;
document.getElementById('on_create').disabled = !chk;
document.getElementById('label_for_on_create').style.color = chk ? '' : 'gray';
chk = document.getElementById('on_update').checked && !document.getElementById('on_create').checked;
if (!chk)
document.getElementById('is_freeze').checked = false;
document.getElementById('label_for_is_freeze').style.color = chk ? '' : 'gray';
document.getElementById('is_freeze').disabled = !chk;
chk = document.getElementById('deny_all').checked;
var chk = document.getElementById('deny_all').checked;
document.getElementById('except_fields_title').innerHTML = chk ? 'Но разрешать:' : '';
document.getElementById('except_fields_tr').style.backgroundColor = chk ? '#E0FFE0' : '#FFE0E0';
}

View File

@ -14,22 +14,6 @@
The following missing fields: [% fields.join(", ") | html %] are required to enter new bugs.
[% ELSIF error == "checkers_failed" %]
[% PROCESS "failed-checkers.html.tmpl" f = failed %]
[% ELSIF error == "chk_create_except" %]
Так как при создании бага понятие «изменение полей бага» отсутствует,
проверки, запускаемые при создании багов, всегда проверяют все поля.
Для проверки значений конкретных полей пользуйтесь изменением запроса поиска,
на основании которого создан предикат.
Нажмите «Назад», удалите поля-исключения и пересохраните предикат.
[% ELSIF error == "chk_create_freeze" %]
Режим «проверки до внесения изменений в баг» при создании бага не имеет смысла, потому
что ещё нечего проверять. Нажмите «Назад», снимите флажок «Предварительная проверка» и
пересохраните предикат.
[% ELSIF error == "chk_create_allow" %]
Так как при создании бага понятие «изменение полей бага» отсутствует,
то не имеет смысла и разрешение изменений каких-либо полей.
Для проверки значений конкретных полей пользуйтесь изменением запроса поиска,
на основании которого создан предикат.
Нажмите «Назад», установите флажок «Запрещать изменения всех полей» и пересохраните предикат.
[% ELSIF error == "invalid_field_value" %]
The value <b>"[% value_obj.name | html %]"</b> of field <b>[% value_obj.field.description | html %]</b>
is unavailable for the selected value "<b>[% controller | html %]</b>" of