gardening
Increase locale column length from 7 to 10 characters (fixes #920)

zh_Hant_TW and other locales don't fit in 7 characters. 10 should be
enough.

Note that the migration doesn't work on SQLite due to limitations in
Alembic. In this case, simply stamp alembic to the newest revision (the
column character length definitions don't have any effect anyway):

    bin/alembic -c etc/adhocracy.ini stamp 1e296c7f5e8c
avoid multiple submits (e.g. double-click)
Merge pull request #925 from liqd/feature-avoid-double-submit

avoid multiple submits (e.g. double-click)
Merge pull request #924 from nidico/feature-920-increase-locale-column-length

Increase locale column length from 7 to 10 characters (fixes #920)
Add CHANGES for 2.4.6
Add "git push" (master) to release docs
Merge tag '2.4.6' into feature-geo
Realign add-geo migration
Set baselayer to greyscale again
fix iframe setup

the ready event does not work consistently on iframes. So any iframe
related setup code must go into the load event handler.

The problem exists e.g. in firefox but not in chrome.

This fixes only the rewriting of link targets. Other features might also
be affected (e.g. relative time). The load event is only triggered after
everything (including images, ...) has loaded which might be too late
for presentation-centric features like relative time.
fix category events

for some reason the call to union() caused the result to contain to many
(all?) events. To fix this I converted parts of the SQL query to python.
Fixup: do category union in database again

The issue solved in the previous commit wasn't caused by the SQL union
itself, but by filtering after performing the union step.

In this commit, we filter each subquery separately and *then* perform
union, which also solves the problem while keeping everything in one SQL
request.
Merge pull request #926 from xi/feature-fix-iframe-setup

fix iframe setup
Merge pull request #927 from xi/feature-fix-category-events

fix category events
Fix category page if long description is empty
Raise meaningful exception if amendment doesn't have a selection.

Such broken data exists due to a previous bug. This makes it easier to
detect that.
pep8
Merge pull request #928 from nidico/feature-fix-empty-category-pages

Fix category page if long description is empty
Merge pull request #929 from nidico/feature-raise-broken-proposals

Raise meaningful exception if amendment doesn't have a selection.