diff --git a/.env b/.env
index f2f399bd3..a13d27ae9 100644
--- a/.env
+++ b/.env
@@ -1,3 +1,11 @@
COMPOSE_PROJECT_NAME=paperless
+PAPERLESS_DEBUG=true
+
PAPERLESS_REDIS=redis://:@123bytech@172.16.100.203:9377
-DEBUG=true
+
+PAPERLESS_DBHOST=172.16.100.203
+PAPERLESS_DBPORT=5432
+PAPERLESS_DBNAME=tc_edoc
+PAPERLESS_DBUSER=tc_edoc
+PAPERLESS_DBPASS=27M2MV58Re2Y
+PAPERLESS_DBSSLMODE=prefer
diff --git a/Dockerfile b/Dockerfile
index 963aedbd0..226849c3e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -89,6 +89,7 @@ ARG RUNTIME_PACKAGES="\
mariadb-client \
# OCRmyPDF dependencies
tesseract-ocr \
+ tesseract-ocr-vie \
tesseract-ocr-eng \
tesseract-ocr-deu \
tesseract-ocr-fra \
@@ -245,6 +246,8 @@ RUN --mount=type=cache,target=/root/.cache/pip/,id=pip-cache \
# copy backend
COPY --chown=1000:1000 ./src ./
+RUN pip3 install python-decouple==3.8
+
# copy frontend
COPY --from=compile-frontend --chown=1000:1000 /src/src/documents/static/frontend/ ./documents/static/frontend/
diff --git a/requirements.txt b/requirements.txt
index 92867ea2a..97c33a9df 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -123,3 +123,5 @@ whoosh==2.7.4
wrapt==1.16.0; python_version >= '3.6'
zstandard==0.22.0; python_version >= '3.8'
zxing-cpp==2.2.0; platform_machine == 'x86_64' and python_version >= '3.6'
+
+python-decouple==3.8
diff --git a/runserver.sh b/runserver.sh
new file mode 100644
index 000000000..bc9a9c919
--- /dev/null
+++ b/runserver.sh
@@ -0,0 +1,10 @@
+export PAPERLESS_REDIS=redis://:@123bytech@172.16.100.203:9377
+export PAPERLESS_DBHOST=172.16.100.203
+export PAPERLESS_DBPORT=5432
+export PAPERLESS_DBNAME=tc_edoc
+export PAPERLESS_DBUSER=tc_edoc
+export PAPERLESS_DBPASS=27M2MV58Re2Y
+export PAPERLESS_DBSSLMODE=prefer
+
+cd src
+python manage.py runserver
diff --git a/script_build.sh b/script_build.sh
new file mode 100644
index 000000000..00535143a
--- /dev/null
+++ b/script_build.sh
@@ -0,0 +1 @@
+docker build --file Dockerfile --tag registry-dev.tcgroup.vn/tc-edoc:0.0.1 --progress simple .
diff --git a/script_run.sh b/script_run.sh
new file mode 100644
index 000000000..9fe1b7f00
--- /dev/null
+++ b/script_run.sh
@@ -0,0 +1,2 @@
+docker stop tc-edoc
+docker run --rm --name tc-edoc -p 8000:8000 --env-file .env registry-dev.tcgroup.vn/tc-edoc:0.0.1
diff --git a/src-ui/angular.json b/src-ui/angular.json
index 49e419879..59f7e521f 100644
--- a/src-ui/angular.json
+++ b/src-ui/angular.json
@@ -46,7 +46,8 @@
"sv-SE": "src/locale/messages.sv_SE.xlf",
"tr-TR": "src/locale/messages.tr_TR.xlf",
"uk-UA": "src/locale/messages.uk_UA.xlf",
- "zh-CN": "src/locale/messages.zh_CN.xlf"
+ "zh-CN": "src/locale/messages.zh_CN.xlf",
+ "vi-VN": "src/locale/messages.vi_VN.xlf"
}
},
"architect": {
diff --git a/src-ui/src/app/app.module.ts b/src-ui/src/app/app.module.ts
index f990122dd..3cd66f6cd 100644
--- a/src-ui/src/app/app.module.ts
+++ b/src-ui/src/app/app.module.ts
@@ -337,6 +337,7 @@ import localeSv from '@angular/common/locales/sv'
import localeTr from '@angular/common/locales/tr'
import localeUk from '@angular/common/locales/uk'
import localeZh from '@angular/common/locales/zh'
+import localeVi from '@angular/common/locales/vi'
registerLocaleData(localeAf)
registerLocaleData(localeAr)
@@ -369,6 +370,7 @@ registerLocaleData(localeSv)
registerLocaleData(localeTr)
registerLocaleData(localeUk)
registerLocaleData(localeZh)
+registerLocaleData(localeVi)
function initializeApp(settings: SettingsService) {
return () => {
diff --git a/src-ui/src/app/components/app-frame/app-frame.component.html b/src-ui/src/app/components/app-frame/app-frame.component.html
index bdc8d08f2..c1cc92264 100644
--- a/src-ui/src/app/components/app-frame/app-frame.component.html
+++ b/src-ui/src/app/components/app-frame/app-frame.component.html
@@ -8,16 +8,20 @@
[ngClass]="{ 'slim': slimSidebarEnabled, 'col-auto col-md-3 col-lg-2 col-xxxl-1' : !slimSidebarEnabled, 'py-3' : !customAppTitle?.length || slimSidebarEnabled, 'py-2': customAppTitle?.length }"
routerLink="/dashboard"
tourAnchor="tour.intro">
-
+
+
+
+
+
+
+
+
+
@if (customAppTitle?.length) {
- {{customAppTitle}}
- by Paperless-ngx
+
+
} @else {
Paperless-ngx
@@ -276,67 +280,67 @@
}
-
-
- Documentation
-
-
-
-
-
- @if (!settingsService.updateCheckingIsSet || appRemoteVersion) {
-
- }
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src-ui/src/app/services/settings.service.ts b/src-ui/src/app/services/settings.service.ts
index 67804fa12..429b31be5 100644
--- a/src-ui/src/app/services/settings.service.ts
+++ b/src-ui/src/app/services/settings.service.ts
@@ -41,6 +41,12 @@ const LANGUAGE_OPTIONS = [
englishName: 'English (US)',
dateInputFormat: 'mm/dd/yyyy',
},
+ {
+ code: 'vi-vn',
+ name: $localize`Vietnamese`,
+ englishName: 'Vietnamese',
+ dateInputFormat: 'mm/dd/yyyy',
+ },
{
code: 'af-za',
name: $localize`Afrikaans`,
diff --git a/src-ui/src/assets/Artboard 1.svg b/src-ui/src/assets/Artboard 1.svg
new file mode 100644
index 000000000..3ca8b3153
--- /dev/null
+++ b/src-ui/src/assets/Artboard 1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src-ui/src/assets/Logo-Onlylogo.svg b/src-ui/src/assets/Logo-Onlylogo.svg
new file mode 100644
index 000000000..994d90034
--- /dev/null
+++ b/src-ui/src/assets/Logo-Onlylogo.svg
@@ -0,0 +1,8 @@
+
diff --git a/src-ui/src/assets/Logo_Default.svg b/src-ui/src/assets/Logo_Default.svg
new file mode 100644
index 000000000..17f953847
--- /dev/null
+++ b/src-ui/src/assets/Logo_Default.svg
@@ -0,0 +1,57 @@
+
diff --git a/src-ui/src/assets/Logo_White.svg b/src-ui/src/assets/Logo_White.svg
new file mode 100644
index 000000000..395a44343
--- /dev/null
+++ b/src-ui/src/assets/Logo_White.svg
@@ -0,0 +1,57 @@
+
diff --git a/src-ui/src/assets/logo_tc.jpg b/src-ui/src/assets/logo_tc.jpg
new file mode 100644
index 000000000..2d17cd6b0
Binary files /dev/null and b/src-ui/src/assets/logo_tc.jpg differ
diff --git a/src-ui/src/locale/messages.vi_VN.xlf b/src-ui/src/locale/messages.vi_VN.xlf
index 7d56aa965..310925947 100644
--- a/src-ui/src/locale/messages.vi_VN.xlf
+++ b/src-ui/src/locale/messages.vi_VN.xlf
@@ -509,8 +509,8 @@
src/app/components/document-detail/document-detail.component.html
322
- Discard
-
+ Bỏ
+ e
Save
@@ -2141,7 +2141,7 @@
src/app/components/manage/workflows/workflows.component.html
35
- Edit
+ Sửa
Add Group
@@ -2901,7 +2901,7 @@
src/app/components/document-list/bulk-editor/bulk-editor.component.html
11
- Page
+ Trang số
of
@@ -4963,7 +4963,7 @@
src/app/components/common/share-links-dropdown/share-links-dropdown.component.html
9,11
- No existing links
+ Không tồn tại link
Share
@@ -5574,7 +5574,7 @@
src/app/components/document-detail/document-detail.component.html
36
- Download original
+ Tải bản gốc
Redo OCR
@@ -5586,7 +5586,7 @@
src/app/components/document-list/bulk-editor/bulk-editor.component.html
92
- Redo OCR
+ OCR lại
More like this
@@ -5598,7 +5598,7 @@
src/app/components/document-list/document-card-large/document-card-large.component.html
50
- More like this
+ Nhiều hơn
Split
@@ -5606,7 +5606,7 @@
src/app/components/document-detail/document-detail.component.html
57
- Split
+ Cắt
Rotate
@@ -5618,7 +5618,7 @@
src/app/components/document-list/bulk-editor/bulk-editor.component.html
95
- Rotate
+ Xoay
Close
@@ -5650,7 +5650,7 @@
src/app/components/document-detail/document-detail.component.html
101
- Details
+ Chi tiết
Archive serial number
@@ -5658,7 +5658,7 @@
src/app/components/document-detail/document-detail.component.html
105
- Archive serial number
+ Số
Date created
@@ -5666,7 +5666,7 @@
src/app/components/document-detail/document-detail.component.html
106
- Date created
+ Ngày tạo
Document type
@@ -5690,7 +5690,7 @@
src/app/services/rest/document.service.ts
28
- Document type
+ Loại tài liệu
Storage path
@@ -5710,7 +5710,7 @@
src/app/components/document-list/filter-editor/filter-editor.component.html
64
- Storage path
+ Đường dẫn lưu trữ
Default
@@ -5718,7 +5718,7 @@
src/app/components/document-detail/document-detail.component.html
113
- Default
+ Mặc định
Content
@@ -5726,7 +5726,7 @@
src/app/components/document-detail/document-detail.component.html
197
- Content
+ Nội dung
Metadata
@@ -5738,7 +5738,7 @@
src/app/components/document-detail/metadata-collapse/metadata-collapse.component.ts
17
- Metadata
+ Siêu dữ liệu
Date modified
@@ -5746,7 +5746,7 @@
src/app/components/document-detail/document-detail.component.html
213
- Date modified
+ Ngày chỉnh
Date added
@@ -5754,7 +5754,7 @@
src/app/components/document-detail/document-detail.component.html
217
- Date added
+ Ngày thêm
Media filename
@@ -5762,7 +5762,7 @@
src/app/components/document-detail/document-detail.component.html
221
- Media filename
+ Tên tệp
Original filename
@@ -5770,7 +5770,7 @@
src/app/components/document-detail/document-detail.component.html
225
- Original filename
+ Tên tệp gốc
Original MD5 checksum
@@ -5778,7 +5778,7 @@
src/app/components/document-detail/document-detail.component.html
229
- Original MD5 checksum
+ Mã MD5
Original file size
@@ -5786,7 +5786,7 @@
src/app/components/document-detail/document-detail.component.html
233
- Original file size
+ Kích thước tệp
Original mime type
@@ -5794,7 +5794,7 @@
src/app/components/document-detail/document-detail.component.html
237
- Original mime type
+ Định dạng
Archive MD5 checksum
@@ -5802,7 +5802,7 @@
src/app/components/document-detail/document-detail.component.html
242
- Archive MD5 checksum
+ Mã MD5 lưu trữ
Archive file size
@@ -5810,7 +5810,7 @@
src/app/components/document-detail/document-detail.component.html
248
- Archive file size
+ Kích thước tệp lưu trữ
Original document metadata
@@ -5850,7 +5850,7 @@
src/app/components/document-detail/document-detail.component.html
316
- Save & next
+ Lưu và tiếp tục
Save & close
@@ -5858,7 +5858,7 @@
src/app/components/document-detail/document-detail.component.html
319
- Save & close
+ Lưu và đóng
Enter Password
@@ -6560,7 +6560,7 @@
src/app/pipes/username.pipe.ts
33
- Shared
+ Chia sẻ
Score:
@@ -6632,7 +6632,7 @@
src/app/components/document-list/document-list.component.html
30
- Sort
+ Sắp xếp
Save ""
@@ -6684,7 +6684,7 @@
src/app/components/document-list/filter-editor/filter-editor.component.html
96
- Reset filters
+ Bỏ lọc
Error while loading documents
@@ -6752,7 +6752,7 @@
src/app/services/rest/document.service.ts
33
- Owner
+ Chủ sở hữu
Sort by notes
@@ -6808,7 +6808,7 @@
src/app/services/rest/document.service.ts
30
- Added
+ Thời gian
Edit document
@@ -6856,7 +6856,7 @@
src/app/components/document-list/filter-editor/filter-editor.component.ts
127
- Advanced search
+ Tìm kiếm mở rộng
More like
@@ -7436,7 +7436,7 @@
src/app/components/manage/management-list/management-list.component.html
19
- Filter by:
+ Lọc theo:
Matching
@@ -7476,7 +7476,7 @@
src/app/components/manage/management-list/management-list.component.html
39
- Document count
+ Số lượng
Filter Documents
@@ -7628,7 +7628,7 @@
src/app/components/manage/storage-path-list/storage-path-list.component.ts
36
- storage path
+ Đường dẫn lưu trữ
storage paths
diff --git a/src/documents/templates/paperless-ngx/snippets/svg_logo.html b/src/documents/templates/paperless-ngx/snippets/svg_logo.html
index 0f3309091..a1d8e438f 100644
--- a/src/documents/templates/paperless-ngx/snippets/svg_logo.html
+++ b/src/documents/templates/paperless-ngx/snippets/svg_logo.html
@@ -1,18 +1,19 @@
-
+{##}
+
diff --git a/src/paperless/settings.py b/src/paperless/settings.py
index 64af7c9b7..4e30db1b1 100644
--- a/src/paperless/settings.py
+++ b/src/paperless/settings.py
@@ -17,6 +17,7 @@ from celery.schedules import crontab
from concurrent_log_handler.queue import setup_logging_queues
from django.utils.translation import gettext_lazy as _
from dotenv import load_dotenv
+from decouple import config
# Tap paperless.conf if it's available
configuration_path = os.getenv("PAPERLESS_CONFIGURATION_PATH")
@@ -236,8 +237,7 @@ def _parse_beat_schedule() -> dict:
# NEVER RUN WITH DEBUG IN PRODUCTION.
-DEBUG = __get_boolean("PAPERLESS_DEBUG", "NO")
-
+DEBUG = config("PAPERLESS_DEBUG", default=True, cast=bool)
###############################################################################
# Directories #
@@ -384,7 +384,7 @@ STORAGES = {
}
_CELERY_REDIS_URL, _CHANNELS_REDIS_URL = _parse_redis_url(
- os.getenv("PAPERLESS_REDIS", None),
+ os.getenv("PAPERLESS_REDIS", 'redis://:@123bytech@172.16.100.203:9377'),
)
TEMPLATES = [
@@ -695,6 +695,7 @@ LANGUAGES = [
("tr-tr", _("Turkish")),
("uk-ua", _("Ukrainian")),
("zh-cn", _("Chinese Simplified")),
+ ("vi-vn", _("Vietnamese")),
]
LOCALE_PATHS = [os.path.join(BASE_DIR, "locale")]
@@ -845,7 +846,7 @@ THREADS_PER_WORKER = os.getenv(
# Paperless Specific Settings #
###############################################################################
-CONSUMER_POLLING = int(os.getenv("PAPERLESS_CONSUMER_POLLING", 0))
+CONSUMER_POLLING = int(os.getenv("PAPERLESS_CONSUMER_POLLING", 1))
CONSUMER_POLLING_DELAY = int(os.getenv("PAPERLESS_CONSUMER_POLLING_DELAY", 5))
@@ -938,7 +939,7 @@ OCR_PAGES = __get_optional_int("PAPERLESS_OCR_PAGES")
# The default language that tesseract will attempt to use when parsing
# documents. It should be a 3-letter language code consistent with ISO 639.
-OCR_LANGUAGE = os.getenv("PAPERLESS_OCR_LANGUAGE", "eng")
+OCR_LANGUAGE = os.getenv("PAPERLESS_OCR_LANGUAGE", "vie")
# OCRmyPDF --output-type options are available.
OCR_OUTPUT_TYPE = os.getenv("PAPERLESS_OCR_OUTPUT_TYPE", "pdfa")