################################################################################
#
# Application Configuration
#
################################################################################

# Database settings
# ~~~~~
db.default.driver = org.postgresql.Driver
db.default.ddl = update
db.default.url = jdbc:postgresql://localhost:5432/axelor-open-suite
db.default.user = axelor
db.default.password = *****

# Application Information
# ~~~~~
application.name = Axelor ERP
application.description = Axelor Entreprise Application
application.version = v6.4.5
application.author = Axelor

# link to be used with header logo
application.home = http://www.axelor.com

# application header logo, should be 40px in height
# ~~~~~
application.logo = img/axelor.png

# Set default language
application.locale = fr

# Set default CSS theme, for example `blue`
application.theme = modern

# Application Mode
# ~~~~~
# Set to 'dev' for development mode else 'prod'
application.mode = dev

# Date Format
# ~~~~~
date.format = dd/MM/yyyy

# Timezone
# ~~~~~
date.timezone = UTC

# Menu
# ~~~~~
# Set menu style (left, top, both)
application.menu = both

# View options
# ~~~~~
application.view.toolbar-title = hide

# Link to the online help
# ~~~~~
application.help = https://docs.axelor.com/abs/latest/functional/index.html

# Application time out in minutes
# ~~~~~
session.timeout = 480

# Data export (csv) encoding
# ~~~~
# Use Windows-1252, ISO-8859-1 or ISO-8859-15 if targeting ms excel
# (excel does not recognize utf8 encoded csv)
data.export.encoding = ISO-8859-15

# Encrypted fields
# ~~~~
# Old encryption password for migration
#encryption.password.old = *****
# Encryption password
# ENSURE THAT YOU DON'T LOSE IT.
# If you lose this password, you will be unable to access variables stored in database.
encryption.password = MySuperSecretKey
# Algorithm mode (CBC or GCM)
encryption.algorithm = CBC

# User password pattern
# ~~~~
# at least 8 characters with at least three of these four types: lowercase, uppercase, digit, special
user.password.pattern = (((?=.*[a-z])(?=.*[A-Z])(?=.*\\d))|((?=.*[a-z])(?=.*[A-Z])(?=.*\\W))|((?=.*[a-z])(?=.*\\d)(?=.*\\W))|((?=.*[A-Z])(?=.*\\d)(?=.*\\W))).{8,}

# Storage path for export action
# ~~~~~
data.export.dir = {java.io.tmpdir}/axelor

# Storage path for upload files (attachments)
# ~~~~~
# use {user.home} key to save files under user home directory, or
# use absolute path where server user have write permission.
file.upload.dir = {java.io.tmpdir}/axelor

# Maximum upload size (in MB)
# ~~~~~
file.upload.size = 5

# Indicate if the birt engine to use is the embedded engine or external engine
# Default : true
# ~~~~~
axelor.report.use.embedded.engine =

# Link to report enginePath (external engine)
# Example : http://localhost:8080/birt
# Default : {webapps server}/birt
# ~~~~~
axelor.report.engine =

# Reports resource path (external engine)
# Default : report
# ~~~~~
axelor.report.resource.path =

# external directory for birt rptdesign (internal engine)
# if the directory does not exist or the report is not found
# then reports in axelor modules will be used.
reports.design.dir = {user.home}/data/reports

# Reports custom fonts path
reports.fonts.config = fonts/ReportFonts.xml

# Enable/disable demo data
# ~~~~~
data.import.demo-data = false

# Custom context values
# ~~~~~
context.app = com.axelor.apps.base.service.app.AppService
context.appLogo = com.axelor.apps.base.service.user.UserService:getUserActiveCompanyLogoLink

# Hibernate full-text search
# ~~~~~
hibernate.search.default.directory_provider = none
hibernate.search.default.indexBase = {java.io.tmpdir}/axelor

# HikariCP connection pool
# ~~~~~
hibernate.hikari.minimumIdle = 5
hibernate.hikari.maximumPoolSize = 20
hibernate.hikari.idleTimeout = 300000

# CORS configuration to allow cross origin requests
# ~~~~~
# regular expression to test allowed origin or * to allow all (not recommended)
#cors.allow.origin = *
#cors.allow.credentials = true
#cors.allow.methods = GET,PUT,POST,DELETE,HEAD,OPTIONS
#cors.allow.headers = Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers

# Logging
# ~~~~~
# Custom logback configuration can be provided with `logging.config` property pointing
# to a custom `logback.xml`. In this case, all the logging configuration provided here
# will be ignored.
#
# Following settings can be used to configure logging system automatically.
#
#logging.path = {user.home}/.axelor/logs
#logging.pattern.file = %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%t] %-40.40logger{39} : %m%n
#logging.pattern.console = %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n

logging.level.root = ERROR
logging.level.com.axelor = DEBUG

# Log everything. Good for troubleshooting
#logging.level.org.hibernate = INFO

# Log all SQL DML statements as they are executed
#logging.level.org.hibernate.SQL = DEBUG
#logging.level.org.hibernate.engine.jdbc = DEBUG

# Log all SQL DDL statements as they are executed
#logging.level.org.hibernate.tool.hbm2ddl = INFO

# Log all JDBC parameters
#logging.level.org.hibernate.type = ALL

# Log transactions
#logging.level.org.hibernate.transaction = DEBUG

# Log L2-Cache
#logging.level.org.hibernate.cache = DEBUG

# Log JDBC resource acquisition
#logging.level.org.hibernate.jdbc = TRACE
#logging.level.org.hibernate.service.jdbc = TRACE

# Log connection pooling
#logging.level.com.zaxxer.hikari = INFO

# Quartz scheduler
# ~~~~~
#quartz.enable = true
#quartz.threadCount = 5

# Allows to open maximum 10 Tabs
view.tabs.max = 10

#Activate global tracking log feature (track data modification/access in compliance with GDPR)
hibernate.session_factory.interceptor = com.axelor.apps.base.tracking.GlobalAuditInterceptor

# Get today date according to the active user's active company's timezone
context.date = com.axelor.apps.base.service.DateService:date

# Class to provide custom CSS style for user interface
context.appStyle = com.axelor.apps.base.service.app.AppBaseService:getCustomStyle

# Enable globally grid view customization
# Defaults to true: this feature is enabled by default, uncomment to disable
#view.customization = false

# Applications to be installed by default
# ~~~~~~
# Examples
# Every module : all
# List of module : base,sale,account
#aos.apps.install-apps = base,sale,account

# Enable globally AOS API calls
# Defaults to false: no AOS API calls wil be successful
aos.api.enable = false
