# Enable actionlog application
ACTIONLOG_ENABLED = True

# Notifications
# Enable notifications (requires working email settings)
# TODO: Make notifications not crash the app if email sending doesn't work.
# To enable notices you also need to enable the context processor and
# application below.
ENABLE_NOTICES = False
REQUIRE_EMAIL_CONFIRMATION = False

# If True it requires a `./manage.py emit_notices` from the command line to
# send the notifications/emails.
NOTIFICATION_QUEUE_ALL = True

# Tagging
FORCE_LOWERCASE_TAGS = True

# Registration - OpenID (Currently not used)
# Requires respective middleware and application
ENABLE_OPENID=False

# Useful to work with another authentication backends
# When True the registration system (django-userena) is disabled
ENABLE_SIMPLEAUTH=False

# Enable/Disable django-contact app URL.
ENABLE_CONTACT_FORM = True

# django-userena
AUTH_PROFILE_MODULE = 'txcommon.profile'
USERENA_DEFAULT_PRIVACY = 'open'                # open, registered or closed
LOGIN_REDIRECT_URL = '/'
LOGIN_URL = '/accounts/signin/'
LOGOUT_URL = '/accounts/signout/'
USERENA_MUGSHOT_SIZE = 96
USERENA_DISABLE_PROFILE_LIST = True     # Don't show all accounts

# django-guardian
ANONYMOUS_USER_ID = -1

# Default timeout duration in days
# How many days should the user stay logged in if he selects "Stay signed in"?
LOGIN_DAYS = 21

# URL used to access the Django Admin Panel
# Ex. http://domain.com/admin/
DJANGO_ADMIN_PANEL_URL = 'admin'

# The directory where the vcs app will checkout stuff and play around.
# Warning: On production systems this should be a place outside of the source
# and with enough disk space. Eg. /var/lib/transifex.
# WARNING: Kept only for migration purposes. It will be removed in 1.1.
SCRATCH_DIR = os.path.join('/var/lib/transifex', 'scratchdir')

AJAX_LOOKUP_CHANNELS = {
    # the simplest case, pass a DICT with the model and field to search against :
    'users' : ('txcommon.lookups', 'UsersLookup'),
    'projects' : ('projects.lookups', 'ProjectsLookup'),
    'resources' : ('resources.lookups', 'ResourcesLookup'),
}

# Cron settings for release notifications
RELEASE_NOTIFICATION_CRON = {
    'notify_string_freeze': 'cron_hourly',
    'notify_translation_deadline': 'cron_hourly',
}

# Options for piston throttling
API_MAX_REQUESTS = 300
API_THROTTLE_INTERVAL = 60*60 # 1 hour

# MAX_STRING_DISTANCE defines the max diff percentage between two strings in
# order to consider them matching. The diff percentage is calculated based on
# the Levenshtein distance.
MAX_STRING_DISTANCE=10
# MAX_STRING_ITERATIONS sets a hard limit on how large stringsets the fuzzy
# matching will handle. Since this is a demanding operations, setting no limit
# or a very high limit may lead to long file importing times. The value is
# calculated by multiplying the number of entities added by the number of the
# deleted entities.
MAX_STRING_ITERATIONS=10000
