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}} - + +
} @else { Paperless-ngx @@ -276,67 +280,67 @@ } - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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")