mirror of
https://github.com/Karaka-Management/oms-FleetManagement.git
synced 2026-01-10 20:38:40 +00:00
org -> unit change, some new functionality
This commit is contained in:
parent
b2f0df175a
commit
48394ac603
35
.github/dev_bug_report.md
vendored
Executable file
35
.github/dev_bug_report.md
vendored
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
---
|
||||
name: Dev Bug Report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: stat_backlog, type_bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Bug Description
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
# How to Reproduce
|
||||
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
## Minimal Code Example
|
||||
|
||||
```
|
||||
// your code ...
|
||||
```
|
||||
|
||||
# Expected Behavior
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
# Screenshots
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
# Additional Information
|
||||
Add any other context about the problem here.
|
||||
18
.github/dev_feature_request.md
vendored
Executable file
18
.github/dev_feature_request.md
vendored
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
name: Dev Feature Request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: stat_backlog, type_feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# What is the feature you request
|
||||
* A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
* A clear and concise description of what you want to happen.
|
||||
|
||||
# Alternatives
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
# Additional Information
|
||||
Add any other context or screenshots about the feature request here.
|
||||
34
.github/user_bug_report.md
vendored
Executable file
34
.github/user_bug_report.md
vendored
Executable file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
name: User Bug Report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: stat_backlog, type_bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# Bug Description
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
# How to Reproduce
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
# Expected Behavior
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
# Screenshots
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
# System Information
|
||||
- System: [e.g. PC or iPhone11, ...]
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- KarakaVersion [e.g. 22]
|
||||
|
||||
# Additional Information
|
||||
Add any other context about the problem here.
|
||||
18
.github/user_feature_request.md
vendored
Executable file
18
.github/user_feature_request.md
vendored
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
name: User Feature Request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: stat_backlog, type_feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
# What is the feature you request
|
||||
* A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
* A clear and concise description of what you want to happen.
|
||||
|
||||
# Alternatives
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
# Additional Information
|
||||
Add any other context or screenshots about the feature request here.
|
||||
13
.github/workflows/greetings.yml
vendored
Executable file
13
.github/workflows/greetings.yml
vendored
Executable file
|
|
@ -0,0 +1,13 @@
|
|||
name: Greetings
|
||||
|
||||
on: [pull_request, issues]
|
||||
|
||||
jobs:
|
||||
greeting:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: 'Thank you for createing this issue. We will check it as soon as possible.'
|
||||
pr-message: 'Thank you for your pull request. We will check it as soon as possible.'
|
||||
24
.github/workflows/image.yml
vendored
Executable file
24
.github/workflows/image.yml
vendored
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
name: Compress images
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**.jpg'
|
||||
- '**.png'
|
||||
- '**.webp'
|
||||
pull_request:
|
||||
paths:
|
||||
- '**.jpg'
|
||||
- '**.png'
|
||||
- '**.webp'
|
||||
jobs:
|
||||
build:
|
||||
name: calibreapp/image-actions
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@main
|
||||
|
||||
- name: Compress Images
|
||||
uses: calibreapp/image-actions@main
|
||||
with:
|
||||
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
281
.github/workflows/main.yml
vendored
Executable file
281
.github/workflows/main.yml
vendored
Executable file
|
|
@ -0,0 +1,281 @@
|
|||
name: CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
autoformat:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: Get Composer Cache Directory
|
||||
id: composer-cache
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-
|
||||
- name: Setup Composer
|
||||
run: composer install
|
||||
- name: Autoformat
|
||||
run: 'vendor/bin/php-cs-fixer fix ./ --rules=''{"array_syntax": {"syntax": "short"}, "blank_line_after_namespace": true, "global_namespace_import": {"import_classes": false, "import_constants": false, "import_functions": false}, "binary_operator_spaces": {"operators": {"=": "align", ".=": "align", "+=": "align", "-=": "align", "*=": "align", "/=": "align", "|=": "align", "&=": "align", "=>": "align", "??=": "align"}}, "cast_spaces": {"space": "single"}, "class_attributes_separation": { "elements": {"const": "one", "method": "one", "property": "one"} }, "combine_consecutive_issets": true, "compact_nullable_typehint": true, "declare_strict_types": true, "declare_equal_normalize": {"space": "none"}, "elseif": true, "encoding": true, "explicit_indirect_variable": true, "explicit_string_variable": true, "function_to_constant": true, "implode_call": true, "increment_style": {"style": "pre"}, "is_null": true, "yoda_style": {"equal": false, "identical": false, "less_and_greater": false}, "line_ending": true, "logical_operators": true, "lowercase_cast": true, "constant_case": {"case": "lower"}, "lowercase_keywords": true, "modernize_types_casting": true, "native_constant_invocation": true, "native_function_casing": true, "native_function_invocation": {"include": ["@all"]}, "new_with_braces": true, "no_extra_blank_lines": {"tokens": ["break", "case", "continue", "curly_brace_block", "extra", "return", "switch", "throw", "use"]}, "no_spaces_after_function_name": true, "no_alias_functions": true, "no_closing_tag": true, "no_empty_comment": true, "no_empty_phpdoc": true, "no_empty_statement": true, "no_homoglyph_names": true, "no_mixed_echo_print": {"use": "echo"}, "no_php4_constructor": true, "no_singleline_whitespace_before_semicolons": true, "no_spaces_inside_parenthesis": true, "no_trailing_whitespace": true, "no_unneeded_final_method": true, "no_unused_imports": true, "no_useless_return": true, "no_whitespace_before_comma_in_array": true, "no_whitespace_in_blank_line": true, "non_printable_character": true, "normalize_index_brace": true, "ordered_imports": {"sort_algorithm": "alpha"}, "ordered_interfaces": {"order": "alpha"}, "php_unit_construct": true, "php_unit_internal_class": true, "php_unit_set_up_tear_down_visibility": true, "phpdoc_indent": true, "phpdoc_align": {"align": "vertical"}, "phpdoc_annotation_without_dot": true, "phpdoc_scalar": true, "phpdoc_return_self_reference": {"replacements": {"this": "self"}}, "phpdoc_trim": true, "phpdoc_trim_consecutive_blank_line_separation": true, "random_api_migration": true, "self_accessor": true, "return_type_declaration": {"space_before": "one"}, "semicolon_after_instruction": true, "set_type_to_cast": true, "short_scalar_cast": true, "single_blank_line_at_eof": true, "single_line_after_imports": true, "standardize_increment": true, "trailing_comma_in_multiline": true, "trim_array_spaces": true, "visibility_required": true, "void_return": true}'' --allow-risky=yes'
|
||||
- name: Check for modified files
|
||||
id: git-check
|
||||
run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
|
||||
- name: Push changes
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
run: |
|
||||
git config --global user.name 'Formatter Bot'
|
||||
git config --global user.email 'formatter.bot@karaka.app'
|
||||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
|
||||
git commit -am "Automated formatting changes"
|
||||
git push
|
||||
code-tests:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:5.7
|
||||
env:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_DATABASE: oms
|
||||
ports:
|
||||
- 3306:3306
|
||||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
postgres:
|
||||
image: postgres:10.8
|
||||
env:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: root
|
||||
POSTGRES_DB: oms
|
||||
ports:
|
||||
- 5432:5432
|
||||
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
|
||||
redis:
|
||||
image: redis
|
||||
ports:
|
||||
- 6379:6379
|
||||
options: --entrypoint redis-server
|
||||
memcached:
|
||||
image: memcached
|
||||
ports:
|
||||
- 11211:11211
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: Checkout Build Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Build
|
||||
path: Build
|
||||
- name: Checkout Resource Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Resources
|
||||
path: Resources
|
||||
- name: Checkout phpOMS Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/phpOMS
|
||||
path: phpOMS
|
||||
token: ${{ secrets.GH_PAT }}
|
||||
- name: Checkout Karaka Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Karaka
|
||||
path: Karaka
|
||||
- name: Setup PHP, with composer and extensions
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached
|
||||
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
||||
coverage: pcov
|
||||
- name: Get Composer Cache Directory
|
||||
id: composer-cache
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-
|
||||
- name: Setup Composer
|
||||
run: composer install
|
||||
- name: phpunit
|
||||
run: vendor/bin/phpunit --coverage-clover tests/coverage.xml --configuration tests/phpunit_default.xml
|
||||
static-tests:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: recursive
|
||||
token: ${{ secrets.GH_PAT }}
|
||||
- name: Checkout Build Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Build
|
||||
path: Build
|
||||
- name: Checkout phpOMS Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/phpOMS
|
||||
path: phpOMS
|
||||
token: ${{ secrets.GH_PAT }}
|
||||
- name: Setup PHP, with composer and extensions
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached
|
||||
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
||||
- name: Get Composer Cache Directory
|
||||
id: composer-cache
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-
|
||||
- name: Setup Composer
|
||||
run: composer install
|
||||
- name: phpstan
|
||||
run: vendor/bin/phpstan analyse -a phpOMS/Autoloader.php --no-progress -l 9 -c Build/Config/phpstan.neon ./
|
||||
codestyle-tests:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
submodules: recursive
|
||||
token: ${{ secrets.GH_PAT }}
|
||||
- name: Checkout Build Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Build
|
||||
path: Build
|
||||
- name: Setup PHP, with composer and extensions
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached
|
||||
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
||||
- name: Get Composer Cache Directory
|
||||
id: composer-cache
|
||||
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
|
||||
- name: Cache dependencies
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ${{ steps.composer-cache.outputs.dir }}
|
||||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
|
||||
restore-keys: ${{ runner.os }}-composer-
|
||||
- name: Setup Composer
|
||||
run: composer install
|
||||
- name: phpcs
|
||||
run: vendor/bin/phpcs --severity=1 ./ --standard="Build/Config/phpcs.xml" -s --report=full
|
||||
- name: Install NPM
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '14'
|
||||
cache: 'npm'
|
||||
- run: npm install
|
||||
- name: eslint
|
||||
run: npx eslint ./ -c Build/Config/.eslintrc.json
|
||||
# linting:
|
||||
# runs-on: ubuntu-latest
|
||||
# if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# max-parallel: 3
|
||||
# steps:
|
||||
# - name: Checkout Repository
|
||||
# uses: actions/checkout@main
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
# submodules: recursive
|
||||
# token: ${{ secrets.GH_TOKEN }}
|
||||
# - name: Lint Code Base
|
||||
# uses: github/super-linter/slim@v4
|
||||
# env:
|
||||
# VALIDATE_ALL_CODEBASE: false
|
||||
# VALIDATE_PHP: true
|
||||
# VALIDATE_PHP_BUILTIN: true
|
||||
# DEFAULT_BRANCH: develop
|
||||
# GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
custom:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'NO_CI')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 3
|
||||
matrix:
|
||||
php-versions: ['8.1']
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- name: Checkout Build Repository
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
fetch-depth: 1
|
||||
ref: develop
|
||||
repository: Karaka-Management/Build
|
||||
path: Build
|
||||
- name: Setup PHP, with composer and extensions
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, bcmath, redis, memcached
|
||||
ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1
|
||||
- name: PHP linting
|
||||
run: |
|
||||
find ./ -type f \
|
||||
-name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" )
|
||||
- name: Php strict
|
||||
run: if [[ $(grep -r -L "declare(strict_types=1);" --include=*.php --exclude={*.tpl.php,*Hooks.php,*Routes.php,*SearchCommands.php} ./) -ne "" ]]; then exit 1; fi
|
||||
1
.gitignore
vendored
Executable file
1
.gitignore
vendored
Executable file
|
|
@ -0,0 +1 @@
|
|||
vendor
|
||||
9
Admin/Install/Media.install.json
Executable file
9
Admin/Install/Media.install.json
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
[
|
||||
{
|
||||
"type": "collection",
|
||||
"create_directory": true,
|
||||
"name": "FleetManagement",
|
||||
"virtualPath": "/Modules",
|
||||
"user": 1
|
||||
}
|
||||
]
|
||||
43
Admin/Install/Media.php
Executable file
43
Admin/Install/Media.php
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin\Install
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin\Install;
|
||||
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
|
||||
/**
|
||||
* Media class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin\Install
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Media
|
||||
{
|
||||
/**
|
||||
* Install media providing
|
||||
*
|
||||
* @param ApplicationAbstract $app Application
|
||||
* @param string $path Module path
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function install(ApplicationAbstract $app, string $path) : void
|
||||
{
|
||||
\Modules\Media\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Media.install.json']);
|
||||
}
|
||||
}
|
||||
110
Admin/Install/Navigation.install.json
Executable file
110
Admin/Install/Navigation.install.json
Executable file
|
|
@ -0,0 +1,110 @@
|
|||
[
|
||||
{
|
||||
"id": 1003501001,
|
||||
"pid": "/",
|
||||
"type": 2,
|
||||
"subtype": 0,
|
||||
"name": "FleetManagement",
|
||||
"uri": null,
|
||||
"target": "self",
|
||||
"icon": "fa fa-car",
|
||||
"order": 80,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": 1003502001,
|
||||
"pid": "/",
|
||||
"type": 2,
|
||||
"subtype": 1,
|
||||
"name": "Vehicles",
|
||||
"uri": "{/lang}/{/app}/fleet/client/list",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 1003501001,
|
||||
"children": [
|
||||
{
|
||||
"id": 1003502101,
|
||||
"pid": "/fleet/vehicle",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "List",
|
||||
"uri": "{/lang}/{/app}/fleet/vehicle/list",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 1003502001,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 1003502201,
|
||||
"pid": "/fleet/vehicle",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Create",
|
||||
"uri": "{/lang}/{/app}/fleet/vehicle/create?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 4, "category": null, "element": null },
|
||||
"parent": 1003502001,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1003503001,
|
||||
"pid": "/",
|
||||
"type": 2,
|
||||
"subtype": 1,
|
||||
"name": "Attributes",
|
||||
"uri": "{/lang}/{/app}/fleet/vehicle/attribute/type/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 5,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 1003501001,
|
||||
"children": [
|
||||
{
|
||||
"id": 1003503101,
|
||||
"pid": "/sales",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Types",
|
||||
"uri": "{/lang}/{/app}/fleet/vehicle/attribute/type/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 15,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 1003503001,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 1003503201,
|
||||
"pid": "/sales",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Values",
|
||||
"uri": "{/lang}/{/app}/fleet/vehicle/attribute/value/list?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 15,
|
||||
"from": "FleetManagement",
|
||||
"permission": { "permission": 2, "category": null, "element": null },
|
||||
"parent": 1003503001,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
43
Admin/Install/Navigation.php
Executable file
43
Admin/Install/Navigation.php
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin\Install
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin\Install;
|
||||
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
|
||||
/**
|
||||
* Navigation class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin\Install
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Navigation
|
||||
{
|
||||
/**
|
||||
* Install navigation providing
|
||||
*
|
||||
* @param ApplicationAbstract $app Application
|
||||
* @param string $path Module path
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function install(ApplicationAbstract $app, string $path) : void
|
||||
{
|
||||
\Modules\Navigation\Admin\Installer::installExternal($app, ['path' => __DIR__ . '/Navigation.install.json']);
|
||||
}
|
||||
}
|
||||
405
Admin/Install/db.json
Executable file
405
Admin/Install/db.json
Executable file
|
|
@ -0,0 +1,405 @@
|
|||
{
|
||||
"fleetmgmt_vehicle": {
|
||||
"name": "fleetmgmt_vehicle",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_id": {
|
||||
"name": "fleetmgmt_vehicle_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_status": {
|
||||
"name": "fleetmgmt_vehicle_status",
|
||||
"type": "TINYINT",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_type": {
|
||||
"name": "fleetmgmt_vehicle_type",
|
||||
"type": "TINYINT",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_info": {
|
||||
"name": "fleetmgmt_vehicle_info",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_created_at": {
|
||||
"name": "fleetmgmt_vehicle_created_at",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible": {
|
||||
"name": "fleetmgmt_vehicle_responsible",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_unit": {
|
||||
"name": "fleetmgmt_vehicle_unit",
|
||||
"type": "INT",
|
||||
"default": null,
|
||||
"null": true,
|
||||
"foreignTable": "unit",
|
||||
"foreignKey": "unit_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible": {
|
||||
"name": "fleetmgmt_vehicle_responsible",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_responsible_id": {
|
||||
"name": "fleetmgmt_vehicle_responsible_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible_description": {
|
||||
"name": "fleetmgmt_vehicle_responsible_description",
|
||||
"type": "TEXT",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible_account": {
|
||||
"name": "fleetmgmt_vehicle_responsible_account",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible_start": {
|
||||
"name": "fleetmgmt_vehicle_responsible_start",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_responsible_end": {
|
||||
"name": "fleetmgmt_vehicle_responsible_end",
|
||||
"type": "DATETIME",
|
||||
"null": true,
|
||||
"default": null
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_usage": {
|
||||
"name": "fleetmgmt_vehicle_usage",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_usage_id": {
|
||||
"name": "fleetmgmt_vehicle_usage_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_usage_type": {
|
||||
"name": "fleetmgmt_vehicle_usage_type",
|
||||
"type": "INT",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_usage_account": {
|
||||
"name": "fleetmgmt_vehicle_usage_account",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "account",
|
||||
"foreignKey": "account_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_usage_start": {
|
||||
"name": "fleetmgmt_vehicle_usage_start",
|
||||
"type": "DATETIME",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_vehicle_usage_end": {
|
||||
"name": "fleetmgmt_vehicle_usage_end",
|
||||
"type": "DATETIME",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"fleetmgmt_vehicle_usage_distance": {
|
||||
"name": "fleetmgmt_vehicle_usage_distance",
|
||||
"type": "INT",
|
||||
"null": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_attr_type": {
|
||||
"name": "fleetmgmt_attr_type",
|
||||
"fields": {
|
||||
"fleetmgmt_attr_type_id": {
|
||||
"name": "fleetmgmt_attr_type_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_attr_type_name": {
|
||||
"name": "fleetmgmt_attr_type_name",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false,
|
||||
"unique": true
|
||||
},
|
||||
"fleetmgmt_attr_type_datatype": {
|
||||
"name": "fleetmgmt_attr_type_datatype",
|
||||
"type": "INT(11)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_type_fields": {
|
||||
"name": "fleetmgmt_attr_type_fields",
|
||||
"type": "INT(11)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_type_custom": {
|
||||
"name": "fleetmgmt_attr_type_custom",
|
||||
"type": "TINYINT(1)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_type_required": {
|
||||
"description": "Every item must have this attribute type if set to true.",
|
||||
"name": "fleetmgmt_attr_type_required",
|
||||
"type": "TINYINT(1)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_type_pattern": {
|
||||
"description": "This is a regex validation pattern.",
|
||||
"name": "fleetmgmt_attr_type_pattern",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_attr_type_l11n": {
|
||||
"name": "fleetmgmt_attr_type_l11n",
|
||||
"fields": {
|
||||
"fleetmgmt_attr_type_l11n_id": {
|
||||
"name": "fleetmgmt_attr_type_l11n_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_attr_type_l11n_title": {
|
||||
"name": "fleetmgmt_attr_type_l11n_title",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_type_l11n_type": {
|
||||
"name": "fleetmgmt_attr_type_l11n_type",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_attr_type",
|
||||
"foreignKey": "fleetmgmt_attr_type_id"
|
||||
},
|
||||
"fleetmgmt_attr_type_l11n_lang": {
|
||||
"name": "fleetmgmt_attr_type_l11n_lang",
|
||||
"type": "VARCHAR(2)",
|
||||
"null": false,
|
||||
"foreignTable": "language",
|
||||
"foreignKey": "language_639_1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_attr_value": {
|
||||
"name": "fleetmgmt_attr_value",
|
||||
"fields": {
|
||||
"fleetmgmt_attr_value_id": {
|
||||
"name": "fleetmgmt_attr_value_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_attr_value_default": {
|
||||
"name": "fleetmgmt_attr_value_default",
|
||||
"type": "TINYINT(1)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_value_valueStr": {
|
||||
"name": "fleetmgmt_attr_value_valueStr",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"fleetmgmt_attr_value_valueInt": {
|
||||
"name": "fleetmgmt_attr_value_valueInt",
|
||||
"type": "INT(11)",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"fleetmgmt_attr_value_valueDec": {
|
||||
"name": "fleetmgmt_attr_value_valueDec",
|
||||
"type": "DECIMAL(19,5)",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"fleetmgmt_attr_value_valueDat": {
|
||||
"name": "fleetmgmt_attr_value_valueDat",
|
||||
"type": "DATETIME",
|
||||
"null": true,
|
||||
"default": null
|
||||
},
|
||||
"fleetmgmt_attr_value_unit": {
|
||||
"name": "fleetmgmt_attr_value_unit",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_value_deptype": {
|
||||
"name": "fleetmgmt_attr_value_deptype",
|
||||
"type": "INT(11)",
|
||||
"null": true,
|
||||
"default": null,
|
||||
"foreignTable": "fleetmgmt_attr_type",
|
||||
"foreignKey": "fleetmgmt_attr_type_id"
|
||||
},
|
||||
"fleetmgmt_attr_value_depvalue": {
|
||||
"name": "fleetmgmt_attr_value_depvalue",
|
||||
"type": "INT(11)",
|
||||
"null": true,
|
||||
"default": null,
|
||||
"foreignTable": "fleetmgmt_attr_value",
|
||||
"foreignKey": "fleetmgmt_attr_value_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_attr_value_l11n": {
|
||||
"name": "fleetmgmt_attr_value_l11n",
|
||||
"fields": {
|
||||
"fleetmgmt_attr_value_l11n_id": {
|
||||
"name": "fleetmgmt_attr_value_l11n_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_attr_value_l11n_title": {
|
||||
"name": "fleetmgmt_attr_value_l11n_title",
|
||||
"type": "VARCHAR(255)",
|
||||
"null": false
|
||||
},
|
||||
"fleetmgmt_attr_value_l11n_value": {
|
||||
"name": "fleetmgmt_attr_value_l11n_value",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_attr_value",
|
||||
"foreignKey": "fleetmgmt_attr_value_id"
|
||||
},
|
||||
"fleetmgmt_attr_value_l11n_lang": {
|
||||
"name": "fleetmgmt_attr_value_l11n_lang",
|
||||
"type": "VARCHAR(2)",
|
||||
"null": false,
|
||||
"foreignTable": "language",
|
||||
"foreignKey": "language_639_1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_default": {
|
||||
"name": "fleetmgmt_vehicle_attr_default",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_attr_default_id": {
|
||||
"name": "fleetmgmt_vehicle_attr_default_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_default_type": {
|
||||
"name": "fleetmgmt_vehicle_attr_default_type",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_attr_type",
|
||||
"foreignKey": "fleetmgmt_attr_type_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_default_value": {
|
||||
"name": "fleetmgmt_vehicle_attr_default_value",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_attr_value",
|
||||
"foreignKey": "fleetmgmt_attr_value_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_attr": {
|
||||
"name": "fleetmgmt_vehicle_attr",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_attr_id": {
|
||||
"name": "fleetmgmt_vehicle_attr_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_vehicle": {
|
||||
"name": "fleetmgmt_vehicle_attr_vehicle",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_vehicle",
|
||||
"foreignKey": "fleetmgmt_vehicle_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_type": {
|
||||
"name": "fleetmgmt_vehicle_attr_type",
|
||||
"type": "INT(11)",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_attr_type",
|
||||
"foreignKey": "fleetmgmt_attr_type_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_attr_value": {
|
||||
"name": "fleetmgmt_vehicle_attr_value",
|
||||
"type": "INT(11)",
|
||||
"null": true,
|
||||
"default": null,
|
||||
"foreignTable": "fleetmgmt_attr_value",
|
||||
"foreignKey": "fleetmgmt_attr_value_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_media": {
|
||||
"name": "fleetmgmt_vehicle_media",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_media_id": {
|
||||
"name": "fleetmgmt_vehicle_media_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_media_dst": {
|
||||
"name": "fleetmgmt_vehicle_media_dst",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "media",
|
||||
"foreignKey": "media_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_media_src": {
|
||||
"name": "fleetmgmt_vehicle_media_src",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_vehicle",
|
||||
"foreignKey": "fleetmgmt_vehicle_id"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fleetmgmt_vehicle_note": {
|
||||
"name": "fleetmgmt_vehicle_note",
|
||||
"fields": {
|
||||
"fleetmgmt_vehicle_note_id": {
|
||||
"name": "fleetmgmt_vehicle_note_id",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"primary": true,
|
||||
"autoincrement": true
|
||||
},
|
||||
"fleetmgmt_vehicle_note_dst": {
|
||||
"name": "fleetmgmt_vehicle_note_dst",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "editor_doc",
|
||||
"foreignKey": "editor_doc_id"
|
||||
},
|
||||
"fleetmgmt_vehicle_note_src": {
|
||||
"name": "fleetmgmt_vehicle_note_src",
|
||||
"type": "INT",
|
||||
"null": false,
|
||||
"foreignTable": "fleetmgmt_vehicle",
|
||||
"foreignKey": "fleetmgmt_vehicle_id"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50
Admin/Installer.php
Executable file
50
Admin/Installer.php
Executable file
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin;
|
||||
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\Config\SettingsInterface;
|
||||
use phpOMS\Message\Http\HttpRequest;
|
||||
use phpOMS\Message\Http\HttpResponse;
|
||||
use phpOMS\Module\InstallerAbstract;
|
||||
use phpOMS\Module\ModuleInfo;
|
||||
use phpOMS\Uri\HttpUri;
|
||||
|
||||
/**
|
||||
* Installer class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Installer extends InstallerAbstract
|
||||
{
|
||||
/**
|
||||
* Path of the file
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function install(ApplicationAbstract $app, ModuleInfo $info, SettingsInterface $cfgHandler) : void
|
||||
{
|
||||
parent::install($app, $info, $cfgHandler);
|
||||
}
|
||||
}
|
||||
76
Admin/Routes/Web/Backend.php
Executable file
76
Admin/Routes/Web/Backend.php
Executable file
|
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
use Modules\FleetManagement\Controller\BackendController;
|
||||
use Modules\FleetManagement\Models\PermissionCategory;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Router\RouteVerb;
|
||||
|
||||
return [
|
||||
'^.*/fleet/vehicle/attribute/type/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementAttributeTypeList',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => BackendController::NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionCategory::VEHICLE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/fleet/vehicle/attribute/type\?.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementAttributeType',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => BackendController::NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionCategory::VEHICLE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/fleet/vehicle/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleList',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => BackendController::NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionCategory::VEHICLE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/fleet/vehicle/create.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleCreate',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => BackendController::NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionCategory::VEHICLE,
|
||||
],
|
||||
],
|
||||
],
|
||||
'^.*/fleet/vehicle/profile.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\FleetManagement\Controller\BackendController:viewFleetManagementVehicleProfile',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => BackendController::NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionCategory::VEHICLE,
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
36
Admin/Status.php
Executable file
36
Admin/Status.php
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin;
|
||||
|
||||
use phpOMS\Module\StatusAbstract;
|
||||
|
||||
/**
|
||||
* Status class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Status extends StatusAbstract
|
||||
{
|
||||
/**
|
||||
* Path of the file
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__;
|
||||
}
|
||||
36
Admin/Uninstaller.php
Executable file
36
Admin/Uninstaller.php
Executable file
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin;
|
||||
|
||||
use phpOMS\Module\UninstallerAbstract;
|
||||
|
||||
/**
|
||||
* Uninstaller class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Uninstaller extends UninstallerAbstract
|
||||
{
|
||||
/**
|
||||
* Path of the file
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__;
|
||||
}
|
||||
29
Admin/Updater.php
Executable file
29
Admin/Updater.php
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Admin;
|
||||
|
||||
use phpOMS\Module\UpdaterAbstract;
|
||||
|
||||
/**
|
||||
* Updater class.
|
||||
*
|
||||
* @package Modules\FleetManagement\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Updater extends UpdaterAbstract
|
||||
{
|
||||
}
|
||||
0
Controller.js
Executable file
0
Controller.js
Executable file
28
Controller/ApiController.php
Executable file
28
Controller/ApiController.php
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Controller;
|
||||
|
||||
/**
|
||||
* FleetManagement class.
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class ApiController extends Controller
|
||||
{
|
||||
|
||||
}
|
||||
29
Controller/BackendController.php
Executable file
29
Controller/BackendController.php
Executable file
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Controller;
|
||||
|
||||
/**
|
||||
* FleetManagement class.
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
final class BackendController extends Controller
|
||||
{
|
||||
|
||||
}
|
||||
76
Controller/Controller.php
Executable file
76
Controller/Controller.php
Executable file
|
|
@ -0,0 +1,76 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Controller;
|
||||
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
|
||||
/**
|
||||
* FleetManagement class.
|
||||
*
|
||||
* @package Modules\FleetManagement
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Controller extends ModuleAbstract
|
||||
{
|
||||
/**
|
||||
* Module path.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const PATH = __DIR__ . '/../';
|
||||
|
||||
/**
|
||||
* Module version.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const VERSION = '1.0.0';
|
||||
|
||||
/**
|
||||
* Module name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const NAME = 'FleetManagement';
|
||||
|
||||
/**
|
||||
* Module id.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const ID = 1003500000;
|
||||
|
||||
/**
|
||||
* Providing.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $providing = [];
|
||||
|
||||
/**
|
||||
* Dependencies.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static array $dependencies = [];
|
||||
}
|
||||
3
Docs/Dev/en/SUMMARY.md
Executable file
3
Docs/Dev/en/SUMMARY.md
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
# Developer Content
|
||||
|
||||
* [Structure]({%}&page=Dev/structure)
|
||||
5
Docs/Dev/en/structure.md
Executable file
5
Docs/Dev/en/structure.md
Executable file
|
|
@ -0,0 +1,5 @@
|
|||
# Structure
|
||||
|
||||
## ER
|
||||
|
||||

|
||||
BIN
Docs/Dev/img/er.png
Executable file
BIN
Docs/Dev/img/er.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 305 KiB |
30
Models/PermissionCategory.php
Executable file
30
Models/PermissionCategory.php
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\FleetManagement\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Models;
|
||||
|
||||
use phpOMS\Stdlib\Base\Enum;
|
||||
|
||||
/**
|
||||
* Permision state enum.
|
||||
*
|
||||
* @package Modules\FleetManagement\Models
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class PermissionCategory extends Enum
|
||||
{
|
||||
public const VEHICLE = 1;
|
||||
}
|
||||
19
Theme/Backend/Lang/Navigation.ar.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.ar.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'عميل',
|
||||
'Region' => 'منطقة',
|
||||
'SalesRep' => 'مندول المبيعات',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.cs.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.cs.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klienta',
|
||||
'Region' => 'Kraj',
|
||||
'SalesRep' => 'Obchodní zástupce',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.da.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.da.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klient',
|
||||
'Region' => 'Område',
|
||||
'SalesRep' => 'Salgsrepræsentant',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.de.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.de.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klient',
|
||||
'Region' => 'Region',
|
||||
'SalesRep' => 'VerkäufeRep',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.el.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.el.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Πελάτης',
|
||||
'Region' => 'Περιοχή',
|
||||
'SalesRep' => 'Αντιπρόσωπος Πωλήσεων',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.en.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.en.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Client',
|
||||
'Region' => 'Region',
|
||||
'SalesRep' => 'SalesRep',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.es.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.es.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Cliente',
|
||||
'Region' => 'Región',
|
||||
'SalesRep' => 'Vendedores',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.fi.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.fi.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Asiakas',
|
||||
'Region' => 'Alue',
|
||||
'SalesRep' => 'Myyntiedustaja',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.fr.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.fr.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Client',
|
||||
'Region' => 'Région',
|
||||
'SalesRep' => 'Représentant commercial',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.hu.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.hu.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Ügyfél',
|
||||
'Region' => 'Vidék',
|
||||
'SalesRep' => 'Értékesítés',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.it.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.it.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Cliente',
|
||||
'Region' => 'Regione',
|
||||
'SalesRep' => 'Rappresentante delle vendite',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.ja.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.ja.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'クライアント',
|
||||
'Region' => '領域',
|
||||
'SalesRep' => 'セールスレート',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.ko.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.ko.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => '고객',
|
||||
'Region' => '지역',
|
||||
'SalesRep' => '매출액',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.no.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.no.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klient',
|
||||
'Region' => 'Region',
|
||||
'SalesRep' => 'SalesRep.',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.pl.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.pl.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klient',
|
||||
'Region' => 'Region',
|
||||
'SalesRep' => 'Przedstawiciel handlowy',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.pt.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.pt.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Cliente',
|
||||
'Region' => 'Região',
|
||||
'SalesRep' => 'Representante de vendas',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.ru.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.ru.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Клиент',
|
||||
'Region' => 'Область',
|
||||
'SalesRep' => 'Торговый представитель',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.sv.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.sv.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Klient',
|
||||
'Region' => 'Område',
|
||||
'SalesRep' => 'Säljare',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.th.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.th.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'ลูกค้า',
|
||||
'Region' => 'ภูมิภาค',
|
||||
'SalesRep' => 'ตัวแทนฝ่ายขาย',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.tr.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.tr.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Müşteri',
|
||||
'Region' => 'Bölge',
|
||||
'SalesRep' => 'Satıcı',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.uk.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.uk.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => 'Клієнт',
|
||||
'Region' => 'Регіон',
|
||||
'SalesRep' => 'Торговий представник',
|
||||
]];
|
||||
19
Theme/Backend/Lang/Navigation.zh.lang.php
Executable file
19
Theme/Backend/Lang/Navigation.zh.lang.php
Executable file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['Navigation' => [
|
||||
'Client' => '客户',
|
||||
'Region' => '地区',
|
||||
'SalesRep' => '销售代表',
|
||||
]];
|
||||
126
Theme/Backend/Lang/ar.lang.php
Executable file
126
Theme/Backend/Lang/ar.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'محاسبة',
|
||||
'Addition' => 'إضافة',
|
||||
'Address' => 'تبوك',
|
||||
'Addresses' => 'عناوين',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'مدير المنطقة',
|
||||
'Articlegroup' => 'articlegroup.',
|
||||
'Articles' => 'مقالات',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'الرصيد',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'علاوة',
|
||||
'Business' => 'اعمال',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'قذيفة',
|
||||
'Calendar' => 'تقويم',
|
||||
'City' => 'مدينة',
|
||||
'Client' => 'عميل',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'عملاء',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'اتصل',
|
||||
'Country' => 'دولة',
|
||||
'Created' => 'خلقت',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'التصنيف الائتماني',
|
||||
'Creditcard' => 'بطاقة إئتمان',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'تاريخ',
|
||||
'Default' => 'تقصير',
|
||||
'Delivery' => 'توصيل',
|
||||
'Discount' => 'خصم',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'خصم ٪',
|
||||
'Documents' => 'وثائق',
|
||||
'Due' => 'بسبب',
|
||||
'Email' => 'بريد الالكتروني',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'فاكس',
|
||||
'Files' => 'الملفات',
|
||||
'Filter' => 'منقي',
|
||||
'Freightage' => 'شحن',
|
||||
'Group' => 'مجموعة',
|
||||
'ID' => 'بطاقة تعريف',
|
||||
'Info' => 'معلومات',
|
||||
'Invoice' => 'فاتورة',
|
||||
'Invoices' => 'الفواتير',
|
||||
'IsDefault' => 'افتراضي؟',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'آخر اتصال',
|
||||
'LastOrder' => 'آخر طلب',
|
||||
'Log' => 'سجل',
|
||||
'Logs' => 'السجلات',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'مرر',
|
||||
'MTDSales' => 'مبيعات MTD',
|
||||
'Margin' => 'هامش',
|
||||
'Messages' => 'رسائل',
|
||||
'Modified' => 'تم التعديل',
|
||||
'Modules' => 'وحدات',
|
||||
'Name' => 'اسم',
|
||||
'Name1' => 'اسم 1.',
|
||||
'Name2' => 'اسم 2.',
|
||||
'Name3' => 'اسم 3.',
|
||||
'Net' => 'شبكة',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'ملحوظات',
|
||||
'Number' => 'عدد',
|
||||
'Office' => 'مكتب. مقر. مركز',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'دفع',
|
||||
'PaymentTerm' => 'مصطلح الدفع',
|
||||
'Permission' => 'إذن',
|
||||
'Phone' => 'هاتف',
|
||||
'Postal' => 'بريدي',
|
||||
'Price' => 'السعر',
|
||||
'Prices' => 'الأسعار.',
|
||||
'Private' => 'نشر',
|
||||
'Productgroup' => 'productgroup.',
|
||||
'Profile' => 'الملف الشخصي',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'شراء',
|
||||
'Quantity' => 'كمية',
|
||||
'RecentInvoices' => 'الفواتير الأخيرة',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'مبيعات',
|
||||
'Segment' => 'قطعة',
|
||||
'Segments' => 'شرائح',
|
||||
'Subtype' => 'النوع الفرعي',
|
||||
'Support' => 'يدعم',
|
||||
'Tags' => 'كذا',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'نوع',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'موقع إلكتروني',
|
||||
'Wire' => 'الأسلاك',
|
||||
'YTDSales' => 'مبيعات YTD',
|
||||
'Zip' => 'أزيز',
|
||||
]];
|
||||
126
Theme/Backend/Lang/cs.lang.php
Executable file
126
Theme/Backend/Lang/cs.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Účetnictví',
|
||||
'Addition' => 'Přidání',
|
||||
'Address' => 'Adresa',
|
||||
'Addresses' => 'Adresy',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Oblastní manažer',
|
||||
'Articlegroup' => 'Článek',
|
||||
'Articles' => 'Články',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Zůstatek',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Business.',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv.',
|
||||
'Calendar' => 'Kalendář',
|
||||
'City' => 'Město',
|
||||
'Client' => 'Klienta',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Klienti',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Země',
|
||||
'Created' => 'Vytvořený',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Úvěrový rating',
|
||||
'Creditcard' => 'Kreditní karta',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'datum',
|
||||
'Default' => 'Výchozí hodnota',
|
||||
'Delivery' => 'dodávka',
|
||||
'Discount' => 'Sleva',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Sleva%',
|
||||
'Documents' => 'Dokumenty',
|
||||
'Due' => 'Způsoben',
|
||||
'Email' => 'E-mailem',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Soubory',
|
||||
'Filter' => 'Filtr',
|
||||
'Freightage' => 'Dopravné',
|
||||
'Group' => 'Skupina',
|
||||
'ID' => 'ID.',
|
||||
'Info' => 'Info.',
|
||||
'Invoice' => 'Faktura',
|
||||
'Invoices' => 'Faktury',
|
||||
'IsDefault' => 'Je výchozí?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Poslední kontakt',
|
||||
'LastOrder' => 'Poslední objednávka',
|
||||
'Log' => 'Log',
|
||||
'Logs' => 'Protokoly',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr.',
|
||||
'MTDSales' => 'Prodej MTD.',
|
||||
'Margin' => 'Okraj',
|
||||
'Messages' => 'Zprávy',
|
||||
'Modified' => 'Upravený',
|
||||
'Modules' => 'Moduly',
|
||||
'Name' => 'název',
|
||||
'Name1' => 'Jméno1.',
|
||||
'Name2' => 'Jméno2.',
|
||||
'Name3' => 'Jméno3.',
|
||||
'Net' => 'Síť',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Poznámky',
|
||||
'Number' => 'Číslo',
|
||||
'Office' => 'Kancelář',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Způsob platby',
|
||||
'PaymentTerm' => 'Platební termín',
|
||||
'Permission' => 'Povolení',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Poštovní',
|
||||
'Price' => 'Cena',
|
||||
'Prices' => 'Ceny',
|
||||
'Private' => 'Soukromý',
|
||||
'Productgroup' => 'ProductSgroup.',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Nákup',
|
||||
'Quantity' => 'Množství',
|
||||
'RecentInvoices' => 'Nedávné faktury',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Odbyt',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segmenty',
|
||||
'Subtype' => 'Podtyp',
|
||||
'Support' => 'Podpěra, podpora',
|
||||
'Tags' => 'Tagy',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Typ',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'webová stránka',
|
||||
'Wire' => 'Drát',
|
||||
'YTDSales' => 'Prodej YTD.',
|
||||
'Zip' => 'Zip',
|
||||
]];
|
||||
126
Theme/Backend/Lang/da.lang.php
Executable file
126
Theme/Backend/Lang/da.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Regnskab',
|
||||
'Addition' => 'Tilsætning',
|
||||
'Address' => 'Adresse',
|
||||
'Addresses' => 'Adresser',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Områdechef',
|
||||
'Articlegroup' => 'ArticleGroup.',
|
||||
'Articles' => 'Artikler',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Balance',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Forretning',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV.',
|
||||
'Calendar' => 'Kalender',
|
||||
'City' => 'City.',
|
||||
'Client' => 'Klient',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Klienter.',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Land',
|
||||
'Created' => 'Oprettet',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Kreditvurdering',
|
||||
'Creditcard' => 'Kreditkort',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'Dato',
|
||||
'Default' => 'Standard',
|
||||
'Delivery' => 'Levering',
|
||||
'Discount' => 'Rabat',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Rabat%',
|
||||
'Documents' => 'Dokumenter',
|
||||
'Due' => 'På grund',
|
||||
'Email' => 'Email.',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Filer.',
|
||||
'Filter' => 'Filter',
|
||||
'Freightage' => 'Gods',
|
||||
'Group' => 'Gruppe',
|
||||
'ID' => 'ID.',
|
||||
'Info' => 'Info.',
|
||||
'Invoice' => 'Faktura',
|
||||
'Invoices' => 'Fakturaer.',
|
||||
'IsDefault' => 'Er standard?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Sidste kontakt',
|
||||
'LastOrder' => 'Sidste ordre',
|
||||
'Log' => 'Log',
|
||||
'Logs' => 'Logs.',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'MTD Sales.',
|
||||
'Margin' => 'Margin.',
|
||||
'Messages' => 'Beskeder',
|
||||
'Modified' => 'Modificeret',
|
||||
'Modules' => 'Moduler.',
|
||||
'Name' => 'Navn',
|
||||
'Name1' => 'NAME1.',
|
||||
'Name2' => 'NAME2.',
|
||||
'Name3' => 'NAME3.',
|
||||
'Net' => 'Net',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Noter.',
|
||||
'Number' => 'Nummer',
|
||||
'Office' => 'Kontor',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Betaling',
|
||||
'PaymentTerm' => 'Betalingsbetingelser',
|
||||
'Permission' => 'Tilladelse',
|
||||
'Phone' => 'telefon',
|
||||
'Postal' => 'Postal.',
|
||||
'Price' => 'Pris',
|
||||
'Prices' => 'Priser.',
|
||||
'Private' => 'Privat',
|
||||
'Productgroup' => 'Produktgruppe',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Køb',
|
||||
'Quantity' => 'Antal',
|
||||
'RecentInvoices' => 'Nylige fakturaer.',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'SALG',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segmenter.',
|
||||
'Subtype' => 'Subtype.',
|
||||
'Support' => 'Support',
|
||||
'Tags' => 'Tags.',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Type',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Internet side',
|
||||
'Wire' => 'Tråd',
|
||||
'YTDSales' => 'YTD SALG',
|
||||
'Zip' => 'Zip.',
|
||||
]];
|
||||
126
Theme/Backend/Lang/de.lang.php
Executable file
126
Theme/Backend/Lang/de.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Buchhaltung',
|
||||
'Addition' => 'Zusatz',
|
||||
'Address' => 'Adresse',
|
||||
'Addresses' => 'Adressen',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Bereichsleiter',
|
||||
'Articlegroup' => 'ArtikelGroup.',
|
||||
'Articles' => 'Artikel',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Gleichgewicht',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Geschäft',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV',
|
||||
'Calendar' => 'Kalender',
|
||||
'City' => 'Stadt',
|
||||
'Client' => 'Klient',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Kunden',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Land',
|
||||
'Created' => 'Erstellt',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Kreditbeurteilung',
|
||||
'Creditcard' => 'Kreditkarte',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'Datum',
|
||||
'Default' => 'Standard',
|
||||
'Delivery' => 'Die Zustellung',
|
||||
'Discount' => 'Rabatt',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Rabatt %',
|
||||
'Documents' => 'Unterlagen',
|
||||
'Due' => 'Fällig',
|
||||
'Email' => 'Email',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Dateien',
|
||||
'Filter' => 'Filter',
|
||||
'Freightage' => 'Fracht',
|
||||
'Group' => 'Gruppe',
|
||||
'ID' => 'ICH WÜRDE',
|
||||
'Info' => 'Die Info',
|
||||
'Invoice' => 'Rechnung',
|
||||
'Invoices' => 'Rechnungen',
|
||||
'IsDefault' => 'Ist standardmäßig?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Letzter Kontakt',
|
||||
'LastOrder' => 'Letzte Bestellung',
|
||||
'Log' => 'Protokoll',
|
||||
'Logs' => 'Protokoll',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr.',
|
||||
'MTDSales' => 'MTD-Verkäufe.',
|
||||
'Margin' => 'Rand',
|
||||
'Messages' => 'Mitteilungen',
|
||||
'Modified' => 'Geändert',
|
||||
'Modules' => 'Module',
|
||||
'Name' => 'Name',
|
||||
'Name1' => 'Name1.',
|
||||
'Name2' => 'Name2.',
|
||||
'Name3' => 'Name3.',
|
||||
'Net' => 'Netz',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Anmerkungen',
|
||||
'Number' => 'Nummer',
|
||||
'Office' => 'Sekretariat',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Zahlung',
|
||||
'PaymentTerm' => 'Zahlungsbezeichnung',
|
||||
'Permission' => 'Erlaubnis',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Post',
|
||||
'Price' => 'Preis',
|
||||
'Prices' => 'Preise',
|
||||
'Private' => 'Privatgelände',
|
||||
'Productgroup' => 'Produktgruppe',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Kaufen',
|
||||
'Quantity' => 'Menge',
|
||||
'RecentInvoices' => 'Jüngste Rechnungen',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Der Umsatz',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segmente',
|
||||
'Subtype' => 'Untertyp',
|
||||
'Support' => 'Unterstützung',
|
||||
'Tags' => 'Stichworte',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Typ',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Webseite',
|
||||
'Wire' => 'Kabel',
|
||||
'YTDSales' => 'Ytd Sales.',
|
||||
'Zip' => 'Reißverschluss',
|
||||
]];
|
||||
126
Theme/Backend/Lang/el.lang.php
Executable file
126
Theme/Backend/Lang/el.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Λογιστική',
|
||||
'Addition' => 'Πρόσθεση',
|
||||
'Address' => 'Διεύθυνση',
|
||||
'Addresses' => 'Διευθύνσεις',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Διευθυντής περιοχής',
|
||||
'Articlegroup' => 'Ομιλία',
|
||||
'Articles' => 'Είδη',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Ισορροπία',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Δώρο',
|
||||
'Business' => 'Επιχείρηση',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Σολλίζω',
|
||||
'Calendar' => 'Ημερολόγιο',
|
||||
'City' => 'Πόλη',
|
||||
'Client' => 'Πελάτης',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Πελάτες',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Επικοινωνία',
|
||||
'Country' => 'Χώρα',
|
||||
'Created' => 'Δημιουργήθηκε',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Αξιολόγησης της πιστοληπτικής ικανότητας',
|
||||
'Creditcard' => 'Πιστωτική κάρτα',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'ΔΣΟ',
|
||||
'Date' => 'Ημερομηνία',
|
||||
'Default' => 'Προκαθορισμένο',
|
||||
'Delivery' => 'Διανομή',
|
||||
'Discount' => 'Εκπτωση',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Έκπτωση%',
|
||||
'Documents' => 'Εγγραφα',
|
||||
'Due' => 'Λόγω',
|
||||
'Email' => 'ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Φαξ',
|
||||
'Files' => 'Αρχεία',
|
||||
'Filter' => 'Φίλτρο',
|
||||
'Freightage' => 'Ναύλος',
|
||||
'Group' => 'Ομάδα',
|
||||
'ID' => 'ταυτότητα',
|
||||
'Info' => 'Πληροφορία',
|
||||
'Invoice' => 'Τιμολόγιο',
|
||||
'Invoices' => 'Τιμολόγια',
|
||||
'IsDefault' => 'Είναι προεπιλογή;',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Τελευταία επαφή',
|
||||
'LastOrder' => 'Τελευταία παραγγελία',
|
||||
'Log' => 'Κούτσουρο',
|
||||
'Logs' => 'Κούτσουρα',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR',
|
||||
'MTDSales' => 'Πωλήσεις MTD',
|
||||
'Margin' => 'Περιθώριο',
|
||||
'Messages' => 'Μηνύματα',
|
||||
'Modified' => 'Τροποποιημένος',
|
||||
'Modules' => 'Ενότητες',
|
||||
'Name' => 'Ονομα',
|
||||
'Name1' => 'Όνομα1',
|
||||
'Name2' => 'Όνομα2',
|
||||
'Name3' => 'Όνομα',
|
||||
'Net' => 'Καθαρά',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Σημειώνει',
|
||||
'Number' => 'Αριθμός',
|
||||
'Office' => 'Γραφείο',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Πληρωμή',
|
||||
'PaymentTerm' => 'Ορος πληρωμής',
|
||||
'Permission' => 'Αδεια',
|
||||
'Phone' => 'Τηλέφωνο',
|
||||
'Postal' => 'Ταχυδρομικός',
|
||||
'Price' => 'Τιμή',
|
||||
'Prices' => 'Τιμές',
|
||||
'Private' => 'Ιδιωτικός',
|
||||
'Productgroup' => 'Ομοιόμορφη ομάδα',
|
||||
'Profile' => 'Προφίλ',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Αγορά',
|
||||
'Quantity' => 'Ποσότητα',
|
||||
'RecentInvoices' => 'Πρόσφατα τιμολόγια',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Εκπτώσεις',
|
||||
'Segment' => 'Τμήμα',
|
||||
'Segments' => 'Τμήματα',
|
||||
'Subtype' => 'Υποτύπωμα',
|
||||
'Support' => 'Υποστήριξη',
|
||||
'Tags' => 'Ετικέτες',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Τύπος',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Δικτυακός τόπος',
|
||||
'Wire' => 'Σύρμα',
|
||||
'YTDSales' => 'Ytd πωλήσεις',
|
||||
'Zip' => 'Φερμουάρ',
|
||||
]];
|
||||
127
Theme/Backend/Lang/en.lang.php
Executable file
127
Theme/Backend/Lang/en.lang.php
Executable file
|
|
@ -0,0 +1,127 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Accounting',
|
||||
'Addition' => 'Addition',
|
||||
'Address' => 'Address',
|
||||
'Addresses' => 'Addresses',
|
||||
'Africa' => 'Africa',
|
||||
'AllCustomers' => 'All Customers',
|
||||
'America' => 'America',
|
||||
'Analyse' => 'Analyse',
|
||||
'AreaManager' => 'Area Manager',
|
||||
'Articlegroup' => 'Articlegroup',
|
||||
'Articles' => 'Articles',
|
||||
'Asia' => 'Asia',
|
||||
'Attribute' => 'Attribute',
|
||||
'Attributes' => 'Attributes',
|
||||
'Balance' => 'Balance',
|
||||
'BaseTime' => 'Base time',
|
||||
'Bills' => 'Bills',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Business',
|
||||
'CIS' => 'CIS',
|
||||
'CLV' => 'CLV',
|
||||
'Calendar' => 'Calendar',
|
||||
'City' => 'City',
|
||||
'Client' => 'Client',
|
||||
'ClientID' => 'Client Id',
|
||||
'Clients' => 'Clients',
|
||||
'ComparisonTime' => 'Comparison time',
|
||||
'Contact' => 'Contact',
|
||||
'Country' => 'Country',
|
||||
'Created' => 'Created',
|
||||
'CreatedAt' => 'Created at',
|
||||
'CreditRating' => 'Credit Rating',
|
||||
'Creditcard' => 'Creditcard',
|
||||
'Customers' => 'Customers',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'Date',
|
||||
'Default' => 'Default',
|
||||
'Delivery' => 'Delivery',
|
||||
'Discount' => 'Discount',
|
||||
'DiscountBonus' => 'Discount bonus',
|
||||
'DiscountP' => 'Discount %',
|
||||
'Documents' => 'Documents',
|
||||
'Due' => 'Due',
|
||||
'Email' => 'Email',
|
||||
'Europe' => 'Europe',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Files',
|
||||
'Filter' => 'Filter',
|
||||
'Freightage' => 'Freightage',
|
||||
'Group' => 'Group',
|
||||
'ID' => 'ID',
|
||||
'Info' => 'Info',
|
||||
'Invoice' => 'Invoice',
|
||||
'Invoices' => 'Invoices',
|
||||
'IsDefault' => 'Is default?',
|
||||
'Items' => 'Items',
|
||||
'LastContact' => 'Last Contact',
|
||||
'LastOrder' => 'Last Order',
|
||||
'Log' => 'Log',
|
||||
'Logs' => 'Logs',
|
||||
'LostCustomers' => 'Lost customers',
|
||||
'MRR' => 'MRR',
|
||||
'MTDSales' => 'MTD Sales',
|
||||
'Margin' => 'Margin',
|
||||
'Messages' => 'Messages',
|
||||
'Modified' => 'Modified',
|
||||
'Modules' => 'Modules',
|
||||
'Name' => 'Name',
|
||||
'Name1' => 'Name1',
|
||||
'Name2' => 'Name2',
|
||||
'Name3' => 'Name3',
|
||||
'Net' => 'Net',
|
||||
'NewCustomers' => 'New customers',
|
||||
'Notes' => 'Notes',
|
||||
'Number' => 'Number',
|
||||
'Office' => 'Office',
|
||||
'Other' => 'Other',
|
||||
'Payment' => 'Payment',
|
||||
'PaymentTerm' => 'Payment Term',
|
||||
'Permission' => 'Permission',
|
||||
'Phone' => 'Phone',
|
||||
'Postal' => 'Postal',
|
||||
'Price' => 'Price',
|
||||
'Prices' => 'Prices',
|
||||
'Private' => 'Private',
|
||||
'Productgroup' => 'Productgroup',
|
||||
'Profile' => 'Profile',
|
||||
'Profit' => 'Profit',
|
||||
'Purchase' => 'Purchase',
|
||||
'Quantity' => 'Quantity',
|
||||
'RecentInvoices' => 'Recent Invoices',
|
||||
'Region' => 'Region',
|
||||
'Rep' => 'Rep',
|
||||
'Retention' => 'Retention',
|
||||
'Sales' => 'Sales',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segments',
|
||||
'Subtype' => 'Subtype',
|
||||
'Support' => 'Support',
|
||||
'Tags' => 'Tags',
|
||||
'Title' => 'Title',
|
||||
'Total' => 'Total',
|
||||
'TotalPrice' => 'Total price',
|
||||
'Type' => 'Type',
|
||||
'UnitPrice' => 'Unit price',
|
||||
'Value' => 'Value',
|
||||
'Website' => 'Website',
|
||||
'Wire' => 'Wire',
|
||||
'YTDSales' => 'YTD Sales',
|
||||
'Zip' => 'Zip',
|
||||
'IMG_alt_map' => 'Map',
|
||||
]];
|
||||
126
Theme/Backend/Lang/es.lang.php
Executable file
126
Theme/Backend/Lang/es.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Contabilidad',
|
||||
'Addition' => 'Adición',
|
||||
'Address' => 'Habla a',
|
||||
'Addresses' => 'Direcciones',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Gerente de área',
|
||||
'Articlegroup' => 'Grupo articulo',
|
||||
'Articles' => 'Artículos',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Equilibrio',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Prima',
|
||||
'Business' => 'Negocio',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Calendario',
|
||||
'City' => 'Ciudad',
|
||||
'Client' => 'Cliente',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Clientela',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Contacto',
|
||||
'Country' => 'País',
|
||||
'Created' => 'Creado',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Calificación crediticia',
|
||||
'Creditcard' => 'Tarjeta de crédito',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'Fecha',
|
||||
'Default' => 'Defecto',
|
||||
'Delivery' => 'Entrega',
|
||||
'Discount' => 'Descuento',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Descuento%',
|
||||
'Documents' => 'Documentos',
|
||||
'Due' => 'Vencer',
|
||||
'Email' => 'Correo electrónico',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Archivos',
|
||||
'Filter' => 'Filtrar',
|
||||
'Freightage' => 'Flete',
|
||||
'Group' => 'Grupo',
|
||||
'ID' => 'IDENTIFICACIÓN',
|
||||
'Info' => 'Información',
|
||||
'Invoice' => 'Factura',
|
||||
'Invoices' => 'Facturas',
|
||||
'IsDefault' => 'Es por defecto?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Último contacto',
|
||||
'LastOrder' => 'Último pedido',
|
||||
'Log' => 'Tronco',
|
||||
'Logs' => 'Registros',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'Ventas MTD',
|
||||
'Margin' => 'Margen',
|
||||
'Messages' => 'Mensajes',
|
||||
'Modified' => 'Modificado',
|
||||
'Modules' => 'Módulos',
|
||||
'Name' => 'Nombre',
|
||||
'Name1' => 'Nombre1',
|
||||
'Name2' => 'Nombre2',
|
||||
'Name3' => 'Nombre3',
|
||||
'Net' => 'Red',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Notas',
|
||||
'Number' => 'Número',
|
||||
'Office' => 'Oficina',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Pago',
|
||||
'PaymentTerm' => 'Plazo de pago',
|
||||
'Permission' => 'Permiso',
|
||||
'Phone' => 'Teléfono',
|
||||
'Postal' => 'Postal',
|
||||
'Price' => 'Precio',
|
||||
'Prices' => 'Precios',
|
||||
'Private' => 'Privado',
|
||||
'Productgroup' => 'Grupo de productos',
|
||||
'Profile' => 'Perfil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Compra',
|
||||
'Quantity' => 'Cantidad',
|
||||
'RecentInvoices' => 'Facturas recientes',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Ventas',
|
||||
'Segment' => 'Segmento',
|
||||
'Segments' => 'Segmentos',
|
||||
'Subtype' => 'Subtipo',
|
||||
'Support' => 'Apoyo',
|
||||
'Tags' => 'Etiquetas',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Escribe',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Sitio web',
|
||||
'Wire' => 'Cable',
|
||||
'YTDSales' => 'Ytd ventas',
|
||||
'Zip' => 'Cremallera',
|
||||
]];
|
||||
126
Theme/Backend/Lang/fi.lang.php
Executable file
126
Theme/Backend/Lang/fi.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Kirjanpito',
|
||||
'Addition' => 'Lisäys',
|
||||
'Address' => 'Osoite',
|
||||
'Addresses' => 'Osoitteet',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Aluejohtaja',
|
||||
'Articlegroup' => 'ArticleGroup',
|
||||
'Articles' => 'Artikkelit',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Saldo',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Liiketoiminta',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Kalenteri',
|
||||
'City' => 'Kaupunki',
|
||||
'Client' => 'Asiakas',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Asiakkaat',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Ottaa yhteyttä',
|
||||
'Country' => 'Maa',
|
||||
'Created' => 'Luotu',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Luottoluokitus',
|
||||
'Creditcard' => 'Luottokortti',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Dso',
|
||||
'Date' => 'Päivämäärä',
|
||||
'Default' => 'Oletusarvo',
|
||||
'Delivery' => 'Toimitus',
|
||||
'Discount' => 'Alennus',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Alennus %',
|
||||
'Documents' => 'Asiakirjat',
|
||||
'Due' => 'Takia',
|
||||
'Email' => 'Sähköposti',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Faksi',
|
||||
'Files' => 'Tiedostot',
|
||||
'Filter' => 'Suodattaa',
|
||||
'Freightage' => 'Rahti',
|
||||
'Group' => 'Ryhmä',
|
||||
'ID' => 'Id',
|
||||
'Info' => 'Tiedot',
|
||||
'Invoice' => 'Lasku',
|
||||
'Invoices' => 'Laskut',
|
||||
'IsDefault' => 'On oletusarvo?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Viimeinen yhteystieto',
|
||||
'LastOrder' => 'Viimeinen tilaus',
|
||||
'Log' => 'Hirsi',
|
||||
'Logs' => 'Lokit',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'MTD-myynti',
|
||||
'Margin' => 'Marginaali',
|
||||
'Messages' => 'Viestit',
|
||||
'Modified' => 'Muokattu',
|
||||
'Modules' => 'Moduulit',
|
||||
'Name' => 'Nimi',
|
||||
'Name1' => 'Nimi1',
|
||||
'Name2' => 'Nimi2',
|
||||
'Name3' => 'Nimi33',
|
||||
'Net' => 'Netto',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Toteaa',
|
||||
'Number' => 'Määrä',
|
||||
'Office' => 'Toimisto',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Maksu',
|
||||
'PaymentTerm' => 'Maksuehto',
|
||||
'Permission' => 'Lupa',
|
||||
'Phone' => 'Puhelin',
|
||||
'Postal' => 'Posti-',
|
||||
'Price' => 'Hinta',
|
||||
'Prices' => 'Hinnat',
|
||||
'Private' => 'Yksityinen',
|
||||
'Productgroup' => 'Tuoteryhmä',
|
||||
'Profile' => 'Profiili',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Ostaa',
|
||||
'Quantity' => 'Määrä',
|
||||
'RecentInvoices' => 'Viimeaikaiset laskut',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Myynti',
|
||||
'Segment' => 'Segmentti',
|
||||
'Segments' => 'Segmentit',
|
||||
'Subtype' => 'Alatyyppi',
|
||||
'Support' => 'Tuki',
|
||||
'Tags' => 'Tunnisteet',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Tyyppi',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Verkkosivusto',
|
||||
'Wire' => 'Lanka',
|
||||
'YTDSales' => 'YTD-myynti',
|
||||
'Zip' => 'Postinumero',
|
||||
]];
|
||||
126
Theme/Backend/Lang/fr.lang.php
Executable file
126
Theme/Backend/Lang/fr.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Comptabilité',
|
||||
'Addition' => 'Une addition',
|
||||
'Address' => 'Adresse',
|
||||
'Addresses' => 'Adresses',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Chef de secteur',
|
||||
'Articlegroup' => 'Articlegroup',
|
||||
'Articles' => 'Des articles',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Équilibre',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Prime',
|
||||
'Business' => 'Entreprise',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Calendrier',
|
||||
'City' => 'Ville',
|
||||
'Client' => 'Client',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Clients',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Contact',
|
||||
'Country' => 'Pays',
|
||||
'Created' => 'Établi',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Cote de crédit',
|
||||
'Creditcard' => 'Carte de crédit',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Dso',
|
||||
'Date' => 'Date',
|
||||
'Default' => 'Défaut',
|
||||
'Delivery' => 'Livraison',
|
||||
'Discount' => 'Remise',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Remise %',
|
||||
'Documents' => 'Documents',
|
||||
'Due' => 'Dû',
|
||||
'Email' => 'E-mail',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Des dossiers',
|
||||
'Filter' => 'Filtre',
|
||||
'Freightage' => 'Fret',
|
||||
'Group' => 'Grouper',
|
||||
'ID' => 'identifiant',
|
||||
'Info' => 'Info',
|
||||
'Invoice' => 'Facture d\'achat',
|
||||
'Invoices' => 'Factures',
|
||||
'IsDefault' => 'Est par défaut?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Dernier contact',
|
||||
'LastOrder' => 'Dernière commande',
|
||||
'Log' => 'Enregistrer',
|
||||
'Logs' => 'Journaux',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'Ventes MTD',
|
||||
'Margin' => 'Marge',
|
||||
'Messages' => 'messages',
|
||||
'Modified' => 'Modifié',
|
||||
'Modules' => 'Modules',
|
||||
'Name' => 'Nom',
|
||||
'Name1' => 'Nom1',
|
||||
'Name2' => 'Nom2',
|
||||
'Name3' => 'Nom3',
|
||||
'Net' => 'Rapporter',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Remarques',
|
||||
'Number' => 'Nombre',
|
||||
'Office' => 'Bureau',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Paiement',
|
||||
'PaymentTerm' => 'Terme de paiement',
|
||||
'Permission' => 'Autorisation',
|
||||
'Phone' => 'Téléphoner',
|
||||
'Postal' => 'Postal',
|
||||
'Price' => 'Prix',
|
||||
'Prices' => 'Des prix',
|
||||
'Private' => 'Privé',
|
||||
'Productgroup' => 'Groupe de produits',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Acheter',
|
||||
'Quantity' => 'Quantité',
|
||||
'RecentInvoices' => 'Factures récentes',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Ventes',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segments',
|
||||
'Subtype' => 'Sous-type',
|
||||
'Support' => 'Soutien',
|
||||
'Tags' => 'Mots clés',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Taper',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Site Internet',
|
||||
'Wire' => 'Fil',
|
||||
'YTDSales' => 'Ventes YTD',
|
||||
'Zip' => 'Zipper',
|
||||
]];
|
||||
126
Theme/Backend/Lang/hu.lang.php
Executable file
126
Theme/Backend/Lang/hu.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Könyvelés',
|
||||
'Addition' => 'Kiegészítés',
|
||||
'Address' => 'Cím',
|
||||
'Addresses' => 'Címek',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Területi menedzser',
|
||||
'Articlegroup' => 'Gyerekcsoport',
|
||||
'Articles' => 'Árucikkek',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Egyensúly',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bónusz',
|
||||
'Business' => 'Üzleti',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Naptár',
|
||||
'City' => 'Város',
|
||||
'Client' => 'Ügyfél',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Kliensek',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kapcsolatba lépni',
|
||||
'Country' => 'Ország',
|
||||
'Created' => 'Létrehozott',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Hitelminősítő',
|
||||
'Creditcard' => 'Hitelkártya',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'Dátum',
|
||||
'Default' => 'Alapértelmezett',
|
||||
'Delivery' => 'Szállítás',
|
||||
'Discount' => 'Kedvezmény',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Árengedmény%',
|
||||
'Documents' => 'Dokumentumok',
|
||||
'Due' => 'Esedékes',
|
||||
'Email' => 'Email',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Fájlok',
|
||||
'Filter' => 'Szűrő',
|
||||
'Freightage' => 'Fuvardíj',
|
||||
'Group' => 'Csoport',
|
||||
'ID' => 'Idézés',
|
||||
'Info' => 'Információ',
|
||||
'Invoice' => 'Számla',
|
||||
'Invoices' => 'Számlák',
|
||||
'IsDefault' => 'Alapértelmezett?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Utolsó kapcsolat',
|
||||
'LastOrder' => 'Utolsó rendelés',
|
||||
'Log' => 'Napló',
|
||||
'Logs' => 'Naplók',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'MTD értékesítés',
|
||||
'Margin' => 'Árrés',
|
||||
'Messages' => 'üzenetek',
|
||||
'Modified' => 'Módosított',
|
||||
'Modules' => 'Modulok',
|
||||
'Name' => 'Név',
|
||||
'Name1' => 'Név1',
|
||||
'Name2' => 'NAME2',
|
||||
'Name3' => 'Név3',
|
||||
'Net' => 'Háló',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Jegyzetek',
|
||||
'Number' => 'Szám',
|
||||
'Office' => 'Hivatal',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Fizetés',
|
||||
'PaymentTerm' => 'Fizetési határidő',
|
||||
'Permission' => 'Engedély',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Postai',
|
||||
'Price' => 'Ár',
|
||||
'Prices' => 'Árak',
|
||||
'Private' => 'Magán',
|
||||
'Productgroup' => 'Termékcsoport',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Vásárlás',
|
||||
'Quantity' => 'Mennyiség',
|
||||
'RecentInvoices' => 'Legutóbbi számlák',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Értékesítés',
|
||||
'Segment' => 'Szegmens',
|
||||
'Segments' => 'Szegmensek',
|
||||
'Subtype' => 'Altípus',
|
||||
'Support' => 'Támogatás',
|
||||
'Tags' => 'Címkék',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'típus',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Weboldal',
|
||||
'Wire' => 'Huzal',
|
||||
'YTDSales' => 'YTD értékesítés',
|
||||
'Zip' => 'Postai irányítószám',
|
||||
]];
|
||||
126
Theme/Backend/Lang/it.lang.php
Executable file
126
Theme/Backend/Lang/it.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Contabilità',
|
||||
'Addition' => 'Aggiunta',
|
||||
'Address' => 'Indirizzo',
|
||||
'Addresses' => 'Indirizzi',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Area Manager',
|
||||
'Articlegroup' => 'Art.group.',
|
||||
'Articles' => 'Artificio',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Bilancia',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus.',
|
||||
'Business' => 'Affare',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv.',
|
||||
'Calendar' => 'Calendario',
|
||||
'City' => 'Città',
|
||||
'Client' => 'Cliente',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Clienti',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Contatto',
|
||||
'Country' => 'Nazione',
|
||||
'Created' => 'Creato',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Rating del credito',
|
||||
'Creditcard' => 'Carta di credito',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'Data',
|
||||
'Default' => 'Predefinito',
|
||||
'Delivery' => 'Consegna',
|
||||
'Discount' => 'Sconto',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Sconto%',
|
||||
'Documents' => 'Documenti',
|
||||
'Due' => 'Dovuto',
|
||||
'Email' => 'E-mail',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'File',
|
||||
'Filter' => 'Filtro',
|
||||
'Freightage' => 'Liberare',
|
||||
'Group' => 'Gruppo',
|
||||
'ID' => 'ID',
|
||||
'Info' => 'Informazioni',
|
||||
'Invoice' => 'Fattura',
|
||||
'Invoices' => 'Fatture',
|
||||
'IsDefault' => 'È predefinito?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Ultimo contatto',
|
||||
'LastOrder' => 'Ultimo ordine',
|
||||
'Log' => 'Tronco d\'albero',
|
||||
'Logs' => 'Logs.',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr.',
|
||||
'MTDSales' => 'Vendite di mtd.',
|
||||
'Margin' => 'Margine',
|
||||
'Messages' => 'Messaggi',
|
||||
'Modified' => 'Modificati',
|
||||
'Modules' => 'Moduli',
|
||||
'Name' => 'Nome',
|
||||
'Name1' => 'Nome1.',
|
||||
'Name2' => 'Nome2.',
|
||||
'Name3' => 'Nome3.',
|
||||
'Net' => 'Rete',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Appunti',
|
||||
'Number' => 'Numero',
|
||||
'Office' => 'Ufficio',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Pagamento',
|
||||
'PaymentTerm' => 'Termine di pagamento',
|
||||
'Permission' => 'Autorizzazione',
|
||||
'Phone' => 'Telefono',
|
||||
'Postal' => 'postale',
|
||||
'Price' => 'Prezzo',
|
||||
'Prices' => 'Prezzi',
|
||||
'Private' => 'Privato',
|
||||
'Productgroup' => 'Gruppo di prodotti',
|
||||
'Profile' => 'Profilo',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Acquistare',
|
||||
'Quantity' => 'Quantità',
|
||||
'RecentInvoices' => 'Recenti fatture',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Saldi',
|
||||
'Segment' => 'Segmento',
|
||||
'Segments' => 'Segmenti',
|
||||
'Subtype' => 'Sottotipo',
|
||||
'Support' => 'Supporto',
|
||||
'Tags' => 'Tags.',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Tipo',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Sito web',
|
||||
'Wire' => 'Filo',
|
||||
'YTDSales' => 'Vendite di ytd.',
|
||||
'Zip' => 'Cerniera lampo',
|
||||
]];
|
||||
126
Theme/Backend/Lang/ja.lang.php
Executable file
126
Theme/Backend/Lang/ja.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => '会計',
|
||||
'Addition' => '添加',
|
||||
'Address' => '住所',
|
||||
'Addresses' => 'アドレス',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'エリアマネージャー',
|
||||
'Articlegroup' => '記事グループ',
|
||||
'Articles' => 'articles',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'バランス',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'ボーナス',
|
||||
'Business' => '仕事',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'cl cl',
|
||||
'Calendar' => 'カレンダー',
|
||||
'City' => '市',
|
||||
'Client' => 'クライアント',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'クライアント',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'コンタクト',
|
||||
'Country' => '国',
|
||||
'Created' => '作成した',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => '信用格付け',
|
||||
'Creditcard' => 'クレジットカード',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => '日にち',
|
||||
'Default' => 'ディフォルト',
|
||||
'Delivery' => '配達',
|
||||
'Discount' => '割引',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => '割引 %',
|
||||
'Documents' => '文書',
|
||||
'Due' => '期限',
|
||||
'Email' => 'Eメール',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'ファックス',
|
||||
'Files' => 'ファイル',
|
||||
'Filter' => 'フィルター',
|
||||
'Freightage' => 'fre fre',
|
||||
'Group' => 'グループ',
|
||||
'ID' => 'id',
|
||||
'Info' => '情報',
|
||||
'Invoice' => '請求書',
|
||||
'Invoices' => '請求書',
|
||||
'IsDefault' => 'デフォルトですか?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => '最後の連絡先',
|
||||
'LastOrder' => '最後の順序',
|
||||
'Log' => 'ログ',
|
||||
'Logs' => 'ログ',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'MTDセールス',
|
||||
'Margin' => 'マージン',
|
||||
'Messages' => 'メッセージ',
|
||||
'Modified' => '修正された',
|
||||
'Modules' => 'モジュール',
|
||||
'Name' => '名前',
|
||||
'Name1' => '名前1',
|
||||
'Name2' => '名前2',
|
||||
'Name3' => '名前3',
|
||||
'Net' => 'ネット',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'ノート',
|
||||
'Number' => '番号',
|
||||
'Office' => 'オフィス',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => '支払い',
|
||||
'PaymentTerm' => '支払条件',
|
||||
'Permission' => '許可',
|
||||
'Phone' => '電話',
|
||||
'Postal' => '郵便',
|
||||
'Price' => '価格',
|
||||
'Prices' => '価格',
|
||||
'Private' => '民間',
|
||||
'Productgroup' => '製品グループ',
|
||||
'Profile' => 'プロフィール',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => '購入',
|
||||
'Quantity' => '量',
|
||||
'RecentInvoices' => '最近の請求書',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => '売り返り',
|
||||
'Segment' => 'セグメント',
|
||||
'Segments' => 'セグメント',
|
||||
'Subtype' => 'サブタイプ',
|
||||
'Support' => 'サポート',
|
||||
'Tags' => 'タグ',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'タイプ',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Webサイト',
|
||||
'Wire' => 'ワイヤー',
|
||||
'YTDSales' => 'ytd売上高',
|
||||
'Zip' => 'ジップ',
|
||||
]];
|
||||
126
Theme/Backend/Lang/ko.lang.php
Executable file
126
Theme/Backend/Lang/ko.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => '회계',
|
||||
'Addition' => '덧셈',
|
||||
'Address' => '주소',
|
||||
'Addresses' => '구애',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => '구역 책임자',
|
||||
'Articlegroup' => '기사 그룹',
|
||||
'Articles' => '조항',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => '균형',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => '보너스',
|
||||
'Business' => '사업',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV.',
|
||||
'Calendar' => '달력',
|
||||
'City' => '도시',
|
||||
'Client' => '고객',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => '클라이언트',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => '연락하다',
|
||||
'Country' => '국가',
|
||||
'Created' => '만들어진',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => '신용 등급',
|
||||
'Creditcard' => '신용 카드',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => '날짜',
|
||||
'Default' => '기본',
|
||||
'Delivery' => '배달',
|
||||
'Discount' => '할인',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => '할인 %',
|
||||
'Documents' => '서류',
|
||||
'Due' => '로 인한',
|
||||
'Email' => '이메일',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => '팩스',
|
||||
'Files' => '파일',
|
||||
'Filter' => '필터',
|
||||
'Freightage' => '화물',
|
||||
'Group' => '그룹',
|
||||
'ID' => 'ID',
|
||||
'Info' => '정보',
|
||||
'Invoice' => '송장',
|
||||
'Invoices' => '송장',
|
||||
'IsDefault' => '기본값은 무엇입니까?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => '마지막 연락처',
|
||||
'LastOrder' => '마지막 주문',
|
||||
'Log' => '통나무',
|
||||
'Logs' => '로그인',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => '부서',
|
||||
'MTDSales' => 'MTD 판매',
|
||||
'Margin' => '여유',
|
||||
'Messages' => '메시지',
|
||||
'Modified' => '수정',
|
||||
'Modules' => '모듈',
|
||||
'Name' => '이름',
|
||||
'Name1' => 'name1.',
|
||||
'Name2' => 'name2.',
|
||||
'Name3' => 'Name3.',
|
||||
'Net' => '그물',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => '노트',
|
||||
'Number' => '숫자',
|
||||
'Office' => '사무실',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => '지불',
|
||||
'PaymentTerm' => '지불 기간',
|
||||
'Permission' => '허가',
|
||||
'Phone' => '핸드폰',
|
||||
'Postal' => '우편 엽서',
|
||||
'Price' => '가격',
|
||||
'Prices' => '물가',
|
||||
'Private' => '사적인',
|
||||
'Productgroup' => '제품 그룹',
|
||||
'Profile' => '프로필',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => '구입',
|
||||
'Quantity' => '수량',
|
||||
'RecentInvoices' => '최근 송장',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => '매상',
|
||||
'Segment' => '분절',
|
||||
'Segments' => '세그먼트',
|
||||
'Subtype' => '하위 유형',
|
||||
'Support' => '지원하다',
|
||||
'Tags' => '태그',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => '유형',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => '웹 사이트',
|
||||
'Wire' => '철사',
|
||||
'YTDSales' => 'YTD 판매',
|
||||
'Zip' => '지퍼',
|
||||
]];
|
||||
126
Theme/Backend/Lang/no.lang.php
Executable file
126
Theme/Backend/Lang/no.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Regnskap',
|
||||
'Addition' => 'Addisjon',
|
||||
'Address' => 'Adresse',
|
||||
'Addresses' => 'Adresser',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Områdeansvarlig',
|
||||
'Articlegroup' => 'Articregroup.',
|
||||
'Articles' => 'Artikler',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Balansere',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Virksomhet',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV.',
|
||||
'Calendar' => 'Kalender',
|
||||
'City' => 'By',
|
||||
'Client' => 'Klient',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Klienter',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Land',
|
||||
'Created' => 'Opprettet',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Kredittvurdering',
|
||||
'Creditcard' => 'Kredittkort',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'Dato',
|
||||
'Default' => 'Misligholde',
|
||||
'Delivery' => 'Leveranse',
|
||||
'Discount' => 'Rabatt',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Rabatt%',
|
||||
'Documents' => 'Dokumenter',
|
||||
'Due' => 'På grunn av det',
|
||||
'Email' => 'E-post',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Faks',
|
||||
'Files' => 'Filer',
|
||||
'Filter' => 'Filter',
|
||||
'Freightage' => 'Frakt',
|
||||
'Group' => 'Gruppe',
|
||||
'ID' => 'Id.',
|
||||
'Info' => 'Info.',
|
||||
'Invoice' => 'Faktura',
|
||||
'Invoices' => 'Fakturaer',
|
||||
'IsDefault' => 'Er standard?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Siste kontakt',
|
||||
'LastOrder' => 'Siste bestilling',
|
||||
'Log' => 'Logg',
|
||||
'Logs' => 'Tømmerstokker',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'MTD-salg',
|
||||
'Margin' => 'Margin',
|
||||
'Messages' => 'Meldinger',
|
||||
'Modified' => 'Endret',
|
||||
'Modules' => 'Moduler',
|
||||
'Name' => 'Navn',
|
||||
'Name1' => 'Navn1.',
|
||||
'Name2' => 'NAME2.',
|
||||
'Name3' => 'Navn3.',
|
||||
'Net' => 'Nett',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Notater',
|
||||
'Number' => 'Nummer',
|
||||
'Office' => 'Kontor',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'innbetaling',
|
||||
'PaymentTerm' => 'Betalingsperiode',
|
||||
'Permission' => 'Tillatelse',
|
||||
'Phone' => 'Telefonen',
|
||||
'Postal' => 'Postal.',
|
||||
'Price' => 'Pris',
|
||||
'Prices' => 'Prisene',
|
||||
'Private' => 'Privat',
|
||||
'Productgroup' => 'Produktgruppe',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Kjøp',
|
||||
'Quantity' => 'Mengde',
|
||||
'RecentInvoices' => 'Nylige fakturaer',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Salg',
|
||||
'Segment' => 'Segmentet',
|
||||
'Segments' => 'Segmenter',
|
||||
'Subtype' => 'Subtype.',
|
||||
'Support' => 'Brukerstøtte',
|
||||
'Tags' => 'Tags.',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Type',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Nettside',
|
||||
'Wire' => 'Metalltråd',
|
||||
'YTDSales' => 'YTD-salg',
|
||||
'Zip' => 'Glidelås',
|
||||
]];
|
||||
126
Theme/Backend/Lang/pl.lang.php
Executable file
126
Theme/Backend/Lang/pl.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Rachunkowość',
|
||||
'Addition' => 'Dodatek',
|
||||
'Address' => 'Adres',
|
||||
'Addresses' => 'Adresy',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Dyrektor Regionalny',
|
||||
'Articlegroup' => 'Artykuł',
|
||||
'Articles' => 'Artykuły',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Balansować',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Premia',
|
||||
'Business' => 'Biznes',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV.',
|
||||
'Calendar' => 'Kalendarz',
|
||||
'City' => 'Miasto',
|
||||
'Client' => 'Klient',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Klienci.',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Kraj',
|
||||
'Created' => 'Utworzony',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Rating kredytowy',
|
||||
'Creditcard' => 'Karta kredytowa',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO.',
|
||||
'Date' => 'Data',
|
||||
'Default' => 'Domyślna',
|
||||
'Delivery' => 'Dostawa',
|
||||
'Discount' => 'Zniżka',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Zniżka %',
|
||||
'Documents' => 'Dokumenty',
|
||||
'Due' => 'Z powodu',
|
||||
'Email' => 'E-mail',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Faks',
|
||||
'Files' => 'Pliki',
|
||||
'Filter' => 'Filtr',
|
||||
'Freightage' => 'Frachtowanie',
|
||||
'Group' => 'Grupa',
|
||||
'ID' => 'ID',
|
||||
'Info' => 'Info',
|
||||
'Invoice' => 'Faktura',
|
||||
'Invoices' => 'Faktury',
|
||||
'IsDefault' => 'Jest domyślnie?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Ostatni kontakt',
|
||||
'LastOrder' => 'Ostatnie zamówienie',
|
||||
'Log' => 'Dziennik',
|
||||
'Logs' => 'Kłody',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'Sprzedaż MTD.',
|
||||
'Margin' => 'Margines',
|
||||
'Messages' => 'Wiadomości',
|
||||
'Modified' => 'Modyfikowany',
|
||||
'Modules' => 'Moduły',
|
||||
'Name' => 'Nazwa',
|
||||
'Name1' => 'Nazwa1.',
|
||||
'Name2' => 'Nazwa2.',
|
||||
'Name3' => 'Nazwa3.',
|
||||
'Net' => 'Internet',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Notatki',
|
||||
'Number' => 'Numer',
|
||||
'Office' => 'Gabinet',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Zapłata',
|
||||
'PaymentTerm' => 'Termin płatności',
|
||||
'Permission' => 'Pozwolenie',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Pocztowy',
|
||||
'Price' => 'Cena £',
|
||||
'Prices' => 'Ceny',
|
||||
'Private' => 'Prywatny',
|
||||
'Productgroup' => 'Grupa produktów',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Zakup',
|
||||
'Quantity' => 'Ilość',
|
||||
'RecentInvoices' => 'Ostatnie faktury.',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Obroty',
|
||||
'Segment' => 'Człon',
|
||||
'Segments' => 'Segmenty',
|
||||
'Subtype' => 'Podtyp',
|
||||
'Support' => 'Wsparcie',
|
||||
'Tags' => 'Tagi.',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Rodzaj',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Stronie internetowej',
|
||||
'Wire' => 'Drut',
|
||||
'YTDSales' => 'Sprzedaż Ytd.',
|
||||
'Zip' => 'Zamek błyskawiczny',
|
||||
]];
|
||||
126
Theme/Backend/Lang/pt.lang.php
Executable file
126
Theme/Backend/Lang/pt.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Contabilidade',
|
||||
'Addition' => 'Adição',
|
||||
'Address' => 'Endereço',
|
||||
'Addresses' => 'Endereços',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Gerente da área',
|
||||
'Articlegroup' => 'ArticleGroup',
|
||||
'Articles' => 'Artigos',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Equilíbrio',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bônus',
|
||||
'Business' => 'O negócio',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv.',
|
||||
'Calendar' => 'Calendário',
|
||||
'City' => 'Cidade',
|
||||
'Client' => 'Cliente',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Clientes',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Contato',
|
||||
'Country' => 'País',
|
||||
'Created' => 'Criado',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Rating de crédito',
|
||||
'Creditcard' => 'Cartão de crédito',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Dso.',
|
||||
'Date' => 'Encontro',
|
||||
'Default' => 'Padrão',
|
||||
'Delivery' => 'Entrega',
|
||||
'Discount' => 'Desconto',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Desconto%',
|
||||
'Documents' => 'Documentos',
|
||||
'Due' => 'Vencimento',
|
||||
'Email' => 'E-mail',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'arquivos',
|
||||
'Filter' => 'Filtro',
|
||||
'Freightage' => 'Freightage',
|
||||
'Group' => 'Grupo',
|
||||
'ID' => 'identificação',
|
||||
'Info' => 'Info',
|
||||
'Invoice' => 'Fatura',
|
||||
'Invoices' => 'Faturas',
|
||||
'IsDefault' => 'É padrão?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Último contato.',
|
||||
'LastOrder' => 'Último pedido',
|
||||
'Log' => 'Registro',
|
||||
'Logs' => 'Histórico',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'Sales Mtd.',
|
||||
'Margin' => 'Margem',
|
||||
'Messages' => 'Mensagens',
|
||||
'Modified' => 'Modificado',
|
||||
'Modules' => 'Módulos.',
|
||||
'Name' => 'Nome',
|
||||
'Name1' => 'Nome1.',
|
||||
'Name2' => 'Nome2.',
|
||||
'Name3' => 'Nome3.',
|
||||
'Net' => 'Internet',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Notas',
|
||||
'Number' => 'Número',
|
||||
'Office' => 'Escritório',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Pagamento',
|
||||
'PaymentTerm' => 'Termo de pagamento',
|
||||
'Permission' => 'Permissão',
|
||||
'Phone' => 'Telefone',
|
||||
'Postal' => 'Postal',
|
||||
'Price' => 'Preço',
|
||||
'Prices' => 'Preços',
|
||||
'Private' => 'Privado',
|
||||
'Productgroup' => 'Grupo de produtos',
|
||||
'Profile' => 'Perfil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Comprar',
|
||||
'Quantity' => 'Quantidade',
|
||||
'RecentInvoices' => 'Faturas recentes',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Vendas',
|
||||
'Segment' => 'Segmento',
|
||||
'Segments' => 'Segmentos',
|
||||
'Subtype' => 'Subtipo',
|
||||
'Support' => 'Apoio, suporte',
|
||||
'Tags' => 'Tag',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Modelo',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Local na rede Internet',
|
||||
'Wire' => 'Fio',
|
||||
'YTDSales' => 'Vendas do ano',
|
||||
'Zip' => 'Fecho eclair',
|
||||
]];
|
||||
126
Theme/Backend/Lang/ru.lang.php
Executable file
126
Theme/Backend/Lang/ru.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Учет',
|
||||
'Addition' => 'Добавление',
|
||||
'Address' => 'Адрес',
|
||||
'Addresses' => 'Адреса',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Региональный менеджер',
|
||||
'Articlegroup' => 'Staregroup.',
|
||||
'Articles' => 'Статьи',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Остаток средств',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Бонус',
|
||||
'Business' => 'Бизнес',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Каблук',
|
||||
'Calendar' => 'Календарь',
|
||||
'City' => 'Город',
|
||||
'Client' => 'Клиент',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Клиенты',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Контакт',
|
||||
'Country' => 'Страна',
|
||||
'Created' => 'Созданный',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Кредитный рейтинг',
|
||||
'Creditcard' => 'Кредитная карта',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'Дата',
|
||||
'Default' => 'Дефолт',
|
||||
'Delivery' => 'Доставка',
|
||||
'Discount' => 'Скидка',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Скидка %',
|
||||
'Documents' => 'Документы',
|
||||
'Due' => 'Должное',
|
||||
'Email' => 'Электронное письмо',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Факс',
|
||||
'Files' => 'Файлы',
|
||||
'Filter' => 'Фильтр',
|
||||
'Freightage' => 'Фрахты',
|
||||
'Group' => 'Группа',
|
||||
'ID' => 'Я БЫ',
|
||||
'Info' => 'Информация',
|
||||
'Invoice' => 'Счет',
|
||||
'Invoices' => 'Счета',
|
||||
'IsDefault' => 'По умолчанию?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Последний контакт',
|
||||
'LastOrder' => 'Последний заказ',
|
||||
'Log' => 'Бревно',
|
||||
'Logs' => 'Журналы',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR',
|
||||
'MTDSales' => 'MTD Sales.',
|
||||
'Margin' => 'Допуск',
|
||||
'Messages' => 'Сообщения',
|
||||
'Modified' => 'Модифицированный',
|
||||
'Modules' => 'Модули',
|
||||
'Name' => 'Имя',
|
||||
'Name1' => 'Имя1.',
|
||||
'Name2' => 'Имя2.',
|
||||
'Name3' => 'Имя3.',
|
||||
'Net' => 'Сеть',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Примечания',
|
||||
'Number' => 'Число',
|
||||
'Office' => 'Офис',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Оплата',
|
||||
'PaymentTerm' => 'Условия оплаты',
|
||||
'Permission' => 'Разрешение',
|
||||
'Phone' => 'Телефон',
|
||||
'Postal' => 'Почтовый',
|
||||
'Price' => 'Цена',
|
||||
'Prices' => 'Цены',
|
||||
'Private' => 'Частный',
|
||||
'Productgroup' => 'Группа товаров',
|
||||
'Profile' => 'Профиль',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Покупка',
|
||||
'Quantity' => 'Количество',
|
||||
'RecentInvoices' => 'Недавние счета',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Продажи',
|
||||
'Segment' => 'Сегмент',
|
||||
'Segments' => 'Сегменты',
|
||||
'Subtype' => 'Подтип',
|
||||
'Support' => 'Служба поддержки',
|
||||
'Tags' => 'Теги',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Тип',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Веб-сайт',
|
||||
'Wire' => 'Проволока',
|
||||
'YTDSales' => 'YTD Sales.',
|
||||
'Zip' => 'Zip.',
|
||||
]];
|
||||
126
Theme/Backend/Lang/sv.lang.php
Executable file
126
Theme/Backend/Lang/sv.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Bokföring',
|
||||
'Addition' => 'Tillägg',
|
||||
'Address' => 'Adress',
|
||||
'Addresses' => 'Adresser',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Områdeschef',
|
||||
'Articlegroup' => 'Artikelgrupp',
|
||||
'Articles' => 'Artiklar',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Balans',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'Företag',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Kalender',
|
||||
'City' => 'Stad',
|
||||
'Client' => 'Klient',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Klienter',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Kontakt',
|
||||
'Country' => 'Land',
|
||||
'Created' => 'Skapad',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Kreditvärdighet',
|
||||
'Creditcard' => 'Kreditkort',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Do',
|
||||
'Date' => 'Datum',
|
||||
'Default' => 'Standard',
|
||||
'Delivery' => 'Leverans',
|
||||
'Discount' => 'Rabatt',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Rabatt%',
|
||||
'Documents' => 'Dokument',
|
||||
'Due' => 'På grund av',
|
||||
'Email' => 'E-post',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Fax',
|
||||
'Files' => 'Filer',
|
||||
'Filter' => 'Filtrera',
|
||||
'Freightage' => 'Frakt',
|
||||
'Group' => 'Grupp',
|
||||
'ID' => 'Id',
|
||||
'Info' => 'Info',
|
||||
'Invoice' => 'Faktura',
|
||||
'Invoices' => 'Fakturor',
|
||||
'IsDefault' => 'Är standard?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Senaste kontakten',
|
||||
'LastOrder' => 'Sista beställningen',
|
||||
'Log' => 'Logga',
|
||||
'Logs' => 'Loggar',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'MTD-försäljning',
|
||||
'Margin' => 'Marginal',
|
||||
'Messages' => 'Budskap',
|
||||
'Modified' => 'Ändrad',
|
||||
'Modules' => 'Moduler',
|
||||
'Name' => 'namn',
|
||||
'Name1' => 'Namn1',
|
||||
'Name2' => 'Namn2',
|
||||
'Name3' => 'Namn3',
|
||||
'Net' => 'Netto',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Anteckningar',
|
||||
'Number' => 'siffra',
|
||||
'Office' => 'Kontor',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Betalning',
|
||||
'PaymentTerm' => 'Betalningsvillkor',
|
||||
'Permission' => 'Tillstånd',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Post',
|
||||
'Price' => 'Pris',
|
||||
'Prices' => 'Priser',
|
||||
'Private' => 'Privat',
|
||||
'Productgroup' => 'Produktgrupp',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Inköp',
|
||||
'Quantity' => 'Kvantitet',
|
||||
'RecentInvoices' => 'Nya fakturor',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Försäljning',
|
||||
'Segment' => 'Segmentet',
|
||||
'Segments' => 'Segment',
|
||||
'Subtype' => 'Subtyp',
|
||||
'Support' => 'Stöd',
|
||||
'Tags' => 'Tagg',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Typ',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Hemsida',
|
||||
'Wire' => 'Tråd',
|
||||
'YTDSales' => 'YTD-försäljning',
|
||||
'Zip' => 'Blixtlås',
|
||||
]];
|
||||
126
Theme/Backend/Lang/th.lang.php
Executable file
126
Theme/Backend/Lang/th.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'การบัญชี',
|
||||
'Addition' => 'ส่วนที่เพิ่มเข้าไป',
|
||||
'Address' => 'ที่อยู่',
|
||||
'Addresses' => 'ที่อยู่',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'ผู้จัดการพื้นที่',
|
||||
'Articlegroup' => 'ArticleGroup',
|
||||
'Articles' => 'บทความ',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'สมดุล',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'โบนัส',
|
||||
'Business' => 'ธุรกิจ',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'clv',
|
||||
'Calendar' => 'ปฏิทิน',
|
||||
'City' => 'เมือง',
|
||||
'Client' => 'ลูกค้า',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'ลูกค้า',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'ติดต่อ',
|
||||
'Country' => 'ประเทศ',
|
||||
'Created' => 'สร้าง',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'การจัดอันดับเครดิต',
|
||||
'Creditcard' => 'บัตรเครดิต',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => 'วันที่',
|
||||
'Default' => 'ค่าเริ่มต้น',
|
||||
'Delivery' => 'จัดส่ง',
|
||||
'Discount' => 'การลดราคา',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'การลดราคา %',
|
||||
'Documents' => 'เอกสาร',
|
||||
'Due' => 'เนื่องจาก',
|
||||
'Email' => 'อีเมล',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'แฟกซ์',
|
||||
'Files' => 'ไฟล์',
|
||||
'Filter' => 'กรอง',
|
||||
'Freightage' => 'การขนส่งสินค้า',
|
||||
'Group' => 'กลุ่ม',
|
||||
'ID' => 'id',
|
||||
'Info' => 'ข้อมูล',
|
||||
'Invoice' => 'ใบแจ้งหนี้',
|
||||
'Invoices' => 'ใบแจ้งหนี้',
|
||||
'IsDefault' => 'เป็นค่าเริ่มต้น?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'ติดต่อล่าสุด',
|
||||
'LastOrder' => 'คำสั่งสุดท้าย',
|
||||
'Log' => 'บันทึก',
|
||||
'Logs' => 'การบันทึก',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR',
|
||||
'MTDSales' => 'ขาย MTD',
|
||||
'Margin' => 'ระยะขอบ',
|
||||
'Messages' => 'ข้อความ',
|
||||
'Modified' => 'ที่ได้รับการแก้ไข',
|
||||
'Modules' => 'โมดูล',
|
||||
'Name' => 'ชื่อ',
|
||||
'Name1' => 'ชื่อ 1',
|
||||
'Name2' => 'ชื่อ 2',
|
||||
'Name3' => 'ชื่อ 3',
|
||||
'Net' => 'สุทธิ',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'หมายเหตุ',
|
||||
'Number' => 'ตัวเลข',
|
||||
'Office' => 'สำนักงาน',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'การชำระเงิน',
|
||||
'PaymentTerm' => 'เงื่อนไขการชำระเงิน',
|
||||
'Permission' => 'การอนุญาต',
|
||||
'Phone' => 'โทรศัพท์',
|
||||
'Postal' => 'เกี่ยวกับการไปรษณีย์',
|
||||
'Price' => 'ราคา',
|
||||
'Prices' => 'ราคา',
|
||||
'Private' => 'ส่วนตัว',
|
||||
'Productgroup' => 'กลุ่มผลิตภัณฑ์',
|
||||
'Profile' => 'ประวัติโดยย่อ',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'ซื้อ',
|
||||
'Quantity' => 'ปริมาณ',
|
||||
'RecentInvoices' => 'ใบแจ้งหนี้ล่าสุด',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'ฝ่ายขาย',
|
||||
'Segment' => 'ส่วน',
|
||||
'Segments' => 'กลุ่ม',
|
||||
'Subtype' => 'ประเภทย่อย',
|
||||
'Support' => 'สนับสนุน',
|
||||
'Tags' => 'แท็ก',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'พิมพ์',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'เว็บไซต์',
|
||||
'Wire' => 'ลวด',
|
||||
'YTDSales' => 'ขาย YTD',
|
||||
'Zip' => 'ซิป',
|
||||
]];
|
||||
126
Theme/Backend/Lang/tr.lang.php
Executable file
126
Theme/Backend/Lang/tr.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Muhasebe',
|
||||
'Addition' => 'İlave',
|
||||
'Address' => 'Adres',
|
||||
'Addresses' => 'Adresler',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Alan müdürü',
|
||||
'Articlegroup' => 'Makale grubu',
|
||||
'Articles' => 'Nesne',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Denge',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Bonus',
|
||||
'Business' => 'İşletme',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Clv',
|
||||
'Calendar' => 'Takvim',
|
||||
'City' => 'Şehir',
|
||||
'Client' => 'Müşteri',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Müşteriler',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Temas',
|
||||
'Country' => 'Ülke',
|
||||
'Created' => 'Yaratılmış',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Kredi notu',
|
||||
'Creditcard' => 'Kredi kartı',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Dso',
|
||||
'Date' => 'Tarih',
|
||||
'Default' => 'Varsayılan',
|
||||
'Delivery' => 'Teslimat',
|
||||
'Discount' => 'İndirim',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'İndirim %',
|
||||
'Documents' => 'Belgeler',
|
||||
'Due' => 'Vadesi dolmuş',
|
||||
'Email' => 'E-posta',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Faks',
|
||||
'Files' => 'Dosyalar',
|
||||
'Filter' => 'Filtrelemek',
|
||||
'Freightage' => 'Yük',
|
||||
'Group' => 'Grup',
|
||||
'ID' => 'İD',
|
||||
'Info' => 'Bilgi',
|
||||
'Invoice' => 'Fatura',
|
||||
'Invoices' => 'Faturalar',
|
||||
'IsDefault' => 'Varsayılan mı?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Son iletişim',
|
||||
'LastOrder' => 'Son sipariş',
|
||||
'Log' => 'Kayıt',
|
||||
'Logs' => 'Kütükler',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Mrr',
|
||||
'MTDSales' => 'Mtd satışları',
|
||||
'Margin' => 'Marj',
|
||||
'Messages' => 'Mesaj',
|
||||
'Modified' => 'Değiştirilmiş',
|
||||
'Modules' => 'Modüller',
|
||||
'Name' => 'İsim',
|
||||
'Name1' => 'İsim1',
|
||||
'Name2' => 'İsim2',
|
||||
'Name3' => 'İsim3',
|
||||
'Net' => 'Ağ',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Notalar',
|
||||
'Number' => 'Numara',
|
||||
'Office' => 'Ofis',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Ödeme',
|
||||
'PaymentTerm' => 'Ödeme koşulu',
|
||||
'Permission' => 'İzin',
|
||||
'Phone' => 'Telefon',
|
||||
'Postal' => 'Posta',
|
||||
'Price' => 'Fiyat',
|
||||
'Prices' => 'Fiyat:% s',
|
||||
'Private' => 'Özel',
|
||||
'Productgroup' => 'Ürün grubu',
|
||||
'Profile' => 'Profil',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Satın alma',
|
||||
'Quantity' => 'Miktar',
|
||||
'RecentInvoices' => 'Son Faturalar',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Satış',
|
||||
'Segment' => 'Segment',
|
||||
'Segments' => 'Segmentler',
|
||||
'Subtype' => 'Alt tip',
|
||||
'Support' => 'Destek',
|
||||
'Tags' => 'Etiketler',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Tip',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'İnternet sitesi',
|
||||
'Wire' => 'Tel',
|
||||
'YTDSales' => 'YTD satışları',
|
||||
'Zip' => 'Zip',
|
||||
]];
|
||||
126
Theme/Backend/Lang/uk.lang.php
Executable file
126
Theme/Backend/Lang/uk.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => 'Бухгалтерський облік',
|
||||
'Addition' => 'Додавання',
|
||||
'Address' => 'Адреса',
|
||||
'Addresses' => 'Адреси',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => 'Менеджер області',
|
||||
'Articlegroup' => 'Статтюгрупи',
|
||||
'Articles' => 'Статті',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => 'Баланс',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => 'Бонус',
|
||||
'Business' => 'Бізнес',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'Клоп',
|
||||
'Calendar' => 'Календар',
|
||||
'City' => 'Місто',
|
||||
'Client' => 'Клієнт',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => 'Клієнти',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => 'Контакт',
|
||||
'Country' => 'Країна',
|
||||
'Created' => 'Створений',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => 'Кредитний рейтинг',
|
||||
'Creditcard' => 'Кредитна карта',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'Дз',
|
||||
'Date' => 'Дата',
|
||||
'Default' => 'За замовчуванням',
|
||||
'Delivery' => 'Доставка',
|
||||
'Discount' => 'Знижка',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => 'Знижка%',
|
||||
'Documents' => 'Документи',
|
||||
'Due' => 'Заборгованість',
|
||||
'Email' => 'Електронна пошта',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => 'Факс',
|
||||
'Files' => 'Файли',
|
||||
'Filter' => 'Фільтрувати',
|
||||
'Freightage' => 'Фрахт',
|
||||
'Group' => 'Група',
|
||||
'ID' => 'Ідентифікатор',
|
||||
'Info' => 'Інформація',
|
||||
'Invoice' => 'Рахунок-фактура',
|
||||
'Invoices' => 'Рахунки-фактури',
|
||||
'IsDefault' => 'Чи є за замовчуванням?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => 'Останній контакт',
|
||||
'LastOrder' => 'Остання замовлення',
|
||||
'Log' => 'Журнал',
|
||||
'Logs' => 'Журнали',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'Пан',
|
||||
'MTDSales' => 'Продажі MTD',
|
||||
'Margin' => 'Маржа',
|
||||
'Messages' => 'Повідомлень',
|
||||
'Modified' => 'Модифікований',
|
||||
'Modules' => 'Модулі',
|
||||
'Name' => 'Назва',
|
||||
'Name1' => 'Name1',
|
||||
'Name2' => 'Name2',
|
||||
'Name3' => 'Name3',
|
||||
'Net' => 'Сітка',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => 'Ноти',
|
||||
'Number' => 'Число',
|
||||
'Office' => 'Офіс',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => 'Платіж',
|
||||
'PaymentTerm' => 'Термін оплати',
|
||||
'Permission' => 'Дозвіл',
|
||||
'Phone' => 'Телефон',
|
||||
'Postal' => 'Поштовий',
|
||||
'Price' => 'Ціна',
|
||||
'Prices' => 'Ціни',
|
||||
'Private' => 'Приватний',
|
||||
'Productgroup' => 'Група продуктів',
|
||||
'Profile' => 'Профіль',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => 'Придбання',
|
||||
'Quantity' => 'Кількість',
|
||||
'RecentInvoices' => 'Останні рахунки-фактури',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => 'Продаж',
|
||||
'Segment' => 'Сегмент',
|
||||
'Segments' => 'Сегменти',
|
||||
'Subtype' => 'Підтип',
|
||||
'Support' => 'Підтримка',
|
||||
'Tags' => 'Теги',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => 'Тип',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => 'Веб-сайт',
|
||||
'Wire' => 'Дріт',
|
||||
'YTDSales' => 'Ytd продажі',
|
||||
'Zip' => 'Блиск',
|
||||
]];
|
||||
126
Theme/Backend/Lang/zh.lang.php
Executable file
126
Theme/Backend/Lang/zh.lang.php
Executable file
|
|
@ -0,0 +1,126 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\Localization
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
return ['ClientManagement' => [
|
||||
'Accounting' => '会计',
|
||||
'Addition' => '添加',
|
||||
'Address' => '地址',
|
||||
'Addresses' => '地址',
|
||||
'Africa' => '#VALUE!',
|
||||
'AllCustomers' => '#VALUE!',
|
||||
'America' => '#VALUE!',
|
||||
'Analyse' => '#VALUE!',
|
||||
'AreaManager' => '区域经理',
|
||||
'Articlegroup' => '商品组',
|
||||
'Articles' => '文章',
|
||||
'Asia' => '#VALUE!',
|
||||
'Attribute' => '#VALUE!',
|
||||
'Attributes' => '#VALUE!',
|
||||
'Balance' => '平衡',
|
||||
'BaseTime' => '#VALUE!',
|
||||
'Bills' => '#VALUE!',
|
||||
'Bonus' => '奖金',
|
||||
'Business' => '商业',
|
||||
'CIS' => '#VALUE!',
|
||||
'CLV' => 'CLV.',
|
||||
'Calendar' => '日历',
|
||||
'City' => '城市',
|
||||
'Client' => '客户',
|
||||
'ClientID' => '#VALUE!',
|
||||
'Clients' => '客户',
|
||||
'ComparisonTime' => '#VALUE!',
|
||||
'Contact' => '接触',
|
||||
'Country' => '国家',
|
||||
'Created' => '创造了',
|
||||
'CreatedAt' => '#VALUE!',
|
||||
'CreditRating' => '信用评级',
|
||||
'Creditcard' => '信用卡',
|
||||
'Customers' => '#VALUE!',
|
||||
'DSO' => 'DSO',
|
||||
'Date' => '日期',
|
||||
'Default' => '默认',
|
||||
'Delivery' => '交货',
|
||||
'Discount' => '折扣',
|
||||
'DiscountBonus' => '#VALUE!',
|
||||
'DiscountP' => '折扣 %',
|
||||
'Documents' => '文件',
|
||||
'Due' => '到期的',
|
||||
'Email' => '电子邮件',
|
||||
'Europe' => '#VALUE!',
|
||||
'Fax' => '传真',
|
||||
'Files' => '文件',
|
||||
'Filter' => '筛选',
|
||||
'Freightage' => 'FRIGUTAGE.',
|
||||
'Group' => '团体',
|
||||
'ID' => 'ID',
|
||||
'Info' => '信息',
|
||||
'Invoice' => '发票',
|
||||
'Invoices' => '发票',
|
||||
'IsDefault' => '默认为默认情况下?',
|
||||
'Items' => '#VALUE!',
|
||||
'LastContact' => '最后联系人',
|
||||
'LastOrder' => '最后的订单',
|
||||
'Log' => '日志',
|
||||
'Logs' => '日志',
|
||||
'LostCustomers' => '#VALUE!',
|
||||
'MRR' => 'MRR.',
|
||||
'MTDSales' => 'MTD销售',
|
||||
'Margin' => '利润',
|
||||
'Messages' => '消息',
|
||||
'Modified' => '修改的',
|
||||
'Modules' => '模块',
|
||||
'Name' => '名称',
|
||||
'Name1' => '名称1',
|
||||
'Name2' => '名称2.',
|
||||
'Name3' => '名称3.',
|
||||
'Net' => '网',
|
||||
'NewCustomers' => '#VALUE!',
|
||||
'Notes' => '笔记',
|
||||
'Number' => '数字',
|
||||
'Office' => '办公室',
|
||||
'Other' => '#VALUE!',
|
||||
'Payment' => '支付',
|
||||
'PaymentTerm' => '付款期限',
|
||||
'Permission' => '允许',
|
||||
'Phone' => '电话',
|
||||
'Postal' => '邮政',
|
||||
'Price' => '价格',
|
||||
'Prices' => '价格',
|
||||
'Private' => '私人的',
|
||||
'Productgroup' => '产品组',
|
||||
'Profile' => '轮廓',
|
||||
'Profit' => '#VALUE!',
|
||||
'Purchase' => '购买',
|
||||
'Quantity' => '数量',
|
||||
'RecentInvoices' => '最近的发票',
|
||||
'Region' => '#VALUE!',
|
||||
'Rep' => '#VALUE!',
|
||||
'Retention' => '#VALUE!',
|
||||
'Sales' => '销售量',
|
||||
'Segment' => '分割',
|
||||
'Segments' => '段',
|
||||
'Subtype' => '亚型',
|
||||
'Support' => '支持',
|
||||
'Tags' => '标签',
|
||||
'Title' => '#VALUE!',
|
||||
'Total' => '#VALUE!',
|
||||
'TotalPrice' => '#VALUE!',
|
||||
'Type' => '类型',
|
||||
'UnitPrice' => '#VALUE!',
|
||||
'Value' => '#VALUE!',
|
||||
'Website' => '网站',
|
||||
'Wire' => '金属丝',
|
||||
'YTDSales' => 'ytd销售',
|
||||
'Zip' => '压缩',
|
||||
]];
|
||||
289
Theme/Backend/vehicle-create.tpl.php
Executable file
289
Theme/Backend/vehicle-create.tpl.php
Executable file
|
|
@ -0,0 +1,289 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\ClientManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="tabview tab-2">
|
||||
<div class="box">
|
||||
<ul class="tab-links">
|
||||
<li><label for="c-tab-1"><?= $this->getHtml('Profile'); ?></label></li>
|
||||
<li><label for="c-tab-2"><?= $this->getHtml('Contact'); ?></label></li>
|
||||
<li><label for="c-tab-3"><?= $this->getHtml('Addresses'); ?></label></li>
|
||||
<li><label for="c-tab-4"><?= $this->getHtml('PaymentTerm'); ?></label></li>
|
||||
<li><label for="c-tab-5"><?= $this->getHtml('Payment'); ?></label></li>
|
||||
<li><label for="c-tab-6"><?= $this->getHtml('Prices'); ?></label></li>
|
||||
<li><label for="c-tab-7"><?= $this->getHtml('AreaManager'); ?></label></li>
|
||||
<li><label for="c-tab-8"><?= $this->getHtml('Files'); ?></label></li>
|
||||
<li><label for="c-tab-9"><?= $this->getHtml('Logs'); ?></label>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<input type="radio" id="c-tab-1" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-1' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Client'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iId"><?= $this->getHtml('ID', '0', '0'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" id="iId" min="1" name="id" required></span>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Name1'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" placeholder="" required>
|
||||
<tr><td><label for="iName2"><?= $this->getHtml('Name2'); ?></label>
|
||||
<tr><td><input type="text" id="iName2" name="name2" placeholder="">
|
||||
<tr><td><label for="iName3"><?= $this->getHtml('Name3'); ?></label>
|
||||
<tr><td><input type="text" id="iName3" name="name3" placeholder="">
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Create', '0', '0'); ?>" name="create-client">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-2" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-2' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Contact'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iCType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iCType" name="actype">
|
||||
<option><?= $this->getHtml('Email'); ?>
|
||||
<option><?= $this->getHtml('Fax'); ?>
|
||||
<option><?= $this->getHtml('Phone'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iCStype"><?= $this->getHtml('Subtype'); ?></label>
|
||||
<tr><td><select id="iCStype" name="acstype">
|
||||
<option><?= $this->getHtml('Office'); ?>
|
||||
<option><?= $this->getHtml('Sales'); ?>
|
||||
<option><?= $this->getHtml('Purchase'); ?>
|
||||
<option><?= $this->getHtml('Accounting'); ?>
|
||||
<option><?= $this->getHtml('Support'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iCInfo"><?= $this->getHtml('Info'); ?></label>
|
||||
<tr><td><input type="text" id="iCInfo" name="cinfo">
|
||||
<tr><td><label for="iCData"><?= $this->getHtml('Contact'); ?></label>
|
||||
<tr><td><input type="text" id="iCData" name="cdata">
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-3" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Address'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iAType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iAType" name="atype">
|
||||
<option><?= $this->getHtml('Default'); ?>
|
||||
<option><?= $this->getHtml('Delivery'); ?>
|
||||
<option><?= $this->getHtml('Invoice'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iAddress"><?= $this->getHtml('Address'); ?></label>
|
||||
<tr><td><input type="text" id="iAddress" name="address">
|
||||
<tr><td><label for="iZip"><?= $this->getHtml('Zip'); ?></label>
|
||||
<tr><td><input type="text" id="iZip" name="zip">
|
||||
<tr><td><label for="iCountry"><?= $this->getHtml('Country'); ?></label>
|
||||
<tr><td><input type="text" id="iCountry" name="country">
|
||||
<tr><td><label for="iAInfo"><?= $this->getHtml('Info'); ?></label>
|
||||
<tr><td><input type="text" id="iAInfo" name="ainfo">
|
||||
<tr><td><span class="check"><input type="checkbox" id="iDefault" name="default" checked><label for="iDefault"><?= $this->getHtml('IsDefault'); ?></label></span>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-4" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-4' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('PaymentTerm'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><label for="iTerm"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iTerm" name="term" required>
|
||||
<option>
|
||||
</select>
|
||||
<tr><td><span class="check"><input type="checkbox" id="iFreightage" name="freightage"><label for="iFreightage"><?= $this->getHtml('Freightage'); ?></label></span>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-5" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Payment'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iACType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iACType" name="actype">
|
||||
<option><?= $this->getHtml('Wire'); ?>
|
||||
<option><?= $this->getHtml('Creditcard'); ?>
|
||||
</select>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-6" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-6' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Price'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= \phpOMS\Uri\UriFactory::build('{/api}...'); ?>" method="post">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iPType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iPType" name="ptye">
|
||||
<option>
|
||||
</select><td>
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><label for="iPQuantity"><?= $this->getHtml('Quantity'); ?></label>
|
||||
<tr><td><input id="iPQuantity" name="quantity" type="text" placeholder=""><td>
|
||||
<tr><td><label for="iPrice"><?= $this->getHtml('Price'); ?></label>
|
||||
<tr><td><input id="iPrice" name="price" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iDiscount"><?= $this->getHtml('Discount'); ?></label>
|
||||
<tr><td><input id="iDiscount" name="discount" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iDiscount"><?= $this->getHtml('DiscountP'); ?></label>
|
||||
<tr><td><input id="iDiscountP" name="discountp" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iBonus"><?= $this->getHtml('Bonus'); ?></label>
|
||||
<tr><td><input id="iBonus" name="bonus" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-7" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-7' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('AreaManager'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= \phpOMS\Uri\UriFactory::build('{/api}...'); ?>" method="post">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td><label for="iManager"><?= $this->getHtml('AreaManager'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iManager" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-8" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-8' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
</div>
|
||||
<input type="radio" id="c-tab-9" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-9' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<?php
|
||||
$footerView = new \phpOMS\Views\PaginationView($this->l11nManager, $this->request, $this->response);
|
||||
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
|
||||
$footerView->setPages(20);
|
||||
$footerView->setPage(1);
|
||||
?>
|
||||
<div class="box wf-100">
|
||||
<table class="default">
|
||||
<caption><?= $this->getHtml('Logs'); ?><i class="fa fa-download floatRight download btn"></i></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>IP
|
||||
<td><?= $this->getHtml('ID', '0', '0'); ?>
|
||||
<td><?= $this->getHtml('Name'); ?>
|
||||
<td class="wf-100"><?= $this->getHtml('Log'); ?>
|
||||
<td><?= $this->getHtml('Date'); ?>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><?= $this->printHtml($this->request->getOrigin()); ?>
|
||||
<td><?= $this->printHtml((string) $this->request->header->account); ?>
|
||||
<td><?= $this->printHtml((string) $this->request->header->account); ?>
|
||||
<td>Creating customer
|
||||
<td><?= $this->printHtml((new \DateTime('now'))->format('Y-m-d H:i:s')); ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
128
Theme/Backend/vehicle-list.tpl.php
Executable file
128
Theme/Backend/vehicle-list.tpl.php
Executable file
|
|
@ -0,0 +1,128 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\ClientManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
use Modules\Media\Models\NullMedia;
|
||||
use phpOMS\Uri\UriFactory;
|
||||
|
||||
/** @var \phpOMS\Views\View $this */
|
||||
$clients = $this->getData('client');
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Clients'); ?><i class="fa fa-download floatRight download btn"></i></div>
|
||||
<div class="slider">
|
||||
<table id="iSalesClientList" class="default sticky">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
<td><?= $this->getHtml('ID', '0', '0'); ?>
|
||||
<label for="iSalesClientList-sort-1">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-1">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-2">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-2">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td class="wf-100"><?= $this->getHtml('Name'); ?>
|
||||
<label for="iSalesClientList-sort-3">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-3">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-4">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-4">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('City'); ?>
|
||||
<label for="iSalesClientList-sort-5">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-5">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-6">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-6">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('Zip'); ?>
|
||||
<label for="iSalesClientList-sort-7">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-7">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-8">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-8">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('Address'); ?>
|
||||
<label for="iSalesClientList-sort-9">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-9">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-10">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-10">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<td><?= $this->getHtml('Country'); ?>
|
||||
<label for="iSalesClientList-sort-11">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-11">
|
||||
<i class="sort-asc fa fa-chevron-up"></i>
|
||||
</label>
|
||||
<label for="iSalesClientList-sort-12">
|
||||
<input type="radio" name="iSalesClientList-sort" id="iSalesClientList-sort-12">
|
||||
<i class="sort-desc fa fa-chevron-down"></i>
|
||||
</label>
|
||||
<label>
|
||||
<i class="filter fa fa-filter"></i>
|
||||
</label>
|
||||
<tbody>
|
||||
<?php $count = 0; foreach ($clients as $key => $value) : ++$count;
|
||||
$url = UriFactory::build('{/lang}/{/app}/sales/client/profile?{?}&id=' . $value->getId());
|
||||
$image = $value->getFileByTypeName('client_profile_image');
|
||||
?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td><a href="<?= $url; ?>"><img alt="<?= $this->getHtml('IMG_alt_client'); ?>" width="30" loading="lazy" class="item-image"
|
||||
src="<?= $image instanceof NullMedia ?
|
||||
UriFactory::build('Web/Backend/img/user_default_' . \mt_rand(1, 6) .'.png') :
|
||||
UriFactory::build('{/lang}/{/app}/' . $image->getPath()); ?>"></a>
|
||||
<td data-label="<?= $this->getHtml('ID', '0', '0'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->number); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Name'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->profile->account->name1); ?> <?= $this->printHtml($value->profile->account->name2); ?></a>
|
||||
<td data-label="<?= $this->getHtml('City'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->mainAddress->city); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Zip'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->mainAddress->postal); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Address'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->mainAddress->address); ?></a>
|
||||
<td data-label="<?= $this->getHtml('Country'); ?>"><a href="<?= $url; ?>"><?= $this->printHtml($value->mainAddress->getCountry()); ?></a>
|
||||
<?php endforeach; ?>
|
||||
<?php if ($count === 0) : ?>
|
||||
<tr><td colspan="8" class="empty"><?= $this->getHtml('Empty', '0', '0'); ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
618
Theme/Backend/vehicle-profile.tpl.php
Executable file
618
Theme/Backend/vehicle-profile.tpl.php
Executable file
|
|
@ -0,0 +1,618 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\ClientManagement
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
use Modules\Profile\Models\ContactType;
|
||||
use phpOMS\Uri\UriFactory;
|
||||
|
||||
$countryCodes = \phpOMS\Localization\ISO3166TwoEnum::getConstants();
|
||||
$countries = \phpOMS\Localization\ISO3166NameEnum::getConstants();
|
||||
|
||||
/**
|
||||
* @var \Modules\ClientManagement\Models\Client $client
|
||||
*/
|
||||
$client = $this->getData('client');
|
||||
$notes = $client->getNotes();
|
||||
$files = $client->getFiles();
|
||||
|
||||
$newestInvoices = $this->getData('newestInvoices') ?? [];
|
||||
$monthlySalesCosts = $this->getData('monthlySalesCosts') ?? [];
|
||||
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render();
|
||||
?>
|
||||
<div class="tabview tab-2">
|
||||
<div class="box">
|
||||
<ul class="tab-links">
|
||||
<li><label for="c-tab-1"><?= $this->getHtml('Profile'); ?></label></li>
|
||||
<li><label for="c-tab-3"><?= $this->getHtml('Addresses'); ?></label></li>
|
||||
<li><label for="c-tab-5"><?= $this->getHtml('Payment'); ?></label></li>
|
||||
<li><label for="c-tab-6"><?= $this->getHtml('Prices'); ?></label></li>
|
||||
<li><label for="c-tab-7"><?= $this->getHtml('Attributes'); ?></label></li>
|
||||
<li><label for="c-tab-8"><?= $this->getHtml('Files'); ?></label></li>
|
||||
<li><label for="c-tab-9"><?= $this->getHtml('Invoices'); ?></label>
|
||||
<li><label for="c-tab-10"><?= $this->getHtml('Articles'); ?></label>
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Messages'); ?></label><!-- incl. support -->
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Accounting'); ?></label>
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Notes'); ?></label>
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Tags'); ?></label>
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Calendar'); ?></label>
|
||||
<li><label for="c-tab-11"><?= $this->getHtml('Permission'); ?></label>
|
||||
<li><label for="c-tab-12"><?= $this->getHtml('Logs'); ?></label>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<input type="radio" id="c-tab-1" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-1' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-lg-3 last-lg">
|
||||
<section class="portlet">
|
||||
<form>
|
||||
<div class="portlet-body">
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iId"><?= $this->getHtml('ID', '0', '0'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" id="iId" min="1" name="id" value="<?= $this->printHtml($client->number); ?>" disabled></span>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Name1'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->profile->account->name1); ?>" required>
|
||||
<tr><td><label for="iName2"><?= $this->getHtml('Name2'); ?></label>
|
||||
<tr><td><input type="text" id="iName2" name="name2" value="<?= $this->printHtml($client->profile->account->name2); ?>">
|
||||
<tr><td><label for="iName3"><?= $this->getHtml('Name3'); ?></label>
|
||||
<tr><td><input type="text" id="iName3" name="name3" value="<?= $this->printHtml($client->profile->account->name3); ?>">
|
||||
</table>
|
||||
</div>
|
||||
<div class="portlet-foot">
|
||||
<input type="submit" value="<?= $this->getHtml('Save', '0', '0'); ?>" name="save-client-profile"> <input type="submit" value="<?= $this->getHtml('Delete', '0', '0'); ?>" name="delete-client-profile">
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<section class="portlet">
|
||||
<div class="portlet-head">
|
||||
<?= $this->getHtml('Contact'); ?>
|
||||
<a class="floatRight" href=""><i class="fa fa-envelope-o btn"></i></a>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Phone'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->getMainContactElement(ContactType::PHONE)->content); ?>">
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Email'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->getMainContactElement(ContactType::EMAIL)->content); ?>">
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Website'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->getMainContactElement(ContactType::WEBSITE)->content); ?>">
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="portlet">
|
||||
<div class="portlet-head">
|
||||
<?= $this->getHtml('Address'); ?>
|
||||
<span class="clickPopup floatRight">
|
||||
<label for="addressDropdown"><i class="fa fa-print btn"></i></label>
|
||||
<input id="addressDropdown" name="addressDropdown" type="checkbox">
|
||||
<div class="popup">
|
||||
<ul>
|
||||
<li>
|
||||
<input id="id1" type="checkbox">
|
||||
<ul>
|
||||
<li>
|
||||
<label for="id1">
|
||||
<a href="" class="button">Word</a>
|
||||
<span></span>
|
||||
<i class="fa fa-chevron-right expand"></i>
|
||||
</label>
|
||||
<li>Letter
|
||||
</ul>
|
||||
<li><label class="button cancel" for="addressDropdown">Cancel</label>
|
||||
</ul>
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<table class="layout wf-100">
|
||||
<?php if (!empty($client->mainAddress->addition)) : ?>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Addition'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->mainAddress->addition); ?>">
|
||||
<?php endif; ?>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Address'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->mainAddress->address); ?>" required>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Postal'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->mainAddress->postal); ?>" required>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('City'); ?></label>
|
||||
<tr><td><input type="text" id="iName1" name="name1" value="<?= $this->printHtml($client->mainAddress->city); ?>" required>
|
||||
<tr><td><label for="iName1"><?= $this->getHtml('Country'); ?></label>
|
||||
<tr><td><select name="country">
|
||||
<?php foreach ($countryCodes as $code3 => $code2) : ?>
|
||||
<option value="<?= $this->printHtml($code2); ?>"<?= $this->printHtml($code2 === $client->mainAddress->getCountry() ? ' selected' : ''); ?>><?= $this->printHtml($countries[$code3]); ?>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<tr><td>
|
||||
<?php if (\is_file(__DIR__ . '/../../../../phpOMS/Localization/Maps/svg/' . \strtolower($client->mainAddress->getCountry()) . '.svg')) : ?>
|
||||
<img alt="<?= $this->getHtml('IMG_alt_map'); ?>" id="iMap" style="width: 100%;" src="<?= UriFactory::build('phpOMS/Localization/Maps/svg/' . \strtolower($client->mainAddress->getCountry()) . '.svg'); ?>">
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="portlet highlight-4">
|
||||
<div class="portlet-body">
|
||||
<textarea class="undecorated"><?= $this->printHtml($client->info); ?></textarea>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="col-xs-12 col-lg-9 plain-grid">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-lg-4">
|
||||
<section class="portlet highlight-1">
|
||||
<div class="portlet-body">
|
||||
<table class="wf-100">
|
||||
<tr><td><?= $this->getHtml('YTDSales'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('MTDSales'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('CLV'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('MRR'); ?>:
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-lg-4">
|
||||
<section class="portlet highlight-2">
|
||||
<div class="portlet-body">
|
||||
<table class="wf-100">
|
||||
<tr><td><?= $this->getHtml('LastContact'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('LastOrder'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('Created'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('Modified'); ?>:
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-lg-4">
|
||||
<section class="portlet highlight-3">
|
||||
<div class="portlet-body">
|
||||
<table class="wf-100">
|
||||
<tr><td><?= $this->getHtml('DSO'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('Due'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('Balance'); ?>:
|
||||
<td>
|
||||
<tr><td><?= $this->getHtml('CreditRating'); ?>:
|
||||
<td>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Notes'); ?></div>
|
||||
<div class="slider">
|
||||
<table id="iNotesItemList" class="default">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="wf-100"><?= $this->getHtml('Title'); ?>
|
||||
<td><?= $this->getHtml('CreatedAt'); ?>
|
||||
<tbody>
|
||||
<?php foreach ($notes as $note) :
|
||||
$url = UriFactory::build('{/lang}/{/app}/editor/single?{?}&id=' . $note->getId());
|
||||
?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td><a href="<?= $url; ?>"><?= $note->title; ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $note->createdAt->format('Y-m-d'); ?></a>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Documents'); ?></div>
|
||||
<div class="slider">
|
||||
<table id="iFilesClientList" class="default">
|
||||
<thead>
|
||||
<tr>
|
||||
<td class="wf-100"><?= $this->getHtml('Title'); ?>
|
||||
<td>
|
||||
<td><?= $this->getHtml('CreatedAt'); ?>
|
||||
<tbody>
|
||||
<?php foreach ($files as $file) :
|
||||
$url = UriFactory::build('{/lang}/{/app}/media/single?{?}&id=' . $file->getId());
|
||||
?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td><a href="<?= $url; ?>"><?= $file->name; ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $file->extension; ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $file->createdAt->format('Y-m-d'); ?></a>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('RecentInvoices'); ?></div>
|
||||
<table id="iSalesItemList" class="default">
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?= $this->getHtml('Number'); ?>
|
||||
<td><?= $this->getHtml('Type'); ?>
|
||||
<td class="wf-100"><?= $this->getHtml('Name'); ?>
|
||||
<td><?= $this->getHtml('Net'); ?>
|
||||
<td><?= $this->getHtml('Date'); ?>
|
||||
<tbody>
|
||||
<?php
|
||||
/** @var \Modules\Billing\Models\Bill $invoice */
|
||||
foreach ($newestInvoices as $invoice) :
|
||||
$url = UriFactory::build('{/lang}/{/app}/sales/bill?{?}&id=' . $invoice->getId());
|
||||
?>
|
||||
<tr data-href="<?= $url; ?>">
|
||||
<td><a href="<?= $url; ?>"><?= $invoice->getNumber(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $invoice->type->getL11n(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $invoice->billTo; ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $invoice->netSales->getCurrency(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $invoice->createdAt->format('Y-m-d'); ?></a>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Segments'); ?></div>
|
||||
<div class="portlet-body"></div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-lg-6">
|
||||
<section class="portlet">
|
||||
<div class="portlet-head"><?= $this->getHtml('Sales'); ?></div>
|
||||
<div class="portlet-body">
|
||||
<canvas id="sales-region" data-chart='{
|
||||
"type": "bar",
|
||||
"data": {
|
||||
"labels": [
|
||||
<?php
|
||||
$temp = [];
|
||||
foreach ($monthlySalesCosts as $monthly) {
|
||||
$temp[] = $monthly['month'] . '/' . \substr((string) $monthly['year'], -2);
|
||||
}
|
||||
?>
|
||||
<?= '"' . \implode('", "', $temp) . '"'; ?>
|
||||
],
|
||||
"datasets": [
|
||||
{
|
||||
"label": "<?= $this->getHtml('Margin'); ?>",
|
||||
"type": "line",
|
||||
"data": [
|
||||
<?php
|
||||
$temp = [];
|
||||
foreach ($monthlySalesCosts as $monthly) {
|
||||
$temp[] = \round(((((int) $monthly['net_sales']) - ((int) $monthly['net_costs'])) / ((int) $monthly['net_sales'])) * 100, 2);
|
||||
}
|
||||
?>
|
||||
<?= \implode(',', $temp); ?>
|
||||
],
|
||||
"yAxisID": "axis-2",
|
||||
"fill": false,
|
||||
"borderColor": "rgb(255, 99, 132)",
|
||||
"backgroundColor": "rgb(255, 99, 132)"
|
||||
},
|
||||
{
|
||||
"label": "<?= $this->getHtml('Sales'); ?>",
|
||||
"type": "bar",
|
||||
"data": [
|
||||
<?php
|
||||
$temp = [];
|
||||
foreach ($monthlySalesCosts as $monthly) {
|
||||
$temp[] = ((int) $monthly['net_sales']) / 1000;
|
||||
}
|
||||
?>
|
||||
<?= \implode(',', $temp); ?>
|
||||
],
|
||||
"yAxisID": "axis-1",
|
||||
"backgroundColor": "rgb(54, 162, 235)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {
|
||||
"scales": {
|
||||
"yAxes": [
|
||||
{
|
||||
"id": "axis-1",
|
||||
"display": true,
|
||||
"position": "left"
|
||||
},
|
||||
{
|
||||
"id": "axis-2",
|
||||
"display": true,
|
||||
"position": "right",
|
||||
"scaleLabel": {
|
||||
"display": true,
|
||||
"labelString": "<?= $this->getHtml('Margin'); ?> %"
|
||||
},
|
||||
"gridLines": {
|
||||
"display": false
|
||||
},
|
||||
"beginAtZero": true,
|
||||
"ticks": {
|
||||
"min": 0,
|
||||
"max": 100,
|
||||
"stepSize": 10
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}'></canvas>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-3" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-3' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Address'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iAType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iAType" name="atype">
|
||||
<option><?= $this->getHtml('Default'); ?>
|
||||
<option><?= $this->getHtml('Delivery'); ?>
|
||||
<option><?= $this->getHtml('Invoice'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iAddress"><?= $this->getHtml('Address'); ?></label>
|
||||
<tr><td><input type="text" id="iAddress" name="address">
|
||||
<tr><td><label for="iZip"><?= $this->getHtml('Zip'); ?></label>
|
||||
<tr><td><input type="text" id="iZip" name="zip">
|
||||
<tr><td><label for="iCountry"><?= $this->getHtml('Country'); ?></label>
|
||||
<tr><td><input type="text" id="iCountry" name="country">
|
||||
<tr><td><label for="iAInfo"><?= $this->getHtml('Info'); ?></label>
|
||||
<tr><td><input type="text" id="iAInfo" name="ainfo">
|
||||
<tr><td><span class="check"><input type="checkbox" id="iDefault" name="default" checked><label for="iDefault"><?= $this->getHtml('IsDefault'); ?></label></span>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Contact'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iCType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iCType" name="actype">
|
||||
<option><?= $this->getHtml('Email'); ?>
|
||||
<option><?= $this->getHtml('Fax'); ?>
|
||||
<option><?= $this->getHtml('Phone'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iCStype"><?= $this->getHtml('Subtype'); ?></label>
|
||||
<tr><td><select id="iCStype" name="acstype">
|
||||
<option><?= $this->getHtml('Office'); ?>
|
||||
<option><?= $this->getHtml('Sales'); ?>
|
||||
<option><?= $this->getHtml('Purchase'); ?>
|
||||
<option><?= $this->getHtml('Accounting'); ?>
|
||||
<option><?= $this->getHtml('Support'); ?>
|
||||
</select>
|
||||
<tr><td><label for="iCInfo"><?= $this->getHtml('Info'); ?></label>
|
||||
<tr><td><input type="text" id="iCInfo" name="cinfo">
|
||||
<tr><td><label for="iCData"><?= $this->getHtml('Contact'); ?></label>
|
||||
<tr><td><input type="text" id="iCData" name="cdata">
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-5" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-5' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Payment'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iACType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iACType" name="actype">
|
||||
<option><?= $this->getHtml('Wire'); ?>
|
||||
<option><?= $this->getHtml('Creditcard'); ?>
|
||||
</select>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('PaymentTerm'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><label for="iTerm"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iTerm" name="term" required>
|
||||
<option>
|
||||
</select>
|
||||
<tr><td><span class="check"><input type="checkbox" id="iFreightage" name="freightage"><label for="iFreightage"><?= $this->getHtml('Freightage'); ?></label></span>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-6" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-6' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('Price'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= UriFactory::build('{/api}...'); ?>" method="post">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iPType"><?= $this->getHtml('Type'); ?></label>
|
||||
<tr><td><select id="iPType" name="ptye">
|
||||
<option>
|
||||
</select><td>
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><label for="iPQuantity"><?= $this->getHtml('Quantity'); ?></label>
|
||||
<tr><td><input id="iPQuantity" name="quantity" type="text" placeholder=""><td>
|
||||
<tr><td><label for="iPrice"><?= $this->getHtml('Price'); ?></label>
|
||||
<tr><td><input id="iPrice" name="price" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iDiscount"><?= $this->getHtml('Discount'); ?></label>
|
||||
<tr><td><input id="iDiscount" name="discount" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iDiscount"><?= $this->getHtml('DiscountP'); ?></label>
|
||||
<tr><td><input id="iDiscountP" name="discountp" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><label for="iBonus"><?= $this->getHtml('Bonus'); ?></label>
|
||||
<tr><td><input id="iBonus" name="bonus" type="number" step="any" min="0" placeholder=""><td>
|
||||
<tr><td><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-7" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-7' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-lg-4">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getHtml('AreaManager'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form action="<?= UriFactory::build('{/api}...'); ?>" method="post">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td><label for="iManager"><?= $this->getHtml('AreaManager'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iManager" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSource"><?= $this->getHtml('ID'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input id="iSource" name="source" type="text" placeholder=""></span>
|
||||
<tr><td><label for="iSegment"><?= $this->getHtml('Segment'); ?></label>
|
||||
<tr><td><input id="iSegment" name="segment" type="text" placeholder="">
|
||||
<tr><td><label for="iProductgroup"><?= $this->getHtml('Productgroup'); ?></label>
|
||||
<tr><td><input id="iProductgroup" name="productgroup" type="text" placeholder="">
|
||||
<tr><td><label for="iGroup"><?= $this->getHtml('Group'); ?></label>
|
||||
<tr><td><input id="iGroup" name="group" type="text" placeholder="">
|
||||
<tr><td><label for="iArticlegroup"><?= $this->getHtml('Articlegroup'); ?></label>
|
||||
<tr><td><input id="iArticlegroup" name="articlegroup" type="text" placeholder="">
|
||||
<tr><td><input type="submit" value="<?= $this->getHtml('Add', '0', '0'); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-8" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-8' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
</div>
|
||||
<input type="radio" id="c-tab-9" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-9' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<?php include __DIR__ . '/client-profile-bills.tpl.php'; ?>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-10" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-9' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<?php include __DIR__ . '/client-profile-items.tpl.php'; ?>
|
||||
</div>
|
||||
<input type="radio" id="c-tab-11" name="tabular-2"<?= $this->request->uri->fragment === 'c-tab-10' ? ' checked' : ''; ?>>
|
||||
<div class="tab">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<?php
|
||||
$footerView = new \phpOMS\Views\PaginationView($this->l11nManager, $this->request, $this->response);
|
||||
$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
|
||||
$footerView->setPages(20);
|
||||
$footerView->setPage(1);
|
||||
?>
|
||||
<div class="box wf-100">
|
||||
<table class="default">
|
||||
<caption><?= $this->getHtml('Logs'); ?><i class="fa fa-download floatRight download btn"></i></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>IP
|
||||
<td><?= $this->getHtml('ID', '0', '0'); ?>
|
||||
<td><?= $this->getHtml('Name'); ?>
|
||||
<td class="wf-100"><?= $this->getHtml('Log'); ?>
|
||||
<td><?= $this->getHtml('Date'); ?>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><?= $this->printHtml($this->request->getOrigin()); ?>
|
||||
<td><?= $this->printHtml((string) $this->request->header->account); ?>
|
||||
<td><?= $this->printHtml((string) $this->request->header->account); ?>
|
||||
<td>Creating customer
|
||||
<td><?= $this->printHtml((new \DateTime('now'))->format('Y-m-d H:i:s')); ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
20
composer.json
Executable file
20
composer.json
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"name": "karaka/module",
|
||||
"description": "Module for Karaka.",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Dennis Eichhorn",
|
||||
"email": "spl1nes.com@googlemail.com"
|
||||
}
|
||||
],
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": ">=9.4",
|
||||
"friendsofphp/php-cs-fixer": ">=3.8",
|
||||
"squizlabs/php_codesniffer": ">=3.6",
|
||||
"phpmd/phpmd": ">=2.9",
|
||||
"phpstan/phpstan": ">=1.8.6",
|
||||
"phan/phan": ">=3.2.6"
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
||||
4802
composer.lock
generated
Executable file
4802
composer.lock
generated
Executable file
File diff suppressed because it is too large
Load Diff
49
info.json
Executable file
49
info.json
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
"name": {
|
||||
"id": 1003500000,
|
||||
"internal": "FleetManagement",
|
||||
"external": "Fleet Management"
|
||||
},
|
||||
"category": "Fleet",
|
||||
"version": "1.0.0",
|
||||
"requirements": {
|
||||
"phpOMS": "1.0.0",
|
||||
"phpOMS-db": "1.0.0"
|
||||
},
|
||||
"creator": {
|
||||
"name": "Karaka",
|
||||
"website": "jingga.app"
|
||||
},
|
||||
"description": "The buisness module.",
|
||||
"directory": "FleetManagement",
|
||||
"dependencies": {
|
||||
"Admin": "1.0.0",
|
||||
"Profile": "1.0.0",
|
||||
"Media": "1.0.0",
|
||||
"Editor": "1.0.0"
|
||||
},
|
||||
"providing": {
|
||||
"Navigation": "*",
|
||||
"Media": "*"
|
||||
},
|
||||
"load": [
|
||||
{
|
||||
"pid": [
|
||||
"/fleet"
|
||||
],
|
||||
"type": 4,
|
||||
"for": 0,
|
||||
"from": "FleetManagement",
|
||||
"file": "FleetManagement"
|
||||
},
|
||||
{
|
||||
"pid": [
|
||||
"/"
|
||||
],
|
||||
"type": 5,
|
||||
"from": "FleetManagement",
|
||||
"for": "Navigation",
|
||||
"file": "Navigation"
|
||||
}
|
||||
]
|
||||
}
|
||||
27
tests/Admin/AdminTest.php
Executable file
27
tests/Admin/AdminTest.php
Executable file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\tests\Admin;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class AdminTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected const NAME = 'FleetManagement';
|
||||
|
||||
protected const URI_LOAD = '';
|
||||
|
||||
use \Modules\tests\ModuleTestTrait;
|
||||
}
|
||||
94
tests/Autoloader.php
Executable file
94
tests/Autoloader.php
Executable file
|
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules/tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace tests;
|
||||
|
||||
\spl_autoload_register('\tests\Autoloader::defaultAutoloader');
|
||||
|
||||
/**
|
||||
* Autoloader class.
|
||||
*
|
||||
* @package tests
|
||||
* @license OMS License 1.0
|
||||
* @link https://jingga.app
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Autoloader
|
||||
{
|
||||
/**
|
||||
* Base paths for autoloading
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private static $paths = [
|
||||
__DIR__ . '/../',
|
||||
__DIR__ . '/../Karaka/',
|
||||
__DIR__ . '/../../',
|
||||
];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
private function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Add base path for autoloading
|
||||
*
|
||||
* @param string $path Absolute base path with / at the end
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function addPath(string $path) : void
|
||||
{
|
||||
self::$paths[] = $path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loading classes by namespace + class name.
|
||||
*
|
||||
* @param string $class Class path
|
||||
*
|
||||
* @example Autoloader::defaultAutoloader('\phpOMS\Autoloader') // void
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws AutoloadException Throws this exception if the class to autoload doesn't exist. This could also be related to a wrong namespace/file path correlation.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public static function defaultAutoloader(string $class) : void
|
||||
{
|
||||
$class = \ltrim($class, '\\');
|
||||
$class = \str_replace(['_', '\\'], '/', $class);
|
||||
|
||||
foreach (self::$paths as $path) {
|
||||
$file = $path . $class . '.php';
|
||||
$file = \str_replace('/Modules/', '/', $file);
|
||||
|
||||
if (\is_file($file)) {
|
||||
include_once $file;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
415
tests/Bootstrap.php
Executable file
415
tests/Bootstrap.php
Executable file
|
|
@ -0,0 +1,415 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
// Modules/tests
|
||||
|
||||
\ini_set('memory_limit', '2048M');
|
||||
\ini_set('display_errors', '1');
|
||||
\ini_set('display_startup_errors', '1');
|
||||
\error_reporting(\E_ALL);
|
||||
\setlocale(\LC_ALL, 'en_US.UTF-8');
|
||||
|
||||
require_once __DIR__ . '/../vendor/autoload.php';
|
||||
require_once __DIR__ . '/Autoloader.php';
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\DataStorage\Database\Mapper\DataMapperFactory;
|
||||
use phpOMS\DataStorage\Session\HttpSession;
|
||||
|
||||
$CONFIG = [
|
||||
'db' => [
|
||||
'core' => [
|
||||
'masters' => [
|
||||
'admin' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'insert' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'select' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'update' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'delete' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'schema' => [
|
||||
'db' => 'mysql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '3306', /* db host port */
|
||||
'login' => 'root', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
],
|
||||
'postgresql' => [
|
||||
'admin' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'insert' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'select' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'update' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'delete' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'schema' => [
|
||||
'db' => 'pgsql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '5432', /* db host port */
|
||||
'login' => 'postgres', /* db login name */
|
||||
'password' => 'root', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
],
|
||||
'sqlite' => [
|
||||
'admin' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'insert' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'select' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'update' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'delete' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'schema' => [
|
||||
'db' => 'sqlite', /* db type */
|
||||
'database' => __DIR__ . '/test.sqlite', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
],
|
||||
'mssql' => [
|
||||
'admin' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'insert' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'select' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'update' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'delete' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
'schema' => [
|
||||
'db' => 'mssql', /* db type */
|
||||
'host' => '127.0.0.1', /* db host address */
|
||||
'port' => '1433', /* db host port */
|
||||
'login' => 'sa', /* db login name */
|
||||
'password' => 'R00troot', /* db login password */
|
||||
'database' => 'oms', /* db name */
|
||||
'weight' => 1000, /* db table prefix */
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
'cache' => [
|
||||
'redis' => [
|
||||
'db' => 1,
|
||||
'host' => '127.0.0.1',
|
||||
'port' => 6379,
|
||||
],
|
||||
'memcached' => [
|
||||
'host' => '127.0.0.1',
|
||||
'port' => 11211,
|
||||
],
|
||||
],
|
||||
'mail' => [
|
||||
'imap' => [
|
||||
'host' => '127.0.0.1',
|
||||
'port' => 143,
|
||||
'ssl' => false,
|
||||
'user' => 'test',
|
||||
'password' => '123456',
|
||||
],
|
||||
'pop3' => [
|
||||
'host' => '127.0.0.1',
|
||||
'port' => 25,
|
||||
'ssl' => false,
|
||||
'user' => 'test',
|
||||
'password' => '123456',
|
||||
],
|
||||
],
|
||||
'log' => [
|
||||
'file' => [
|
||||
'path' => __DIR__ . '/Logs',
|
||||
],
|
||||
],
|
||||
'page' => [
|
||||
'root' => '/',
|
||||
'https' => false,
|
||||
],
|
||||
'app' => [
|
||||
'path' => __DIR__,
|
||||
'default' => [
|
||||
'app' => 'Backend',
|
||||
'id' => 'backend',
|
||||
'lang' => 'en',
|
||||
'theme' => 'Backend',
|
||||
'org' => 1,
|
||||
],
|
||||
'domains' => [
|
||||
'127.0.0.1' => [
|
||||
'app' => 'Backend',
|
||||
'id' => 'backend',
|
||||
'lang' => 'en',
|
||||
'theme' => 'Backend',
|
||||
'org' => 1,
|
||||
],
|
||||
],
|
||||
],
|
||||
'socket' => [
|
||||
'master' => [
|
||||
'host' => '127.0.0.1',
|
||||
'limit' => 300,
|
||||
'port' => 4310,
|
||||
],
|
||||
],
|
||||
'language' => [
|
||||
'en',
|
||||
],
|
||||
'apis' => [
|
||||
],
|
||||
];
|
||||
|
||||
// Reset database
|
||||
if (\defined('RESET') && RESET === '1') {
|
||||
if (\extension_loaded('pdo_mysql')) {
|
||||
try {
|
||||
$db = new \PDO('mysql:host=' .
|
||||
$CONFIG['db']['core']['masters']['admin']['host'],
|
||||
$CONFIG['db']['core']['masters']['admin']['login'],
|
||||
$CONFIG['db']['core']['masters']['admin']['password']
|
||||
);
|
||||
$db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['masters']['admin']['database']);
|
||||
$db->exec('CREATE DATABASE IF NOT EXISTS ' . $CONFIG['db']['core']['masters']['admin']['database']);
|
||||
$db = null;
|
||||
} catch (\Throwable $t) {
|
||||
echo "\nCouldn't connect to MYSQL DB\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (\extension_loaded('pdo_pgsql')) {
|
||||
try {
|
||||
$db = new \PDO('pgsql:host=' .
|
||||
$CONFIG['db']['core']['postgresql']['admin']['host'],
|
||||
$CONFIG['db']['core']['postgresql']['admin']['login'],
|
||||
$CONFIG['db']['core']['postgresql']['admin']['password']
|
||||
);
|
||||
$db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['postgresql']['admin']['database']);
|
||||
$db->exec('CREATE DATABASE ' . $CONFIG['db']['core']['postgresql']['admin']['database']);
|
||||
$db = null;
|
||||
} catch (\Throwable $t) {
|
||||
echo "\nCouldn't connect to POSTGRESQL DB\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (\extension_loaded('pdo_sqlsrv')) {
|
||||
try {
|
||||
$db = new \PDO('sqlsrv:Server=' .
|
||||
$CONFIG['db']['core']['mssql']['admin']['host'],
|
||||
$CONFIG['db']['core']['mssql']['admin']['login'],
|
||||
$CONFIG['db']['core']['mssql']['admin']['password']
|
||||
);
|
||||
$db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['mssql']['admin']['database']);
|
||||
$db->exec('CREATE DATABASE ' . $CONFIG['db']['core']['mssql']['admin']['database']);
|
||||
$db = null;
|
||||
} catch (\Throwable $t) {
|
||||
echo "\nCouldn't connect to MSSQL DB\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$httpSession = new HttpSession();
|
||||
$GLOBALS['session'] = $httpSession;
|
||||
|
||||
$GLOBALS['dbpool'] = new DatabasePool();
|
||||
$GLOBALS['dbpool']->create('admin', $CONFIG['db']['core']['masters']['admin']);
|
||||
$GLOBALS['dbpool']->create('select', $CONFIG['db']['core']['masters']['select']);
|
||||
$GLOBALS['dbpool']->create('update', $CONFIG['db']['core']['masters']['update']);
|
||||
$GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete']);
|
||||
$GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']);
|
||||
$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']);
|
||||
|
||||
DataMapperFactory::db($GLOBALS['dbpool']->get());
|
||||
|
||||
$GLOBALS['frameworkpath'] = '/phpOMS/';
|
||||
|
||||
function phpServe() : void
|
||||
{
|
||||
// OS detection
|
||||
$isWindows = \stristr(\php_uname('s'), 'Windows') !== false;
|
||||
|
||||
// Command that starts the built-in web server
|
||||
if ($isWindows) {
|
||||
$command = \sprintf(
|
||||
'wmic process call create "php -S %s:%d -t %s" | find "ProcessId"',
|
||||
WEB_SERVER_HOST,
|
||||
WEB_SERVER_PORT,
|
||||
__DIR__ . '/../' . WEB_SERVER_DOCROOT
|
||||
);
|
||||
|
||||
$killCommand = 'taskkill /f /pid ';
|
||||
} else {
|
||||
$command = \sprintf(
|
||||
'php -S %s:%d -t %s >/dev/null 2>&1 & echo $!',
|
||||
WEB_SERVER_HOST,
|
||||
WEB_SERVER_PORT,
|
||||
WEB_SERVER_DOCROOT
|
||||
);
|
||||
|
||||
$killCommand = 'kill ';
|
||||
}
|
||||
|
||||
// Execute the command and store the process ID
|
||||
$output = [];
|
||||
echo \sprintf('Starting server...') . \PHP_EOL;
|
||||
echo \sprintf(' Current directory: %s', \getcwd()) . \PHP_EOL;
|
||||
echo \sprintf(' %s', $command);
|
||||
\exec($command, $output);
|
||||
|
||||
// Get PID
|
||||
if ($isWindows) {
|
||||
$pid = \explode('=', $output[0]);
|
||||
$pid = \str_replace(' ', '', $pid[1]);
|
||||
$pid = \str_replace(';', '', $pid);
|
||||
} else {
|
||||
$pid = (int) $output[0];
|
||||
}
|
||||
|
||||
// Log
|
||||
echo \sprintf(
|
||||
' %s - Web server started on %s:%d with PID %d',
|
||||
\date('r'),
|
||||
WEB_SERVER_HOST,
|
||||
WEB_SERVER_PORT,
|
||||
$pid
|
||||
) . \PHP_EOL;
|
||||
|
||||
// Kill the web server when the process ends
|
||||
\register_shutdown_function(function() use ($killCommand, $pid) : void {
|
||||
echo \PHP_EOL . \sprintf('Stopping server...') . \PHP_EOL;
|
||||
echo \sprintf(' %s - Killing process with ID %d', \date('r'), $pid) . \PHP_EOL;
|
||||
\exec($killCommand . $pid);
|
||||
});
|
||||
}
|
||||
|
||||
\phpServe();
|
||||
88
tests/Controller/ApiControllerTest.php
Executable file
88
tests/Controller/ApiControllerTest.php
Executable file
|
|
@ -0,0 +1,88 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package tests
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\tests\Controller;
|
||||
|
||||
use Model\CoreSettings;
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use phpOMS\Account\Account;
|
||||
use phpOMS\Account\AccountManager;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Application\ApplicationAbstract;
|
||||
use phpOMS\DataStorage\Session\HttpSession;
|
||||
use phpOMS\Dispatcher\Dispatcher;
|
||||
use phpOMS\Event\EventManager;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\ModuleManager;
|
||||
use phpOMS\Router\WebRouter;
|
||||
use phpOMS\Utils\TestUtils;
|
||||
|
||||
/**
|
||||
* @testdox Modules\FleetManagement\tests\Controller\ApiControllerTest: FleetManagement api controller
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
final class ApiControllerTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
protected ApplicationAbstract $app;
|
||||
|
||||
/**
|
||||
* @var \Modules\FleetManagement\Controller\ApiController
|
||||
*/
|
||||
protected ModuleAbstract $module;
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function setUp() : void
|
||||
{
|
||||
$this->app = new class() extends ApplicationAbstract
|
||||
{
|
||||
protected string $appName = 'Api';
|
||||
};
|
||||
|
||||
$this->app->dbPool = $GLOBALS['dbpool'];
|
||||
$this->app->unitId = 1;
|
||||
$this->app->accountManager = new AccountManager($GLOBALS['session']);
|
||||
$this->app->appSettings = new CoreSettings();
|
||||
$this->app->moduleManager = new ModuleManager($this->app, __DIR__ . '/../../../../Modules/');
|
||||
$this->app->dispatcher = new Dispatcher($this->app);
|
||||
$this->app->eventManager = new EventManager($this->app->dispatcher);
|
||||
$this->app->eventManager->importFromFile(__DIR__ . '/../../../../Web/Api/Hooks.php');
|
||||
$this->app->sessionManager = new HttpSession(36000);
|
||||
|
||||
$account = new Account();
|
||||
TestUtils::setMember($account, 'id', 1);
|
||||
|
||||
$permission = new AccountPermission();
|
||||
$permission->setUnit(1);
|
||||
$permission->setApp('backend');
|
||||
$permission->setPermission(
|
||||
PermissionType::READ
|
||||
| PermissionType::CREATE
|
||||
| PermissionType::MODIFY
|
||||
| PermissionType::DELETE
|
||||
| PermissionType::PERMISSION
|
||||
);
|
||||
|
||||
$account->addPermission($permission);
|
||||
|
||||
$this->app->accountManager->add($account);
|
||||
$this->app->router = new WebRouter();
|
||||
|
||||
$this->module = $this->app->moduleManager->get('FleetManagement');
|
||||
|
||||
TestUtils::setMember($this->module, 'app', $this->app);
|
||||
}
|
||||
}
|
||||
20
tests/Models/Vehicle.php
Normal file
20
tests/Models/Vehicle.php
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
/**
|
||||
* Karaka
|
||||
*
|
||||
* PHP Version 8.1
|
||||
*
|
||||
* @package Modules\ClientManagement\Models
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link https://jingga.app
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\FleetManagement\Models;
|
||||
|
||||
class Vehicle
|
||||
{
|
||||
protected int $id = 0;
|
||||
}
|
||||
57
tests/phpunit_default.xml
Executable file
57
tests/phpunit_default.xml
Executable file
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="Bootstrap.php" colors="true" columns="120" stopOnError="true" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false" beStrictAboutTestsThatDoNotTestAnything="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
||||
<coverage includeUncoveredFiles="true" processUncoveredFiles="false">
|
||||
<exclude>
|
||||
<directory>*vendor*</directory>
|
||||
<directory>vendor</directory>
|
||||
<directory>../vendor</directory>
|
||||
<directory>../phpOMS</directory>
|
||||
<directory>../phpOMS*</directory>
|
||||
<directory>../phpOMS/*</directory>
|
||||
<directory>../tests*</directory>
|
||||
<directory>../*/tests*</directory>
|
||||
<directory>../**/tests*</directory>
|
||||
<directory>*/tests*</directory>
|
||||
<directory suffix="tpl.php">../*</directory>
|
||||
<directory suffix="lang.php">../*</directory>
|
||||
<directory suffix="Test.php">../*</directory>
|
||||
<directory suffix="Routes.php">../*</directory>
|
||||
<directory suffix="Hooks.php">../*</directory>
|
||||
<directory>../**/test*</directory>
|
||||
<directory>../**/Theme*</directory>
|
||||
<directory>../**/Admin/Routes*</directory>
|
||||
<directory>../**/Admin/Hooks*</directory>
|
||||
<directory>../**/Admin/Install*</directory>
|
||||
<directory>../Media/Files*</directory>
|
||||
</exclude>
|
||||
<report>
|
||||
<clover outputFile="coverage.xml"/>
|
||||
<html outputDirectory="../tests" lowUpperBound="75" highLowerBound="95"/>
|
||||
</report>
|
||||
</coverage>
|
||||
<testsuites>
|
||||
<testsuite name="Install">
|
||||
<directory>../Karaka/Install/tests*</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Module">
|
||||
<directory>../tests*</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
<groups>
|
||||
<exclude>
|
||||
<group>volume</group>
|
||||
<group>maybe</group>
|
||||
</exclude>
|
||||
</groups>
|
||||
<logging>
|
||||
<junit outputFile="../tests/junit_php.xml"/>
|
||||
<testdoxHtml outputFile="../tests/index.html"/>
|
||||
<testdoxText outputFile="../tests/testdox.txt"/>
|
||||
</logging>
|
||||
<php>
|
||||
<const name="WEB_SERVER_HOST" value="localhost"/>
|
||||
<const name="WEB_SERVER_PORT" value="1234"/>
|
||||
<const name="WEB_SERVER_DOCROOT" value="./"/>
|
||||
<const name="RESET" value="1"/>
|
||||
</php>
|
||||
</phpunit>
|
||||
Loading…
Reference in New Issue
Block a user