mirror of
https://github.com/kevinpapst/kimai2.git
synced 2025-03-18 14:52:53 +00:00
189 lines
7.2 KiB
YAML
189 lines
7.2 KiB
YAML
# Put parameters here that don't need to change on each machine where the app is deployed
|
|
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
|
|
parameters:
|
|
locale: en
|
|
app_locales: en|de|it|fr|es|ru|ar|hu|pt_BR|sv|ja
|
|
|
|
services:
|
|
# default configuration for services in *this* file
|
|
_defaults:
|
|
autowire: true # Automatically injects dependencies in your services.
|
|
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
|
public: false # Allows optimizing the container by removing unused services; this also means
|
|
# fetching services directly from the container via $container->get() won't work.
|
|
# The best practice is to be explicit about your dependencies anyway.
|
|
bind:
|
|
$projectDirectory: '%kernel.project_dir%'
|
|
|
|
# makes classes in src/ available to be used as services
|
|
# this creates a service per class whose id is the fully-qualified class name
|
|
App\:
|
|
resource: '../src/*'
|
|
exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php,Constants.php}'
|
|
|
|
# controllers are imported separately to make sure services can be injected
|
|
# as action arguments even if you don't extend any base controller class
|
|
App\Controller\:
|
|
resource: '../src/Controller'
|
|
tags: ['controller.service_arguments']
|
|
|
|
# ================================================================================
|
|
# APPLICATION CORE
|
|
# ================================================================================
|
|
|
|
App\EventSubscriber\RedirectToLocaleSubscriber:
|
|
arguments: ['@router', '%app_locales%', '%locale%']
|
|
|
|
App\Repository\WidgetRepository:
|
|
arguments:
|
|
$widgets: '%kimai.widgets%'
|
|
|
|
App\Controller\DashboardController:
|
|
arguments:
|
|
$dashboard: '%kimai.dashboard%'
|
|
|
|
App\Configuration\LanguageFormattings:
|
|
arguments: ['%kimai.languages%']
|
|
|
|
App\Configuration\TimesheetConfiguration:
|
|
arguments:
|
|
$settings: '%kimai.timesheet%'
|
|
|
|
App\Configuration\CalendarConfiguration:
|
|
arguments:
|
|
$settings: '%kimai.calendar%'
|
|
|
|
App\Configuration\FormConfiguration:
|
|
arguments:
|
|
$settings: '%kimai.defaults%'
|
|
|
|
App\Configuration\SystemConfiguration:
|
|
arguments:
|
|
$settings: '%kimai.config%'
|
|
|
|
App\Configuration\ThemeConfiguration:
|
|
arguments:
|
|
$settings: '%kimai.theme%'
|
|
|
|
App\Configuration\LdapConfiguration:
|
|
arguments: ['%kimai.ldap%']
|
|
|
|
App\Utils\MPdfConverter:
|
|
arguments: ['%kernel.cache_dir%']
|
|
|
|
App\Plugin\PluginManager:
|
|
arguments: [!tagged kimai.plugin]
|
|
|
|
App\Export\ServiceExport:
|
|
arguments: [!tagged export.renderer]
|
|
|
|
App\Widget\WidgetService:
|
|
arguments:
|
|
$renderer: !tagged widget.renderer
|
|
|
|
# ================================================================================
|
|
# DATABASE
|
|
# ================================================================================
|
|
|
|
# updates timesheet records and apply configured rate & rounding rules
|
|
App\Doctrine\TimesheetSubscriber:
|
|
class: App\Doctrine\TimesheetSubscriber
|
|
arguments: [!tagged timesheet.calculator]
|
|
tags:
|
|
- { name: doctrine.event_subscriber, priority: 50 }
|
|
|
|
# make sure, that sqlite supports foreign keys and cascade deletes
|
|
App\Doctrine\SqliteSessionInitSubscriber:
|
|
class: App\Doctrine\SqliteSessionInitSubscriber
|
|
tags:
|
|
- { name: doctrine.event_listener, event: postConnect }
|
|
|
|
# ================================================================================
|
|
# FORMS
|
|
# ================================================================================
|
|
|
|
App\Form\Type\LanguageType:
|
|
arguments: ['%app_locales%']
|
|
|
|
# ================================================================================
|
|
# THEME
|
|
# ================================================================================
|
|
|
|
KevinPapst\AdminLTEBundle\Helper\ContextHelper:
|
|
alias: admin_lte_theme.context_helper
|
|
|
|
# ================================================================================
|
|
# TIMESHEET RECORD CALCULATOR
|
|
# ================================================================================
|
|
|
|
App\Timesheet\Calculator\DurationCalculator:
|
|
arguments: ['%kimai.timesheet.rounding%']
|
|
|
|
App\Timesheet\Calculator\RateCalculator:
|
|
arguments: ['%kimai.timesheet.rates%']
|
|
|
|
# ================================================================================
|
|
# SECURITY & VOTER
|
|
# ================================================================================
|
|
|
|
App\Security\RoleService:
|
|
arguments: ['%security.role_hierarchy.roles%']
|
|
|
|
App\Security\RolePermissionManager:
|
|
arguments: ['%kimai.permissions%']
|
|
|
|
# ================================================================================
|
|
# LDAP
|
|
# ================================================================================
|
|
|
|
kimai_ldap.security.authentication.provider:
|
|
class: App\Ldap\LdapAuthenticationProvider
|
|
arguments: ['@App\Security\UserChecker', '', '', '', '@App\Configuration\LdapConfiguration', '%security.authentication.hide_user_not_found%']
|
|
|
|
# ================================================================================
|
|
# REPOSITORIES
|
|
# ================================================================================
|
|
|
|
App\Repository\TimesheetRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Timesheet']
|
|
|
|
App\Repository\UserRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\User']
|
|
|
|
App\Repository\ActivityRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Activity']
|
|
|
|
App\Repository\ProjectRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Project']
|
|
|
|
App\Repository\TagRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Tag']
|
|
|
|
App\Repository\CustomerRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Customer']
|
|
|
|
App\Repository\InvoiceTemplateRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\InvoiceTemplate']
|
|
|
|
App\Repository\ConfigurationRepository:
|
|
class: Doctrine\ORM\EntityRepository
|
|
factory: ['@doctrine.orm.entity_manager', getRepository]
|
|
arguments: ['App\Entity\Configuration']
|
|
|
|
App\Repository\InvoiceDocumentRepository:
|
|
class: App\Repository\InvoiceDocumentRepository
|
|
arguments: ['%kimai.invoice.documents%']
|