[hooks/security] provide attribute "add" permission
As of today, the update permission on attributes is checked at entity
*creation* time. This forbids using update permissions the proper way.
We set it to be checked at entity update time only.
We introduce a specific 'add' permission rule for attributes.
For backward compatibility, its default value will be the same as the
current 'update' permission.
Notes:
* needs a new yams version (ticket #149216)
* introduces two new 'add_permissions' rdefs (attribute - group|rqlexpr)
* if the update permission was () and the bw compat kicks in, the rule
is not enforced, to avoid un-creatable entity types -- this
restriction will be lifted when the bw compat is gone
* small internal refactoring on check_entity_attributes
* one small pre 3.6.1 bw compat snippet must be removed from schemaserial
Closes #2965518.
jQuery.fn.autoResize = function() {
// remove enforced with / height (by CSS and/or HTML attributes)
this.css("width", "auto").css("height", "auto");
this.removeAttr("width").removeAttr("height"); // Remove
// compute image size / max allowed size to fit screen
var imgHSize = this.width();
var maxHSize = $(window).width() - ($(document).width() - imgHSize);
var imgVSize = this.height();
// we don't mind if content in [content]footer moved out of the screen
var maxVSize = $(window).height() - ($(document).height() - imgVSize) + $('#footer').height() + $('#contentfooter').height();
if (maxHSize > 0 && maxVSize > 0) {
// if image don't fit screen, set width or height so that
// browser keep img ratio, ensuring the other dimension will
// also fit the screen
if (imgHSize > maxHSize && ((imgVSize / imgHSize) * maxHSize) <= maxVSize) {
this.css("width", maxHSize);
} else if (imgVSize > maxVSize && ((imgHSize / imgVSize) * maxVSize) <= maxHSize) {
this.css("height", maxVSize);
}
else {
// image already fit in screen, don't scale it up
}
} else {
// can't fit image in, don't do anything
}
};
$(document).ready(function() {
$("img.contentimage").load(function() {$(this).autoResize()});
});