dockerisation

This commit is contained in:
2023-12-22 13:53:10 +01:00
parent dfb8eb6236
commit cda63eddba
3260 changed files with 14063 additions and 154683 deletions

23
config/bootstrap.php Normal file
View File

@ -0,0 +1,23 @@
<?php
use Symfony\Component\Dotenv\Dotenv;
require dirname(__DIR__).'/vendor/autoload.php';
// Load cached env vars if the .env.local.php file exists
// Run "composer dump-env prod" to create it (requires symfony/flex >=1.2)
if (is_array($env = @include dirname(__DIR__).'/.env.local.php') && (!isset($env['APP_ENV']) || ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? $env['APP_ENV']) === $env['APP_ENV'])) {
foreach ($env as $k => $v) {
$_ENV[$k] = $_ENV[$k] ?? (isset($_SERVER[$k]) && 0 !== strpos($k, 'HTTP_') ? $_SERVER[$k] : $v);
}
} elseif (!class_exists(Dotenv::class)) {
throw new RuntimeException('Please run "composer require symfony/dotenv" to load the ".env" files configuring the application.');
} else {
// load all the .env files
(new Dotenv(false))->loadEnv(dirname(__DIR__).'/.env');
}
$_SERVER += $_ENV;
$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = ($_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? null) ?: 'dev';
$_SERVER['APP_DEBUG'] = $_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? 'prod' !== $_SERVER['APP_ENV'];
$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = (int) $_SERVER['APP_DEBUG'] || filter_var($_SERVER['APP_DEBUG'], FILTER_VALIDATE_BOOLEAN) ? '1' : '0';

23
config/bundles.php Normal file
View File

@ -0,0 +1,23 @@
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true, 'test' => true],
Symfony\Bundle\MakerBundle\MakerBundle::class => ['all' => true],
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
FOS\RestBundle\FOSRestBundle::class => ['all' => true],
Nelmio\ApiDocBundle\NelmioApiDocBundle::class => ['all' => true],
FOS\CKEditorBundle\FOSCKEditorBundle::class => ['all' => true],
Tetranz\Select2EntityBundle\TetranzSelect2EntityBundle::class => ['all' => true],
Oneup\UploaderBundle\OneupUploaderBundle::class => ['all' => true],
Knp\Bundle\SnappyBundle\KnpSnappyBundle::class => ['all' => true],
Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle::class => ['all' => true],
];

View File

@ -0,0 +1,3 @@
framework:
assets:
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'

View File

@ -0,0 +1,19 @@
framework:
cache:
# Unique name of your app: used to compute stable namespaces for cache keys.
#prefix_seed: your_vendor_name/app_name
# The "app" cache stores to the filesystem by default.
# The data in this cache should persist between deploys.
# Other options include:
# Redis
#app: cache.adapter.redis
#default_redis_provider: redis://localhost
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
#app: cache.adapter.apcu
# Namespaced pools use the above "app" backend by default
#pools:
#my.dedicated.cache: null

View File

@ -0,0 +1,4 @@
debug:
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
# See the "server:dump" command to start a new server.
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"

View File

@ -0,0 +1,16 @@
services:
EasyCorp\EasyLog\EasyLogHandler:
public: false
arguments: ['%kernel.logs_dir%/%kernel.environment%.log']
#// FIXME: How to add this configuration automatically without messing up with the monolog configuration?
#monolog:
# handlers:
# buffered:
# type: buffer
# handler: easylog
# channels: ['!event']
# level: debug
# easylog:
# type: service
# id: EasyCorp\EasyLog\EasyLogHandler

View File

@ -0,0 +1,19 @@
monolog:
handlers:
main:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["!event"]
# uncomment to get logging in your browser
# you may have to allow bigger header sizes in your Web server configuration
#firephp:
# type: firephp
# level: info
#chromephp:
# type: chromephp
# level: info
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine", "!console"]

View File

@ -0,0 +1,4 @@
# See https://symfony.com/doc/current/email/dev_environment.html
swiftmailer:
# send all emails to a specific address
#delivery_addresses: ['me@example.com']

View File

@ -0,0 +1,6 @@
web_profiler:
toolbar: true
intercept_redirects: false
framework:
profiler: { only_exceptions: false }

View File

@ -0,0 +1,21 @@
doctrine:
dbal:
dbname: '%env(resolve:DATABASE_NAME)%'
user: '%env(resolve:DATABASE_USER)%'
password: '%env(resolve:DATABASE_PASSWORD)%'
host: '%env(resolve:DATABASE_HOST)%'
# IMPORTANT: You MUST configure your server version,
# either here or in the DATABASE_URL env var (see .env file)
#server_version: '5.7'
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App

View File

@ -0,0 +1,3 @@
doctrine_migrations:
migrations_paths:
'DoctrineMigrations': '%kernel.project_dir%/src/Migrations'

View File

@ -0,0 +1,47 @@
# Read the documentation: https://symfony.com/doc/current/bundles/FOSCKEditorBundle/index.html
twig:
form_themes:
- '@FOSCKEditor/Form/ckeditor_widget.html.twig'
fos_ck_editor:
base_path: "build/ckeditor"
js_path: "build/ckeditor/ckeditor.js"
configs:
full_config:
language: fr
toolbar: "my_full_toolbar"
extraPlugins: ["html5video","youtube"]
small_config:
language: fr
toolbar: "my_small_toolbar"
removePlugins: 'elementspath'
plugins:
youtube:
path: "build/ckeditor/plugins/youtube/"
filename: "plugin.js"
html5video:
path: "build/ckeditor/plugins/html5video/"
filename: "plugin.js"
pastebase64:
path: "build/ckeditor/plugins/pastebase64/"
filename: "plugin.js"
toolbars:
configs:
my_full_toolbar: [ "@document1", "-", "@clipboard1", "-", "@basicstyles1", "-", "@paragraph1", "/", "@links1", "-", "@insert1", "-", "@styles1", "-" , "@colors1", "-" , "@tools1" ]
my_small_toolbar: [ "@basicstyles1", "-", "@paragraph3", "-", "@insert3"]
items:
document1: [ 'Source','-','NewPage','DocProps','Preview','Print','-','Templates' ]
clipboard1: [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ]
basicstyles1: [ 'Bold','Italic','Underline','RemoveFormat' ]
paragraph1: [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock' ]
paragraph2: [ 'JustifyLeft','JustifyCenter','JustifyRight','NumberedList','BulletedList' ]
paragraph3: [ 'NumberedList','BulletedList' ]
links1: [ 'Link','Unlink','Anchor' ]
insert1: [ 'Image','Html5video','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ]
insert2: [ 'Image','Table','Smiley','Link','Unlink' ]
insert3: [ 'Smiley','Link','Unlink' ]
styles1: [ 'Styles','Format','Font','FontSize' ]
colors1: [ 'TextColor','BGColor' ]
tools1: [ 'Maximize', 'ShowBlocks','-','About' ]

View File

@ -0,0 +1,15 @@
# Read the documentation: https://symfony.com/doc/master/bundles/FOSRestBundle/index.html
fos_rest: null
# param_fetcher_listener: true
# allowed_methods_listener: true
# routing_loader: true
# view:
# view_response_listener: true
# exception:
# codes:
# App\Exception\MyException: 403
# messages:
# App\Exception\MyException: Forbidden area.
# format_listener:
# rules:
# - { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json, html ] }

View File

@ -0,0 +1,21 @@
framework:
secret: '%env(APP_SECRET)%'
#csrf_protection: true
#http_method_override: true
# Enables session support. Note that the session will ONLY be started if you read or write from it.
# Remove or comment this section to explicitly disable session support.
session:
name: '%env(APP_NAME)%'
handler_id: null
gc_probability: null
cookie_secure: auto
cookie_samesite: lax
esi: true
#fragments: true
php_errors:
log: true
validation: { enable_annotations: true }

View File

@ -0,0 +1,10 @@
knp_snappy:
temporary_folder: "%kernel.cache_dir%/snappy"
pdf:
enabled: true
binary: '/var/www/html/schedule/scripts/wkhtmltopdf/wkhtmltopdf'
options: []
image:
enabled: true
binary: '/var/www/html/schedule/scripts/wkhtmltopdf/wkhtmltoimage'
options: []

View File

@ -0,0 +1,3 @@
framework:
mailer:
dsn: '%env(MAILER_DSN)%'

View File

@ -0,0 +1,9 @@
nelmio_api_doc:
documentation:
info:
title: My App
description: This is an awesome app!
version: 1.0.0
areas: # to filter documented areas
path_patterns:
- ^/api(?!/doc$) # Accepts routes under /api except /api/doc

View File

@ -0,0 +1,11 @@
oneup_uploader:
mappings:
avatar:
frontend: dropzone
logo:
frontend: dropzone
document:
frontend: dropzone
namer: app.upload.samename
storage:
directory: "%kernel.project_dir%/uploads/document"

View File

@ -0,0 +1,6 @@
# Read the documentation: https://github.com/1up-lab/OneupUploaderBundle/blob/master/Resources/doc/index.md
oneup_uploader:
mappings:
# This is a mapping example, remove it and create your own mappings.
gallery:
frontend: dropzone # or any uploader you use in the frontend

View File

@ -0,0 +1,20 @@
doctrine:
orm:
auto_generate_proxy_classes: false
metadata_cache_driver:
type: pool
pool: doctrine.system_cache_pool
query_cache_driver:
type: pool
pool: doctrine.system_cache_pool
result_cache_driver:
type: pool
pool: doctrine.result_cache_pool
framework:
cache:
pools:
doctrine.result_cache_pool:
adapter: cache.app
doctrine.system_cache_pool:
adapter: cache.system

View File

@ -0,0 +1,24 @@
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_http_codes: [404, 405]
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine"]
deprecation:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log"
deprecation_filter:
type: filter
handler: deprecation
max_level: info
channels: ["php"]

View File

@ -0,0 +1,3 @@
framework:
router:
strict_requirements: null

View File

@ -0,0 +1,4 @@
#webpack_encore:
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
# Available in version 1.2
#cache: true

View File

@ -0,0 +1,3 @@
framework:
router:
utf8: true

View File

@ -0,0 +1,49 @@
security:
encoders:
App\Entity\User:
id: app.password.encoder
role_hierarchy:
ROLE_USER_ACCUEIL:
ROLE_USER_GUICHET:
ROLE_GESTION:
ROLE_ADMIN:
ROLE_SUPER_ADMIN:
- ROLE_ADMIN
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
anonymous: true
provider: main
form_login:
login_path: app_login
check_path: app_login
default_target_path: app_home
use_referer: true
csrf_parameter: _csrf_security_token
csrf_token_id: a_private_string
logout:
invalidate_session: true
path: app_logout
target: app_home
providers:
main:
entity:
class: App\Entity\User
property: username
access_control:
- { path: ^/user, roles: [ROLE_ADMIN, ROLE_MODO, ROLE_MASTER, ROLE_USER] }
- { path: ^/master, roles: [ROLE_ADMIN, ROLE_MODO, ROLE_MASTER] }
- { path: ^/modo, roles: [ROLE_ADMIN, ROLE_MODO] }
- { path: ^/admin, roles: [ROLE_ADMIN] }

View File

@ -0,0 +1,3 @@
sensio_framework_extra:
router:
annotations: false

View File

@ -0,0 +1,5 @@
swiftmailer:
url: '%env(MAILER_URL)%'
spool:
type: file
path: '%kernel.project_dir%/var/spoolmail'

View File

@ -0,0 +1,4 @@
framework:
test: true
session:
storage_id: session.storage.mock_file

View File

@ -0,0 +1,12 @@
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_http_codes: [404, 405]
channels: ["!event"]
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug

View File

@ -0,0 +1,2 @@
swiftmailer:
disable_delivery: true

View File

@ -0,0 +1,2 @@
twig:
strict_variables: true

View File

@ -0,0 +1,3 @@
framework:
validation:
not_compromised_password: false

View File

@ -0,0 +1,6 @@
web_profiler:
toolbar: false
intercept_redirects: false
framework:
profiler: { collect: false }

View File

@ -0,0 +1,2 @@
#webpack_encore:
# strict_mode: false

View File

@ -0,0 +1,6 @@
framework:
default_locale: en
translator:
default_path: '%kernel.project_dir%/translations'
fallbacks:
- en

20
config/packages/twig.yaml Normal file
View File

@ -0,0 +1,20 @@
twig:
default_path: '%kernel.project_dir%/templates'
debug: '%kernel.debug%'
strict_variables: '%kernel.debug%'
exception_controller: null
form_themes:
- 'Form/fields.html.twig'
- '@TetranzSelect2Entity/Form/fields.html.twig'
globals:
appAlias: '%appAlias%'
appAuth: '%appAuth%'
appName: '%appName%'
appCron: '%appCron%'
wssuse: '%wssuse%'
wssurl: '%wssurl%'
giteaUrl: '%giteaUrl%'

View File

@ -0,0 +1,8 @@
framework:
validation:
email_validation_mode: html5
# Enables validator auto-mapping support.
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
#auto_mapping:
# App\Entity\: []

View File

@ -0,0 +1,25 @@
webpack_encore:
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
output_path: '%kernel.project_dir%/public/build'
# If multiple builds are defined (as shown below), you can disable the default build:
# output_path: false
# if using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
# crossorigin: 'anonymous'
# preload all rendered script and link tags automatically via the http2 Link header
# preload: true
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
# strict_mode: false
# if you have multiple builds:
# builds:
# pass "frontend" as the 3rg arg to the Twig functions
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
# frontend: '%kernel.project_dir%/public/frontend/build'
# Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
# Put in config/packages/prod/webpack_encore.yaml
# cache: true

325
config/routes.yaml Normal file
View File

@ -0,0 +1,325 @@
#== Home ========================================================================================================
app_home:
path: /
defaults: { _controller: App\Controller\HomeController:home }
app_admin:
path: /admin/home
defaults: { _controller: App\Controller\HomeController:admin }
app_ckeditor_upload:
path: /user/activity/upload
defaults: { _controller: App\Controller\HomeController:upload }
#== Security ====================================================================================================
app_login:
path: /login
defaults: { _controller: App\Controller\SecurityController:login }
app_logout:
path: /logout
defaults: { _controller: App\Controller\SecurityController:logout }
app_login_callback:
path: /logincallback
defaults: { _controller: App\Controller\SecurityController:callback }
app_casdebug:
path: /user/casdebug
defaults: { _controller: App\Controller\SecurityController:casdebug }
#== Config ==============================================================================================================
app_config:
path: /admin/config
defaults: { _controller: App\Controller\ConfigController:list }
app_config_render:
path: /admin/config/render/{category}
defaults: { _controller: App\Controller\ConfigController:listrender }
app_config_submit:
path: /admin/config/submit
defaults: { _controller: App\Controller\ConfigController:submit }
app_config_update:
path: /admin/config/update/{id}
defaults: { _controller: App\Controller\ConfigController:update }
app_config_delete:
path: /admin/config/delete/{id}
defaults: { _controller: App\Controller\ConfigController:delete }
app_config_logo:
path: /admin/config/logo
defaults: { _controller: App\Controller\ConfigController:logo }
#== Theme ================================================================================================================
app_theme:
path: /admin/theme
defaults: { _controller: App\Controller\ThemeController:list }
app_theme_select:
path: /admin/theme/select/{name}
defaults: { _controller: App\Controller\ThemeController:select, name: "" }
#== Sonde ================================================================================================================
app_sonde:
path: /sonde
defaults: { _controller: App\Controller\SondeController:sonde }
#== Wss ==================================================================================================================
app_wss_sample:
path: /user/wss/sampble
defaults: { _controller: App\Controller\WebsocketController:sample }
#== Crop =================================================================================================================
app_crop01:
path: /user/crop01/{type}/{reportinput}
defaults: { _controller: App\Controller\CropController:crop01 }
app_crop02:
path: /user/crop02/{type}/{reportinput}
defaults: { _controller: App\Controller\CropController:crop02 }
app_ckupload:
path: /user/ckupload
defaults: { _controller: App\Controller\CropController:ckupload }
oneup_uploader:
resource: .
type: uploader
#== Cron =================================================================================================================
app_cron:
path: /admin/cron
defaults: { _controller: App\Controller\CronController:list }
app_cron_ajax_list:
path: /admin/cron/ajax/list
defaults: { _controller: App\Controller\CronController:ajaxlist }
app_cron_update:
path: /admin/cron/update/{id}
defaults: { _controller: App\Controller\CronController:update }
app_cron_exec:
path: /admin/cron/exec/{id}
defaults: { _controller: App\Controller\CronController:exec }
app_cron_log:
path: /admin/cron/log
defaults: { _controller: App\Controller\CronController:log }
app_cron_getlog:
path: /admin/cron/getlog/{id}
defaults: { _controller: App\Controller\CronController:getlog }
#== User ========================================================================================================
app_user:
path: /admin/user
defaults: { _controller: App\Controller\UserController:list }
app_user_update:
path: /admin/user/update/{id}
defaults: { _controller: App\Controller\UserController:update }
app_user_delete:
path: /admin/user/delete/{id}
defaults: { _controller: App\Controller\UserController:delete }
app_user_select:
path: /user/user/select
defaults: { _controller: App\Controller\UserController:select }
app_user_info:
path: /user/info
defaults: { _controller: App\Controller\UserController:info }
app_user_profil:
path: /user/profil
defaults: { _controller: App\Controller\UserController:profil }
app_user_preference:
path: /user/preference
defaults: { _controller: App\Controller\UserController:preference }
#== Group ========================================================================================================
app_group:
path: /admin/group
defaults: { _controller: App\Controller\GroupController:list }
app_group_submit:
path: /admin/group/submit
defaults: { _controller: App\Controller\GroupController:submit }
app_group_update:
path: /admin/group/update/{id}
defaults: { _controller: App\Controller\GroupController:update }
app_group_delete:
path: /admin/group/delete/{id}
defaults: { _controller: App\Controller\GroupController:delete }
app_group_select:
path: /user/group/select
defaults: { _controller: App\Controller\GroupController:select }
#== Report =======================================================================================================
app_report_list:
path: /user/report/list/{id}
defaults: { _controller: App\Controller\ReportController:list }
app_report_csv:
path: /user/report/csv/{id}
defaults: { _controller: App\Controller\ReportController:csv }
app_report_test:
path: /user/report/test/{id}
defaults: { _controller: App\Controller\ReportController:test }
#== Scrum ========================================================================================================
app_scrum:
path: /user/scrum
defaults: { _controller: App\Controller\ScrumController:list }
app_scrum_view:
path: /user/scrum/{id}
defaults: { _controller: App\Controller\ScrumController:view }
app_scrum_submit:
path: /master/scrum/submit
defaults: { _controller: App\Controller\ScrumController:submit }
app_scrum_stat:
path: /user/scrum/stat/{id}
defaults: { _controller: App\Controller\ScrumController:stat }
app_scrum_info:
path: /user/scrum/info/{id}
defaults: { _controller: App\Controller\ScrumController:info }
app_scrum_update:
path: /master/scrum/update/{id}
defaults: { _controller: App\Controller\ScrumController:update }
app_scrum_delete:
path: /master/scrum/delete/{id}
defaults: { _controller: App\Controller\ScrumController:delete }
#== Scrumcolumn ========================================================================================================
app_scrumcolumn_submit:
path: /master/scrumcolumn/submit/{scrumid}
defaults: { _controller: App\Controller\ScrumcolumnController:submit }
app_scrumcolumn_update:
path: /master/scrumcolumn/update/{id}
defaults: { _controller: App\Controller\ScrumcolumnController:update }
app_scrumcolumn_delete:
path: /master/scrumcolumn/delete/{id}
defaults: { _controller: App\Controller\ScrumcolumnController:delete }
app_scrumcolumn_select:
path: /master/scrumcolumn/select/{scrumid}
defaults: { _controller: App\Controller\ScrumcolumnController:select }
app_scrumcolumn_order:
path: /master/scrumcolumn/order/{scrumid}
defaults: { _controller: App\Controller\ScrumcolumnController:order }
#== Scrumteam ========================================================================================================
app_scrumteam_submit:
path: /master/scrumteam/submit/{scrumid}
defaults: { _controller: App\Controller\ScrumteamController:submit }
app_scrumteam_update:
path: /master/scrumteam/update/{id}
defaults: { _controller: App\Controller\ScrumteamController:update }
app_scrumteam_delete:
path: /master/scrumteam/delete/{id}
defaults: { _controller: App\Controller\ScrumteamController:delete }
app_scrumteam_select:
path: /master/scrumteam/select/{scrumid}
defaults: { _controller: App\Controller\ScrumteamController:select }
app_scrumteam_order:
path: /master/scrumteam/order/{scrumid}
defaults: { _controller: App\Controller\ScrumteamController:order }
#== Scrumpriority ========================================================================================================
app_scrumpriority_submit:
path: /master/scrumpriority/submit/{scrumid}
defaults: { _controller: App\Controller\ScrumpriorityController:submit }
app_scrumpriority_update:
path: /master/scrumpriority/update/{id}
defaults: { _controller: App\Controller\ScrumpriorityController:update }
app_scrumpriority_delete:
path: /master/scrumpriority/delete/{id}
defaults: { _controller: App\Controller\ScrumpriorityController:delete }
app_scrumpriority_select:
path: /master/scrumpriority/select/{scrumid}
defaults: { _controller: App\Controller\ScrumpriorityController:select }
app_scrumpriority_order:
path: /master/scrumpriority/order/{scrumid}
defaults: { _controller: App\Controller\ScrumpriorityController:order }
#== Scrumtype ========================================================================================================
app_scrumtype_submit:
path: /master/scrumtype/submit/{scrumid}
defaults: { _controller: App\Controller\ScrumtypeController:submit }
app_scrumtype_update:
path: /master/scrumtype/update/{id}
defaults: { _controller: App\Controller\ScrumtypeController:update }
app_scrumtype_delete:
path: /master/scrumtype/delete/{id}
defaults: { _controller: App\Controller\ScrumtypeController:delete }
app_scrumtype_select:
path: /master/scrumtype/select/{scrumid}
defaults: { _controller: App\Controller\ScrumtypeController:select }
app_scrumtype_order:
path: /master/scrumtype/order/{scrumid}
defaults: { _controller: App\Controller\ScrumtypeController:order }
#== Scrumissue ========================================================================================================
app_scrumissue_change:
path: /user/scrumissue/change
defaults: { _controller: App\Controller\ScrumissueController:change }
app_scrumissue_order:
path: /user/scrumissue/order
defaults: { _controller: App\Controller\ScrumissueController:order }
app_scrumissue_info:
path: /user/scrumissue/info
defaults: { _controller: App\Controller\ScrumissueController:info }
app_scrumissue_update:
path: /user/scrumissue/update
defaults: { _controller: App\Controller\ScrumissueController:update }
app_scrumissue_ctrlchange:
path: /user/scrumissue/ctrlchange
defaults: { _controller: App\Controller\ScrumissueController:ctrlchange }
#== Issue ========================================================================================================
app_issue:
path: /user/issue
defaults: { _controller: App\Controller\IssueController:list, id: 0 }
app_issuescrum:
path: /user/issuescrum/{id}
defaults: { _controller: App\Controller\IssueController:list }

View File

@ -0,0 +1,7 @@
controllers:
resource: ../../src/Controller/
type: annotation
kernel:
resource: ../../src/Kernel.php
type: annotation

View File

@ -0,0 +1,3 @@
_errors:
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
prefix: /_error

View File

@ -0,0 +1,7 @@
web_profiler_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt
web_profiler_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler

View File

@ -0,0 +1,12 @@
# Expose your documentation as JSON swagger compliant
app.swagger:
path: /api/doc.json
methods: GET
defaults: { _controller: nelmio_api_doc.controller.swagger }
## Requires the Asset component and the Twig bundle
## $ composer require twig asset
#app.swagger_ui:
# path: /api/doc
# methods: GET
# defaults: { _controller: nelmio_api_doc.controller.swagger_ui }

View File

@ -0,0 +1,3 @@
oneup_uploader:
resource: .
type: uploader

106
config/services.yaml Normal file
View File

@ -0,0 +1,106 @@
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
# 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:
appEnv: '%env(resolve:APP_ENV)%'
appSecret: '%env(resolve:APP_SECRET)%'
appWeburl: '%env(resolve:APP_WEBURL)%'
appAuth: '%env(resolve:APP_AUTH)%'
appAlias: '%env(resolve:APP_ALIAS)%'
appName: '%env(resolve:APP_NAME)%'
appCron: '%env(resolve:APP_CRON)%'
appAdmins: '%env(json:APP_ADMINS)%'
databaseName: '%env(resolve:DATABASE_NAME)%'
databaseUser: '%env(resolve:DATABASE_USER)%'
databasePassword: '%env(resolve:DATABASE_PASSWORD)%'
databaseHost: '%env(resolve:DATABASE_HOST)%'
appMailmethod: '%env(resolve:MAILER_METHOD)%'
appMailurl: '%env(resolve:MAILER_URL)%'
appMailnoreply: '%env(resolve:MAILER_NOREPLY)%'
giteaUrl: '%env(resolve:GITEA_URL)%'
oauthClientid: '%env(resolve:OAUTH_CLIENTID)%'
oauthClientsecret: '%env(resolve:OAUTH_CLIENTSECRET)%'
oauthLoginurl: '%env(resolve:OAUTH_LOGINURL)%'
oauthLogouturl: '%env(resolve:OAUTH_LOGOUTURL)%'
oauthTokenurl: '%env(resolve:OAUTH_TOKENURL)%'
wssuse: '%env(resolve:WSS_USE)%'
wssport: '%env(resolve:WSS_PORT)%'
wssurl: 'wss://%env(resolve:APP_WEBURL)%/wss%env(resolve:APP_ALIAS)%'
proxyUse: '%env(resolve:PROXY_USE)%'
proxyHost: '%env(resolve:PROXY_HOST)%'
proxyPort: '%env(resolve:PROXY_PORT)%'
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.
bind:
$giteaUrl: '%giteaUrl%'
# 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,Twig,Entity,Migrations,Tests,Kernel.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']
# add more service definitions when explicit configuration is needed
# please note that last definitions always *replace* previous ones
app.session.init:
public: true
class: App\Service\sessionInit
arguments: ["@service_container","@doctrine.orm.entity_manager","@session",]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
app.password.encoder:
public: true
class: App\Service\passwordEncoder
app.upload.listener:
public: true
class: App\Service\uploadListener
arguments: ["@doctrine.orm.entity_manager","@security.token_storage","@session","@service_container"]
tags:
- { name: kernel.event_listener, event: oneup_uploader.post_persist, method: onUpload }
app.upload.samename:
public: true
class: App\Service\uploadSamename
app.sendmail.transport:
class: Swift_SendmailTransport
public: true
arguments: ['/usr/sbin/sendmail -t']
app.mail.service:
public: true
class: App\Service\mailService
arguments: ["@mailer", "@twig"]
app.twig.extension:
class: App\Twig\AppExtension
calls:
- [setContainer, ["@service_container"]]
tags:
- { name: twig.extension }
app.gieta.service:
public: true
class: App\Service\giteaService
arguments: ["@session","%giteaUrl%"]