Up to now local_settings.py was used for binder specific configuration values.
This commit moves these values to settings.py, removes local_settings.py
from version control and adds logic to settings.py to allow settings in
local_settings.py to overwrite ones defined in settings.py, enabling
local_settings.py to be used as installation specific configuration file,
e.g. for custom database configuration.
When using Djangos "makemessages" command to collect strings for i18n it only
considers templates with a file extenions of .txt and .html by default. For
more details see:
https://docs.djangoproject.com/en/dev/topics/i18n/translation/#message-files
Also when Django is refering to default template names (e.g. for error handling
or accounts) it always refers to file names with .html as file extension.
To avoid hassle in the future this commit aligns the file extension used for
templates to Djangos default of .html.
are fixed in this commit:
* Cancel links were converted to buttons, by simply wrapping them into a
<button>-element, causing them to act as submit buttons, as submit is the
default action for buttons, instead of cancel buttons. Instead the proper
bootstrap code for showing links as buttons is used now.
* add_cname_record_form.htm hasn't been adjusted to show a button instead of a
link for cancelling. I converted that to a button now as well.
To quote from Djangos documentation:
"The secret key must be a large random value and it must be kept secret."
https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/#secret-key
This commit achieves that by generating a file containing a random string
when running the first time and by using this string as SECRET_KEY from then
on.
This commit introduces automatic selection of the default TSIG key for all
available actions (add, delete). For enabling that it has been necessary to
provide the whole BindServer object to the template, which caused some
additional changes.
I also took the opportunity to unify some styling (indentation, linebreaks) of
the HTML templates.
binder has been broken to work with signatures created with anything but
dnspythons default TSIG algorithm, which currently is HMAC-MD5.
This commit fixes that by properly using the algorithm stored for the key.
The error handling for broken TSIG keys wasn't working for two reasons:
* the import of binascii has been missing, producing a NameError once an
exception occured
* The exception handler was refering to a non-existant variable key_name.
This commit fixes both issues.
* Added help texts to all fields to make adding servers and keys in the admin
interface more convenient.
* Added a default ordering for servers and keys.
* Added unique constraints, so there can be only on key per name and one server
per hostname as this has already already been an implicit constraint in the
code.