Запрет изменения подтаблицы по статусу родительской
#1
Отправлено 20 Апрель 2016 - 19:24
Есть документ "Запрос" с подтаблицей "Детали запроса". У документа есть статус "Черновик", "В работе" и "Закрыт". В состоянии "Черновик" пользователь может редактировать весь документ (включая табличную часть). Во всех других статусах -- только просмотр.
Для родительской таблицы работает настройка правила доступа с условием по типу статуса.
Для подтаблицы добавил служебное поле в которое вычислением из родительской таблицы дублирую статус и опять таки по правилу доступа разрешаю/запрещаю редактирование строк.
Однако с кнопкой "Добавить" в подтаблице справиться не удалось. Остается вариант прятать ее по условию из JavaScript.
Подскажите, может быть есть возможность сделать как-то проще? Или как кнопку JS спрятать? (я в нем не очень силен)
Всем спасибо!
#2
Отправлено 21 Апрель 2016 - 14:19
Игорь Белов (20 Апрель 2016 - 19:24) писал:
Подскажите, может быть есть возможность сделать как-то проще? Или как кнопку JS спрятать? (я в нем не очень силен)
$(document).ready(function(){
if(document.getElementById("value{$one_field.id}").value != "Черновик") {
var sub_add_w = $(".sub_add_new_line");
if(sub_add_w != null) {
sub_add_w.hide();
$("span[class^=sub_add_new_line_top]").hide();
}
}
});
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#3
Отправлено 29 Апрель 2016 - 10:16
Может есть возможность передать статус как-то принудительно?
#4
Отправлено 29 Апрель 2016 - 11:21
Игорь Белов (29 Апрель 2016 - 10:16) писал:
Может есть возможность передать статус как-то принудительно?
Попробуйте такой костыль:
$(document).ready(function(){
if($('#view_cell_$one_field.id').text() != "Черновик") {
var sub_add_w = $(".sub_add_new_line");
if(sub_add_w != null) {
sub_add_w.hide();
$("span[class^=sub_add_new_line_top]").hide();
}
}
});
Творческая группа "ТАВР".
www.TAVR.pro Художественная ковка, металлоконструкции.
www.СтолМет.рф Складные столы, стулья и системы для их хранения
#5
Отправлено 03 Май 2016 - 14:10
В PHP анализирую статус и передаю его эхом в виде хиден инпута с нужным значением. Далее поднимаю в JS значение инпута через GetElementById и все ок.
эт PHP
if ($line['Статус']['ID']!='1'){
echo ' <input type="hidden" id="flagHideAdd" value="1">';
} else {
echo ' <input type="hidden" id="flagHideAdd" value="0">';
}
эт JS
$(document).ready(function(){
if (document.getElementById("flagHideAdd").value == "1") {
var sub_add_w = $(".sub_add_new_line");
if(sub_add_w != null) {
sub_add_w.hide();
$("span[class^=sub_add_new_line_top]").hide();
}
};
});
Сообщение отредактировал Игорь Белов: 03 Май 2016 - 14:11
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных












