mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Hide delete button in multivalued widget if attr is not writable
https://fedorahosted.org/freeipa/ticket/3799
This commit is contained in:
parent
ff6f958d96
commit
006c4eabd9
@ -219,6 +219,10 @@ IPA.input_widget = function(spec) {
|
|||||||
that.value_changed.notify([value], that);
|
that.value_changed.notify([value], that);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
that.is_writable = function() {
|
||||||
|
return !that.read_only && !!that.writable;
|
||||||
|
};
|
||||||
|
|
||||||
that.focus_input = function() {};
|
that.focus_input = function() {};
|
||||||
that.set_deleted = function() {};
|
that.set_deleted = function() {};
|
||||||
|
|
||||||
@ -293,11 +297,10 @@ IPA.text_widget = function(spec) {
|
|||||||
that.update = function(values) {
|
that.update = function(values) {
|
||||||
var value = values && values.length ? values[0] : '';
|
var value = values && values.length ? values[0] : '';
|
||||||
|
|
||||||
if (that.read_only || !that.writable) {
|
if (!that.is_writable()) {
|
||||||
that.display_control.text(value);
|
that.display_control.text(value);
|
||||||
that.display_control.css('display', 'inline');
|
that.display_control.css('display', 'inline');
|
||||||
that.input.css('display', 'none');
|
that.input.css('display', 'none');
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
that.input.val(value);
|
that.input.val(value);
|
||||||
that.display_control.css('display', 'none');
|
that.display_control.css('display', 'none');
|
||||||
@ -308,9 +311,8 @@ IPA.text_widget = function(spec) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
that.save = function() {
|
that.save = function() {
|
||||||
if (that.read_only || !that.writable) {
|
if (!that.is_writable()) {
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
var value = that.input.val();
|
var value = that.input.val();
|
||||||
return value === '' ? [] : [value];
|
return value === '' ? [] : [value];
|
||||||
@ -395,7 +397,9 @@ IPA.multivalued_widget = function(spec) {
|
|||||||
for(var i=0; i<that.rows.length; i++) {
|
for(var i=0; i<that.rows.length; i++) {
|
||||||
var row = that.rows[i];
|
var row = that.rows[i];
|
||||||
row.widget.hide_undo();
|
row.widget.hide_undo();
|
||||||
row.remove_link.show();
|
if (that.is_writable()) {
|
||||||
|
row.remove_link.show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -507,11 +511,14 @@ IPA.multivalued_widget = function(spec) {
|
|||||||
}
|
}
|
||||||
}).appendTo(row.container);
|
}).appendTo(row.container);
|
||||||
|
|
||||||
if(row.is_new) {
|
if (row.is_new) {
|
||||||
row.remove_link.hide();
|
row.remove_link.hide();
|
||||||
row.widget.show_undo();
|
row.widget.show_undo();
|
||||||
that.value_changed.notify([], that);
|
that.value_changed.notify([], that);
|
||||||
}
|
}
|
||||||
|
if (!that.is_writable()) {
|
||||||
|
row.remove_link.hide();
|
||||||
|
}
|
||||||
|
|
||||||
row.container.insertBefore(that.add_link);
|
row.container.insertBefore(that.add_link);
|
||||||
};
|
};
|
||||||
@ -618,7 +625,7 @@ IPA.multivalued_widget = function(spec) {
|
|||||||
|
|
||||||
that.initialized = true;
|
that.initialized = true;
|
||||||
|
|
||||||
if (that.read_only || !that.writable) {
|
if (!that.is_writable()) {
|
||||||
that.add_link.css('display', 'none');
|
that.add_link.css('display', 'none');
|
||||||
} else {
|
} else {
|
||||||
that.add_link.css('display', 'inline');
|
that.add_link.css('display', 'inline');
|
||||||
@ -1283,7 +1290,7 @@ IPA.textarea_widget = function (spec) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
that.save = function() {
|
that.save = function() {
|
||||||
if (that.read_only || !that.writable) {
|
if (!that.is_writable()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var value = that.input.val();
|
var value = that.input.val();
|
||||||
@ -1291,7 +1298,7 @@ IPA.textarea_widget = function (spec) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
that.update = function(values) {
|
that.update = function(values) {
|
||||||
var read_only = that.read_only || !that.writable;
|
var read_only = !that.is_writable();
|
||||||
that.input.prop('readOnly', read_only);
|
that.input.prop('readOnly', read_only);
|
||||||
|
|
||||||
var value = values && values.length ? values[0] : '';
|
var value = values && values.length ? values[0] : '';
|
||||||
|
Loading…
Reference in New Issue
Block a user