[repoapi] fold ClientConnection into Connection
Connection replaces ClientConnection everywhere.
Some notes:
* testlib: .client_cnx and .repo_cnx become aliases of .cnx (we might
not want to tell people to update their tests again for just no real
benefit, so we'll live with these aliases for a while)
* entity.as_rset must not be cached because we risk caching result
sets having a Connection object as .req (helps unittest_breadcrumbs)
* entity._cw_dont_cache_attributes loses its repo/request special
paths and only keeps its storage/bfss user (this helps
unittest_wfobjs)
* moreover, entity.cw_instantiate and .cw_set stop overriding the
attributes cache *after* the before_*_entity hooks have run, because
there is no need to (it is now actually harmful to do it and
unittest_hooks.test_html_tidy* tests remain green because of this)
* rset._build_entity sticks its .req onto the entity just fetched from
the cache, because otherwise it might carry a _cw that is a
Connection object where a Request is expected (helps
unittest_views_actions)
* we get overall better cache usages (entity caches were split over
Request + ClientConnection and Connection), hence the changes
unittest_entity and unittest_wfobjs
* void the ecache when providing the cnx to a request object
Having the entity cache pre-filled when we bind it to the request
object hurts because these entities are bound to Connection objects,
that lack e.g. `.form` or `.add_js` and crash the views subsystem.
Thus, the unittest_testlib.test_error_raised test will are kept
green.
Closes #3837233
/* styles for preferences form (views/management.py)
*
* :organization: Logilab
* :copyright: 2003-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
* :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
*/
div.propertiesform {
margin-bottom: 1.2857em;
line-height: 1.2857em;
font-size: %(h3FontSize)s;
}
div.propertiesform a {
display: block;
margin: 10px 0px 6px 0px;
padding-left: 16px;
font-weight: bold;
color: #000;
background: transparent url("puce_down.png") 3px center no-repeat;
text-decoration:none;
}
div.propertiesform a:hover {
background-color: %(listingHeaderBgColor)s;
}
.preferences .validateButton {
margin-top: 0px;
}
fieldset.preferences {
margin: 7px 1em 0;
padding: 2px 6px 6px;
border : 1px solid %(pageContentBorderColor)s;
}
div.component {
margin: 0 0 1em 16px;
}
a.componentTitle {
font-weight: bold;
color: #000
}
a.componentTitle:visited {
color: #000;
}
div.preffield {
margin-bottom: 5px;
padding: 2px 5px;
background: %(listingHeaderBgColor)s;
}
div.prefinput {
margin: .3em;
}
div.prefinput select.changed,
div.prefinput input.changed {
border: 1px solid #000;
font-weight: bold;
}
.prefinput input.error {
border:1px solid red !important;
color:red;
padding-right:1em;
}
div.formsg {
font-weight: bold;
margin: 0.5em 0px;
}
div.critical {
color: red;
padding-left: 20px;
background: #fff url(critical.png) no-repeat;
}
div.formsg .msg {
color: green;
}
.helper {
font-size: 96%;
color: %(helperColor)s;
padding: 0;
}
div.prefinput .helper:hover {
color: #000;
cursor: default;
}
div.openlink {
display: inline;
}