Implements base.Logic functions in home_settings, site_settings and work
This patch implements the base.Logic funtions needed for making
logic/key_name.py obsolete. This patch defines the needed functions
in home_settings, site_settings and work. All modules in logic/models
now have these functions defined.
logic/models/site_settings.py now inherits from
logic/models/home_settings.py because of their similar connection in
the corresponding models. Please note that the self._keyName for
these two modules still points to logic/key_name.py since entity_type
is still used in views/home.py.
A partial_path and link_name were added to HomeSettings as requested
by SRabbelier.
from django.conf import settings
# function that will pass a test.
def pass_test(*args): return
def no_backend(test_func, backend):
"Use this decorator to disable test on specified backend."
if settings.DATABASE_ENGINE == backend:
return pass_test
else:
return test_func
# Decorators to disable entire test functions for specific
# spatial backends.
def no_oracle(func): return no_backend(func, 'oracle')
def no_postgis(func): return no_backend(func, 'postgresql_psycopg2')
def no_mysql(func): return no_backend(func, 'mysql')
# Shortcut booleans to omit only portions of tests.
oracle = settings.DATABASE_ENGINE == 'oracle'
postgis = settings.DATABASE_ENGINE == 'postgresql_psycopg2'
mysql = settings.DATABASE_ENGINE == 'mysql'