Compare commits
No commits in common. "efb56cf09bb6b43176616863dfaf0e331ba4fdb2" and "8591cc93e771a574b3f7ee0d146d19a70a6c8bf0" have entirely different histories.
efb56cf09b
...
8591cc93e7
218
.gitignore
vendored
|
|
@ -1,149 +1,136 @@
|
|||
# ╔═══════════════════════════════════════════════════════════════════════════╗
|
||||
# ║ ║
|
||||
# ║ ███████╗ ██████╗██╗ ██╗ ██████╗ ███╗ ██╗ ║
|
||||
# ║ ██╔════╝██╔════╝██║ ██║██╔═══██╗████╗ ██║ ║
|
||||
# ║ ███████╗██║ ███████║██║ ██║██╔██╗ ██║ ║
|
||||
# ║ ╚════██║██║ ██╔══██║██║ ██║██║╚██╗██║ ║
|
||||
# ║ ███████║╚██████╗██║ ██║╚██████╔╝██║ ╚████║ ║
|
||||
# ║ ╚══════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ║
|
||||
# ║ ║
|
||||
# ╚═══════════════════════════════════════════════════════════════════════════╝
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Python │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# Bytecode & compiled
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Python bytecode, caches, and compiled artifacts
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Byte-compiled / optimized / DLL files
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
|
||||
# Caches
|
||||
# Cache directories
|
||||
__pycache__/
|
||||
.pytest_cache/
|
||||
.hypothesis/
|
||||
.mypy_cache/
|
||||
.pyre/
|
||||
.pytype/
|
||||
.mypy_cache/
|
||||
.dmypy.json
|
||||
dmypy.json
|
||||
cython_debug/
|
||||
|
||||
# Virtual environments
|
||||
# Python environments
|
||||
.Python
|
||||
.venv/
|
||||
venv/
|
||||
env/
|
||||
ENV/
|
||||
env.bak/
|
||||
ENV.bak/
|
||||
venv/
|
||||
venv.bak/
|
||||
ENV/
|
||||
.venv/
|
||||
__pypackages__/
|
||||
.python-version
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Django │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# Local Django settings and database
|
||||
local_settings.py
|
||||
db.sqlite3
|
||||
db.sqlite3-journal
|
||||
|
||||
# Django backups and metadata
|
||||
instance/
|
||||
backups/
|
||||
|
||||
# Static & media (collected)
|
||||
static/
|
||||
media/
|
||||
|
||||
# Allow checked-in app static files
|
||||
!engine/core/static/
|
||||
!engine/payments/static/
|
||||
!engine/vibes_auth/static/
|
||||
!engine/blog/static/
|
||||
|
||||
# Celery
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Testing & Coverage │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
htmlcov/
|
||||
.coverage
|
||||
.coverage.*
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Logs and reports
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
logs/
|
||||
*.log
|
||||
debug.log
|
||||
errors.log
|
||||
test.json
|
||||
coverage.xml
|
||||
coverage.*
|
||||
*.cover
|
||||
*.py,cover
|
||||
nosetests.xml
|
||||
test.json
|
||||
tmp
|
||||
|
||||
# Coverage / test reports
|
||||
htmlcov/
|
||||
.coverage
|
||||
.coverage.*
|
||||
|
||||
# CI / tox / nox
|
||||
.tox/
|
||||
.nox/
|
||||
.scrapy
|
||||
.cover
|
||||
.pybuilder/
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Logs │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
logs/
|
||||
*.log
|
||||
debug.log
|
||||
errors.log
|
||||
tmp/
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Build & Distribution │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
build/
|
||||
dist/
|
||||
dist-ssr/
|
||||
sdist/
|
||||
wheels/
|
||||
*.egg
|
||||
*.egg-info/
|
||||
*.manifest
|
||||
*.spec
|
||||
.installed.cfg
|
||||
MANIFEST
|
||||
share/python-wheels/
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Node.js & Frontend │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
node_modules/
|
||||
# Storefronts
|
||||
.nuxt/
|
||||
.next/
|
||||
next-env.d.ts
|
||||
*.tsbuildinfo
|
||||
.webassets-cache/
|
||||
site/
|
||||
|
||||
# Debug logs
|
||||
# Celery
|
||||
celerybeat-schedule
|
||||
celerybeat.pid
|
||||
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Packaging and distribution
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
build/
|
||||
dist/
|
||||
dist-ssr/
|
||||
*.egg
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
MANIFEST
|
||||
*.manifest
|
||||
*.spec
|
||||
sdist/
|
||||
wheels/
|
||||
share/python-wheels/
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
desktop.ini
|
||||
*.iml
|
||||
|
||||
# Node build artifacts
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
site/
|
||||
|
||||
# Cypress
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Static, media, and uploads
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
static/
|
||||
media/
|
||||
|
||||
# Allow checked-in static from apps
|
||||
!engine/core/static/
|
||||
!engine/payments/static/
|
||||
!engine/vibes_auth/static/
|
||||
!engine/blog/static/
|
||||
|
||||
# Webassets
|
||||
.webassets-cache/
|
||||
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Node dependencies
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
node_modules/
|
||||
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# Cypress test artifacts
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
cypress/videos/
|
||||
cypress/screenshots/
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ IDEs & Editors │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# IDEs and editors
|
||||
# ──────────────────────────────────────────────────────────────────────────
|
||||
# VSCode
|
||||
.vscode/
|
||||
!.vscode/extensions.json
|
||||
|
|
@ -152,46 +139,33 @@ cypress/screenshots/
|
|||
.idea/
|
||||
!.idea/icon.svg
|
||||
!.idea/externalDependencies.xml
|
||||
!.idea/schon.iml
|
||||
!.idea/evibes.iml
|
||||
!.idea/evibes.ico
|
||||
|
||||
# Visual Studio
|
||||
# Microsoft
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
# Spyder & Rope
|
||||
# Spyder / Rope
|
||||
.spyderproject
|
||||
.spyproject
|
||||
.ropeproject
|
||||
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ OS & System │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
desktop.ini
|
||||
*.iml
|
||||
|
||||
# TypeScript
|
||||
*.tsbuildinfo
|
||||
|
||||
# ┌───────────────────────────────────────────────────────────────────────────┐
|
||||
# │ Project-specific │
|
||||
# └───────────────────────────────────────────────────────────────────────────┘
|
||||
|
||||
# Environment
|
||||
# Environment file
|
||||
.env
|
||||
|
||||
# Development
|
||||
# Development stuff
|
||||
test.ipynb
|
||||
.scrapy
|
||||
.cover
|
||||
.pybuilder/
|
||||
|
||||
# Production
|
||||
# Production stuff
|
||||
.initialized
|
||||
queries/
|
||||
|
||||
# AI assistants
|
||||
.claude/
|
||||
queries
|
||||
51
.gitlab-ci.yml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
image: ghcr.io/astral-sh/uv:python3.12-bookworm
|
||||
|
||||
stages:
|
||||
- lint
|
||||
- typecheck
|
||||
- test
|
||||
|
||||
variables:
|
||||
UV_PYTHON: "3.12"
|
||||
PIP_DISABLE_PIP_VERSION_CHECK: "1"
|
||||
PYTHONDONTWRITEBYTECODE: "1"
|
||||
|
||||
before_script:
|
||||
- uv sync --frozen --extra linting
|
||||
|
||||
lint:
|
||||
stage: lint
|
||||
script:
|
||||
- uv run ruff format --check .
|
||||
- uv run ruff check --force-exclude .
|
||||
rules:
|
||||
- changes:
|
||||
- "**/*.py"
|
||||
- "pyproject.toml"
|
||||
- ".pre-commit-config.yaml"
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
typecheck:
|
||||
stage: typecheck
|
||||
script:
|
||||
- uv run ty check
|
||||
rules:
|
||||
- changes:
|
||||
- "**/*.py"
|
||||
- "pyproject.toml"
|
||||
when: on_success
|
||||
- when: never
|
||||
|
||||
test:
|
||||
stage: test
|
||||
script:
|
||||
- uv run pytest -q
|
||||
rules:
|
||||
- changes:
|
||||
- "**/*.py"
|
||||
- "pyproject.toml"
|
||||
- "pytest.ini"
|
||||
- "pyproject.toml"
|
||||
when: on_success
|
||||
- when: never
|
||||
BIN
.idea/evibes.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
1268
.idea/icon.svg
|
Before Width: | Height: | Size: 355 KiB After Width: | Height: | Size: 1.4 KiB |
35
CHANGELOG.md
|
|
@ -1,35 +0,0 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to Schon are documented in this file.
|
||||
|
||||
Version format follows [CalVer](https://calver.org/) as `YYYY.MAJOR`.
|
||||
|
||||
---
|
||||
|
||||
## [2026.1] - 2026-01-25
|
||||
|
||||
Initial CalVer release. Project renamed from eVibes to Schon.
|
||||
|
||||
### Highlights
|
||||
|
||||
- Complete rebrand from eVibes to Schon
|
||||
- Native Linux deployment with systemd service files
|
||||
- uv-based dependency management
|
||||
- Interactive installer supporting Docker and native deployments
|
||||
- Professional documentation and project structure
|
||||
|
||||
### Added
|
||||
|
||||
- systemd service files for production deployment (`schon-web`, `schon-worker`, `schon-beat`, `schon-stock-updater`)
|
||||
- Native Linux installation script with automated setup
|
||||
- CHANGELOG.md for tracking releases
|
||||
|
||||
### Changed
|
||||
|
||||
- Project name: eVibes to Schon
|
||||
- Version scheme: SemVer to CalVer (YYYY.MAJOR)
|
||||
- Installation: `make install` now prompts for Docker vs native deployment
|
||||
|
||||
### Removed
|
||||
|
||||
- Legacy eVibes branding and assets
|
||||
|
|
@ -26,7 +26,7 @@ uv.lock @fureunoir contact@fureunoir.com
|
|||
|
||||
blog/ @fureunoir contact@fureunoir.com
|
||||
core/ @fureunoir contact@fureunoir.com
|
||||
schon/ @fureunoir contact@fureunoir.com
|
||||
evibes/ @fureunoir contact@fureunoir.com
|
||||
payments/ @fureunoir contact@fureunoir.com
|
||||
scripts/ @fureunoir contact@fureunoir.com
|
||||
vibes_auth/ @fureunoir contact@fureunoir.com
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ RUN set -eux; \
|
|||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
ENV PATH="/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
RUN uv venv /opt/schon-python
|
||||
ENV VIRTUAL_ENV=/opt/schon-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/schon-python
|
||||
ENV PATH="/opt/schon-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
RUN uv venv /opt/evibes-python
|
||||
ENV VIRTUAL_ENV=/opt/evibes-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/evibes-python
|
||||
ENV PATH="/opt/evibes-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
COPY pyproject.toml pyproject.toml
|
||||
COPY uv.lock uv.lock
|
||||
|
|
|
|||
|
|
@ -37,10 +37,11 @@ RUN set -eux; \
|
|||
|
||||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
ENV PATH="/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
RUN uv venv /opt/schon-python
|
||||
ENV VIRTUAL_ENV=/opt/schon-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/schon-python
|
||||
ENV PATH="/opt/schon-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/evibes-python
|
||||
ENV PATH="/opt/evibes-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
RUN uv venv /opt/evibes-python
|
||||
ENV VIRTUAL_ENV=/opt/evibes-python
|
||||
|
||||
COPY pyproject.toml pyproject.toml
|
||||
COPY uv.lock uv.lock
|
||||
|
|
|
|||
|
|
@ -37,10 +37,11 @@ RUN set -eux; \
|
|||
|
||||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
ENV PATH="/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
RUN uv venv /opt/schon-python
|
||||
ENV VIRTUAL_ENV=/opt/schon-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/schon-python
|
||||
ENV PATH="/opt/schon-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/evibes-python
|
||||
ENV PATH="/opt/evibes-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
RUN uv venv /opt/evibes-python
|
||||
ENV VIRTUAL_ENV=/opt/evibes-python
|
||||
|
||||
COPY pyproject.toml pyproject.toml
|
||||
COPY uv.lock uv.lock
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
FROM node:22-bookworm-slim AS build
|
||||
WORKDIR /app
|
||||
|
||||
ARG schon_BASE_DOMAIN
|
||||
ARG schon_PROJECT_NAME
|
||||
ENV schon_BASE_DOMAIN=$schon_BASE_DOMAIN
|
||||
ENV schon_PROJECT_NAME=$schon_PROJECT_NAME
|
||||
ARG EVIBES_BASE_DOMAIN
|
||||
ARG EVIBES_PROJECT_NAME
|
||||
ENV EVIBES_BASE_DOMAIN=$EVIBES_BASE_DOMAIN
|
||||
ENV EVIBES_PROJECT_NAME=$EVIBES_PROJECT_NAME
|
||||
|
||||
COPY ./supervisor/package.json ./supervisor/package-lock.json ./
|
||||
RUN npm ci --include=optional
|
||||
|
|
|
|||
|
|
@ -38,10 +38,10 @@ RUN set -eux; \
|
|||
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
ENV PATH="/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
RUN uv venv /opt/schon-python
|
||||
ENV VIRTUAL_ENV=/opt/schon-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/schon-python
|
||||
ENV PATH="/opt/schon-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
RUN uv venv /opt/evibes-python
|
||||
ENV VIRTUAL_ENV=/opt/evibes-python
|
||||
ENV UV_PROJECT_ENVIRONMENT=/opt/evibes-python
|
||||
ENV PATH="/opt/evibes-python/bin:/root/.local/bin:/root/.cargo/bin:$PATH"
|
||||
|
||||
COPY pyproject.toml pyproject.toml
|
||||
COPY uv.lock uv.lock
|
||||
|
|
|
|||
6
LICENSE
|
|
@ -1,8 +1,8 @@
|
|||
Schon License – Version 2.0, April 29, 2025
|
||||
eVibes License – Version 2.0, April 29, 2025
|
||||
|
||||
Copyright (c) 2025 Egor “fureunoir” Gorbunov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the Schon software and associated documentation (the “Software”), to use, copy, modify, merge, publish, distribute, and sublicense the Software, subject to the terms and conditions below. Any distribution of the Software (in source or binary form) must include a copy of this License and preserve the above copyright notice. By using the Software, you indicate your acceptance of these terms. If you do not agree to these terms, you have no rights to use the Software.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the eVibes software and associated documentation (the “Software”), to use, copy, modify, merge, publish, distribute, and sublicense the Software, subject to the terms and conditions below. Any distribution of the Software (in source or binary form) must include a copy of this License and preserve the above copyright notice. By using the Software, you indicate your acceptance of these terms. If you do not agree to these terms, you have no rights to use the Software.
|
||||
|
||||
1. Non-Commercial Use
|
||||
The Software is provided at no cost for personal, academic, or other non-commercial purposes. “Non-Commercial Use” means any use of the Software that does not generate income (directly or indirectly) and is not part of a for-profit or revenue-generating activity. For Non-Commercial Use, the Software is provided “AS IS” and without any warranty or liability. You may freely use and modify the Software for Non-Commercial purposes, and you may distribute it for non-commercial ends as long as this License is included and the same terms apply to all recipients.
|
||||
|
|
@ -55,4 +55,4 @@ Egor “fureunoir” Gorbunov
|
|||
Email: contact@fureunoir.com
|
||||
Telegram: https://t.me/fureunoir
|
||||
|
||||
By using the Schon framework, you acknowledge that you have read and understood this License and agree to be bound by its terms.
|
||||
By using the eVibes framework, you acknowledge that you have read and understood this License and agree to be bound by its terms.
|
||||
|
|
|
|||
100
Makefile
|
|
@ -1,100 +0,0 @@
|
|||
.PHONY: help install run restart test test-xml test-html uninstall backup \
|
||||
generate-env export-env make-messages compile-messages \
|
||||
format check typecheck precommit
|
||||
|
||||
# Detect OS and set script paths
|
||||
ifeq ($(OS),Windows_NT)
|
||||
SCRIPT_DIR := scripts/Windows
|
||||
SCRIPT_EXT := .ps1
|
||||
RUN_SCRIPT = pwsh -ExecutionPolicy Bypass -File ./$(SCRIPT_DIR)/$(1)$(SCRIPT_EXT)
|
||||
else
|
||||
SCRIPT_DIR := scripts/Unix
|
||||
SCRIPT_EXT := .sh
|
||||
RUN_SCRIPT = bash ./$(SCRIPT_DIR)/$(1)$(SCRIPT_EXT)
|
||||
endif
|
||||
|
||||
help:
|
||||
@echo "Schon Project Management"
|
||||
@echo ""
|
||||
@echo "Usage: make [target]"
|
||||
@echo ""
|
||||
@echo "Targets:"
|
||||
@echo " install Pull and build Docker images"
|
||||
@echo " run Start all services"
|
||||
@echo " restart Restart all services"
|
||||
@echo " test Run tests with coverage"
|
||||
@echo " test-xml Generate XML coverage report"
|
||||
@echo " test-html Generate HTML coverage report"
|
||||
@echo " uninstall Remove containers, volumes, and generated files"
|
||||
@echo " backup Create a backup"
|
||||
@echo " generate-env Generate .env file from template"
|
||||
@echo " export-env Export environment variables"
|
||||
@echo " make-messages Extract translation strings"
|
||||
@echo " compile-messages Compile translation files"
|
||||
@echo " format Format code with ruff"
|
||||
@echo " check Lint code with ruff"
|
||||
@echo " typecheck Typecheck code with ty"
|
||||
@echo " precommit Run format, check, and typecheck"
|
||||
@echo ""
|
||||
@echo "Detected OS: $(if $(filter Windows_NT,$(OS)),Windows,Unix)"
|
||||
@echo "Scripts directory: $(SCRIPT_DIR)"
|
||||
|
||||
install:
|
||||
@$(call RUN_SCRIPT,install)
|
||||
|
||||
run:
|
||||
@$(call RUN_SCRIPT,run)
|
||||
|
||||
restart:
|
||||
@$(call RUN_SCRIPT,restart)
|
||||
|
||||
test:
|
||||
@$(call RUN_SCRIPT,test)
|
||||
|
||||
test-xml:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
@pwsh -ExecutionPolicy Bypass -File ./$(SCRIPT_DIR)/test$(SCRIPT_EXT) -r xml
|
||||
else
|
||||
@bash ./$(SCRIPT_DIR)/test$(SCRIPT_EXT) --report xml
|
||||
endif
|
||||
|
||||
test-html:
|
||||
ifeq ($(OS),Windows_NT)
|
||||
@pwsh -ExecutionPolicy Bypass -File ./$(SCRIPT_DIR)/test$(SCRIPT_EXT) -r html
|
||||
else
|
||||
@bash ./$(SCRIPT_DIR)/test$(SCRIPT_EXT) --report html
|
||||
endif
|
||||
|
||||
uninstall:
|
||||
@echo "This will remove all Docker containers, volumes, and generated files."
|
||||
ifeq ($(OS),Windows_NT)
|
||||
@pwsh -Command "$$confirm = Read-Host 'Continue? [y/N]'; if ($$confirm -eq 'y') { pwsh -ExecutionPolicy Bypass -File ./$(SCRIPT_DIR)/uninstall$(SCRIPT_EXT) } else { Write-Host 'Uninstall cancelled.' }"
|
||||
else
|
||||
@read -p "Continue? [y/N] " confirm && [ "$$confirm" = "y" ] && bash ./$(SCRIPT_DIR)/uninstall$(SCRIPT_EXT) || echo "Uninstall cancelled."
|
||||
endif
|
||||
|
||||
backup:
|
||||
@$(call RUN_SCRIPT,backup)
|
||||
|
||||
generate-env:
|
||||
@$(call RUN_SCRIPT,generate-environment-file)
|
||||
|
||||
export-env:
|
||||
@$(call RUN_SCRIPT,export-environment-file)
|
||||
|
||||
make-messages:
|
||||
@$(call RUN_SCRIPT,make-messages)
|
||||
|
||||
compile-messages:
|
||||
@$(call RUN_SCRIPT,compile-messages)
|
||||
|
||||
format:
|
||||
@ruff format
|
||||
|
||||
check:
|
||||
@ruff check
|
||||
|
||||
typecheck:
|
||||
@ty check
|
||||
|
||||
precommit: format check typecheck
|
||||
317
README.md
|
|
@ -1,263 +1,132 @@
|
|||
# Schon
|
||||
# eVibes
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
<p align="center">
|
||||
<img src="engine/core/static/logo.png" alt="Schon Logo" width="200"/>
|
||||
</p>
|
||||
eVibes — a lightweight, production-ready e‑commerce backend. Storefront, product catalog, cart, and orders work out of the box. Minimal complexity, maximum flexibility — install, adjust to your needs, and start selling.
|
||||
|
||||
**Schon** is a production-ready e-commerce backend. Storefront, product catalog, cart, orders, and payments work out of the box. Minimal complexity, maximum flexibility.
|
||||
- Public issues: https://plane.wiseless.xyz/spaces/issues/dd33cb0ab9b04ef08a10f7eefae6d90c/?board=kanban
|
||||
|
||||
---
|
||||
## Table of Contents
|
||||
|
||||
## What is Schon?
|
||||
|
||||
Schon is a complete backend solution for online stores. Whether you're launching a small shop or scaling a marketplace, Schon provides the foundation:
|
||||
|
||||
- **Ready to use** - Clone, configure, deploy. No assembly required.
|
||||
- **API-first** - REST and GraphQL endpoints for any frontend framework.
|
||||
- **Multilingual** - 28 languages supported out of the box.
|
||||
- **Extensible** - Modular Django apps, easy to customize.
|
||||
|
||||
---
|
||||
- Features
|
||||
- Quick Start
|
||||
- Prerequisites
|
||||
- Installation
|
||||
- Configuration
|
||||
- Dockerfile
|
||||
- nginx
|
||||
- .env
|
||||
- Usage
|
||||
- Contributing
|
||||
- Contact
|
||||
- License
|
||||
|
||||
## Features
|
||||
|
||||
| Category | Details |
|
||||
|----------|---------|
|
||||
| **Framework** | Django 5.2, Django REST Framework 3.16, Graphene-Django |
|
||||
| **Database** | PostgreSQL with PostGIS, Redis caching, Elasticsearch search |
|
||||
| **Tasks** | Celery workers with Redis broker, scheduled tasks with Beat |
|
||||
| **Auth** | JWT authentication, rate limiting, custom user model (email-based) |
|
||||
| **APIs** | REST + GraphQL, Swagger/ReDoc documentation |
|
||||
| **i18n** | 28 languages, model translation support |
|
||||
| **Deployment** | Docker Compose or native Linux with systemd |
|
||||
|
||||
---
|
||||
- Modular backend, easy to extend and customize
|
||||
- Dockerized deployment with Docker Compose
|
||||
- Celery workers and beat for background tasks
|
||||
- REST and GraphQL APIs
|
||||
- Internationalization with modeltranslation
|
||||
- Redis-based caching and queues
|
||||
- JWT auth and rate limiting
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Git
|
||||
- Docker and Docker Compose **or** Linux with Python 3.12+, PostgreSQL, Redis, Elasticsearch
|
||||
- Docker and Docker Compose
|
||||
|
||||
### Docker (Recommended for Development)
|
||||
### Installation
|
||||
|
||||
1. Clone the repository
|
||||
```bash
|
||||
# Clone the repository
|
||||
git clone https://git.wiseless.xyz/fureunoir/schon
|
||||
cd schon
|
||||
|
||||
# Generate environment file
|
||||
make generate-env
|
||||
|
||||
# Review and adjust .env as needed
|
||||
nano .env
|
||||
|
||||
# Install (pull and build images)
|
||||
make install
|
||||
|
||||
# Start all services
|
||||
make run
|
||||
git clone https://gitlab.com/wiseless.xyz/eVibes.git
|
||||
cd eVibes
|
||||
```
|
||||
|
||||
### Native Linux (Production)
|
||||
|
||||
```bash
|
||||
# Clone to /opt/schon
|
||||
sudo git clone https://git.wiseless.xyz/fureunoir/schon /opt/schon
|
||||
cd /opt/schon
|
||||
|
||||
# Generate environment file
|
||||
make generate-env
|
||||
|
||||
# Review and adjust .env
|
||||
sudo nano .env
|
||||
|
||||
# Install (creates schon user, syncs dependencies, configures systemd)
|
||||
sudo make install
|
||||
# Select option 2: Native Linux
|
||||
|
||||
# Start services
|
||||
sudo systemctl start schon-web schon-worker schon-beat schon-stock-updater
|
||||
```
|
||||
|
||||
### Storefronts
|
||||
|
||||
The `main` branch ships backend-only. For a complete store with frontend:
|
||||
|
||||
2. Choose a storefront (optional). The `main` branch ships without a storefront. If you want one, pick a branch:
|
||||
```bash
|
||||
git checkout storefront-<nuxt|next|sk|qwik>
|
||||
```
|
||||
|
||||
---
|
||||
3. Generate your .env file and review its values
|
||||
- Windows
|
||||
```powershell
|
||||
scripts\Windows\generate-environment-file.ps1
|
||||
```
|
||||
- Unix
|
||||
```bash
|
||||
scripts/Unix/generate-environment-file.sh
|
||||
```
|
||||
|
||||
4. Install dependencies
|
||||
- Windows
|
||||
```powershell
|
||||
scripts\Windows\install.ps1
|
||||
```
|
||||
- Unix
|
||||
```bash
|
||||
scripts/Unix/install.sh
|
||||
```
|
||||
|
||||
5. Run the stack
|
||||
- Windows
|
||||
```powershell
|
||||
scripts\Windows\run.ps1
|
||||
```
|
||||
- Unix
|
||||
```bash
|
||||
scripts/Unix/run.sh
|
||||
```
|
||||
|
||||
6. Production checklist
|
||||
- Include `nginx.conf` into your Nginx setup
|
||||
- Issue TLS certs with Certbot (https://certbot.eff.org/)
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
After running `make generate-env`, review `.env`:
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `DEBUG` | Set to `0` for production |
|
||||
| `SECRET_KEY` | Django secret key (auto-generated) |
|
||||
| `JWT_SIGNING_KEY` | JWT token signing key (auto-generated) |
|
||||
| `POSTGRES_*` | Database credentials |
|
||||
| `REDIS_PASSWORD` | Redis authentication |
|
||||
| `SCHON_PROJECT_NAME` | Your store name |
|
||||
| `SCHON_BASE_DOMAIN` | Your domain (e.g., `example.com`) |
|
||||
|
||||
### Nginx
|
||||
|
||||
1. Copy the example config:
|
||||
```bash
|
||||
sudo cp nginx.example.conf /etc/nginx/sites-available/schon
|
||||
### Dockerfile
|
||||
If you rely on locale mirrors, adjust Debian sources before running installation scripts:
|
||||
```
|
||||
RUN sed -i 's|https://deb.debian.org/debian|https://ftp.<locale>.debian.org/debian|g' /etc/apt/sources.list.d/debian.sources
|
||||
```
|
||||
|
||||
2. Update domain names and paths in the config
|
||||
### nginx
|
||||
- Comment out SSL-related lines
|
||||
- Apply your domain-specific settings
|
||||
- Run `certbot --cert-only --nginx`
|
||||
- Uncomment SSL lines and reload Nginx
|
||||
|
||||
3. Enable the site:
|
||||
```bash
|
||||
sudo ln -s /etc/nginx/sites-available/schon /etc/nginx/sites-enabled/
|
||||
```
|
||||
### .env
|
||||
After generation, review and update secrets and credentials (API keys, DB password, Redis password, etc.).
|
||||
|
||||
4. Obtain SSL certificates:
|
||||
```bash
|
||||
sudo certbot --nginx -d api.yourdomain.com -d yourdomain.com -d www.yourdomain.com
|
||||
```
|
||||
## Usage
|
||||
|
||||
5. Reload Nginx:
|
||||
```bash
|
||||
sudo systemctl reload nginx
|
||||
```
|
||||
- DNS records you’ll typically want:
|
||||
1. @.your-domain.com
|
||||
2. www.your-domain.com
|
||||
3. api.your-domain.com
|
||||
4. prometheus.your-domain.com
|
||||
|
||||
### DNS Records
|
||||
- Once running, access:
|
||||
- API root / Admin redirect: http://api.localhost:8000/
|
||||
- REST docs: http://api.localhost:8000/docs/swagger or http://api.localhost:8000/docs/redoc
|
||||
- GraphQL: http://api.localhost:8000/graphql/
|
||||
|
||||
Configure these DNS records pointing to your server:
|
||||
## Contributing
|
||||
|
||||
- `yourdomain.com` (A record)
|
||||
- `www.yourdomain.com` (A or CNAME)
|
||||
- `api.yourdomain.com` (A or CNAME)
|
||||
- `prometheus.yourdomain.com` (A or CNAME, optional)
|
||||
|
||||
---
|
||||
|
||||
## API Documentation
|
||||
|
||||
Once running, access the API documentation:
|
||||
|
||||
| Endpoint | Description |
|
||||
|----------|-------------|
|
||||
| `http://api.localhost:8000/` | API root / Admin redirect |
|
||||
| `http://api.localhost:8000/docs/swagger/` | Swagger UI |
|
||||
| `http://api.localhost:8000/docs/redoc/` | ReDoc |
|
||||
| `http://api.localhost:8000/graphql/` | GraphQL Playground |
|
||||
| `http://api.localhost:8000/admin/` | Django Admin |
|
||||
| `http://api.localhost:8000/health/` | Health check endpoint |
|
||||
|
||||
Authentication header: `X-SCHON-AUTH: Bearer <token>`
|
||||
|
||||
---
|
||||
|
||||
## Development
|
||||
|
||||
### Commands
|
||||
|
||||
```bash
|
||||
make run # Start services
|
||||
make restart # Restart services
|
||||
make test # Run tests with coverage
|
||||
make format # Format code with Ruff
|
||||
make check # Lint code with Ruff
|
||||
make typecheck # Type check with ty
|
||||
make precommit # Run format, check, typecheck
|
||||
make make-messages # Extract translation strings
|
||||
make compile-messages # Compile translations
|
||||
make backup # Create database backup
|
||||
```
|
||||
|
||||
### Running Migrations
|
||||
|
||||
```bash
|
||||
# Docker
|
||||
docker compose exec app uv run python manage.py migrate
|
||||
|
||||
# Native
|
||||
cd /opt/schon && .venv/bin/python manage.py migrate
|
||||
```
|
||||
|
||||
### Creating a Superuser
|
||||
|
||||
```bash
|
||||
# Docker
|
||||
docker compose exec app uv run python manage.py createsuperuser
|
||||
|
||||
# Native
|
||||
cd /opt/schon && .venv/bin/python manage.py createsuperuser
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
schon/
|
||||
├── schon/ # Django project settings
|
||||
│ ├── settings/ # Split settings (base, drf, celery, etc.)
|
||||
│ ├── middleware.py # Custom middleware
|
||||
│ └── urls.py # URL routing
|
||||
├── engine/ # Django apps
|
||||
│ ├── core/ # Products, orders, categories, vendors
|
||||
│ ├── payments/ # Transactions, payment gateways
|
||||
│ ├── vibes_auth/ # Custom User model, JWT auth
|
||||
│ └── blog/ # Blog posts
|
||||
├── Dockerfiles/ # Docker configurations
|
||||
├── systemd/ # Systemd service files
|
||||
├── scripts/ # Installation and utility scripts
|
||||
└── nginx.example.conf # Nginx configuration template
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Feedback & Issues
|
||||
|
||||
We value your feedback. Please open issues for:
|
||||
|
||||
- Bug reports
|
||||
- Feature suggestions
|
||||
- Questions about usage
|
||||
|
||||
**Issue Tracker:** [Plane](https://plane.wiseless.xyz/spaces/issues/dd33cb0ab9b04ef08a10f7eefae6d90c/?board=kanban)
|
||||
|
||||
Due to licensing restrictions, we cannot accept pull requests. See the LICENSE file for details.
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
Schon is released under a custom license. Key points:
|
||||
|
||||
- **Non-commercial use**: Free for personal, academic, and non-commercial purposes
|
||||
- **Commercial use**: Requires written authorization or automatic 8% royalty
|
||||
|
||||
See the [LICENSE](LICENSE) file for complete terms.
|
||||
|
||||
---
|
||||
- Track and report issues here: https://plane.wiseless.xyz/spaces/issues/dd33cb0ab9b04ef08a10f7eefae6d90c/?board=list
|
||||
- Pull requests are welcome. Please keep changes minimal and focused.
|
||||
|
||||
## Contact
|
||||
|
||||
**Author:** Egor "fureunoir" Gorbunov
|
||||
- Author: Egor "fureunoir" Gorbunov
|
||||
- Email: contact@fureunoir.com
|
||||
- Telegram: https://t.me/fureunoir
|
||||
|
||||
- Email: [contact@fureunoir.com](mailto:contact@fureunoir.com)
|
||||
- Telegram: [@fureunoir](https://t.me/fureunoir)
|
||||
## License
|
||||
|
||||
---
|
||||
This project is licensed under the terms of the LICENSE file included in this repository.
|
||||
|
||||
<p align="center">
|
||||
<sub>Built with care by the Wiseless Team</sub>
|
||||
</p>
|
||||

|
||||
|
|
@ -147,7 +147,7 @@ services:
|
|||
condition: service_healthy
|
||||
logging: *default-logging
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "celery -A schon status | grep -q 'OK'" ]
|
||||
test: [ "CMD-SHELL", "celery -A evibes status | grep -q 'OK'" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
|
|
@ -175,7 +175,7 @@ services:
|
|||
condition: service_healthy
|
||||
logging: *default-logging
|
||||
healthcheck:
|
||||
test: [ "CMD-SHELL", "celery -A schon status | grep -q 'OK'" ]
|
||||
test: [ "CMD-SHELL", "celery -A evibes status | grep -q 'OK'" ]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
|
|
|
|||
BIN
engine/blog/locale/ar_AR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/cs_CZ/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/da_DK/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/de_DE/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/en_GB/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,11 +1,11 @@
|
|||
# SCHON GETTEXT TRANSLATIONS
|
||||
# EVIBES GETTEXT TRANSLATIONS
|
||||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the SCHON package.
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/en_US/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/es_ES/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/fa_IR/LC_MESSAGES/django.mo
Normal file
|
|
@ -5,7 +5,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/fr_FR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/he_IL/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/hi_IN/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,11 +1,11 @@
|
|||
# SCHON GETTEXT TRANSLATIONS
|
||||
# EVIBES GETTEXT TRANSLATIONS
|
||||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the SCHON package.
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/hr_HR/LC_MESSAGES/django.mo
Normal file
|
|
@ -5,7 +5,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/id_ID/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/it_IT/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/ja_JP/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/kk_KZ/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,11 +1,11 @@
|
|||
# SCHON GETTEXT TRANSLATIONS
|
||||
# EVIBES GETTEXT TRANSLATIONS
|
||||
# Copyright (C) 2025 EGOR <FUREUNOIR> GORBUNOV
|
||||
# This file is distributed under the same license as the SCHON package.
|
||||
# This file is distributed under the same license as the EVIBES package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/ko_KR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/nl_NL/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/no_NO/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/pl_PL/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/pt_BR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/ro_RO/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/ru_RU/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/sv_SE/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/th_TH/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/tr_TR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/vi_VN/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
BIN
engine/blog/locale/zh_Hans/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-12-21 00:38+0300\n"
|
||||
"PO-Revision-Date: 2025-06-16 08:59+0100\n"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from engine.blog.docs.drf.viewsets import POST_SCHEMA
|
|||
from engine.blog.filters import PostFilter
|
||||
from engine.blog.models import Post
|
||||
from engine.blog.serializers import PostSerializer
|
||||
from engine.core.permissions import SchonPermission
|
||||
from engine.core.permissions import EvibesPermission
|
||||
|
||||
|
||||
@extend_schema_view(**POST_SCHEMA)
|
||||
|
|
@ -20,7 +20,7 @@ class PostViewSet(ReadOnlyModelViewSet):
|
|||
)
|
||||
|
||||
serializer_class = PostSerializer
|
||||
permission_classes = (SchonPermission,)
|
||||
permission_classes = (EvibesPermission,)
|
||||
queryset = Post.objects.filter(is_active=True)
|
||||
filter_backends = [DjangoFilterBackend]
|
||||
filterset_class = PostFilter
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ class ActivationActionsMixin:
|
|||
]
|
||||
|
||||
@action(
|
||||
description=_("activate selected %(verbose_name_plural)s").lower().title(),
|
||||
description=_("activate selected %(verbose_name_plural)s").lower(),
|
||||
permissions=["change"],
|
||||
)
|
||||
def activate_selected(self, request: HttpRequest, queryset: QuerySet[Any]) -> None:
|
||||
|
|
@ -163,7 +163,7 @@ class ActivationActionsMixin:
|
|||
queryset.update(is_active=True)
|
||||
self.message_user(
|
||||
request=request,
|
||||
message=_("selected items have been activated.").lower().title(),
|
||||
message=_("selected items have been activated.").lower(),
|
||||
level=messages.SUCCESS,
|
||||
)
|
||||
|
||||
|
|
@ -171,7 +171,7 @@ class ActivationActionsMixin:
|
|||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||
|
||||
@action(
|
||||
description=_("deactivate selected %(verbose_name_plural)s").lower().title(),
|
||||
description=_("deactivate selected %(verbose_name_plural)s").lower(),
|
||||
permissions=["change"],
|
||||
)
|
||||
def deactivate_selected(
|
||||
|
|
@ -181,7 +181,7 @@ class ActivationActionsMixin:
|
|||
queryset.update(is_active=False)
|
||||
self.message_user(
|
||||
request=request,
|
||||
message=_("selected items have been deactivated.").lower().title(),
|
||||
message=_("selected items have been deactivated.").lower(),
|
||||
level=messages.SUCCESS,
|
||||
)
|
||||
|
||||
|
|
@ -458,8 +458,6 @@ class ProductAdmin(
|
|||
"sku",
|
||||
"name",
|
||||
"is_active",
|
||||
"export_to_marketplaces",
|
||||
"has_images",
|
||||
"category",
|
||||
"brand",
|
||||
"price",
|
||||
|
|
@ -521,60 +519,6 @@ class ProductAdmin(
|
|||
"is_updatable",
|
||||
]
|
||||
|
||||
def has_images(self, obj: Product) -> bool:
|
||||
return obj.has_images
|
||||
|
||||
has_images.boolean = True # ty:ignore[unresolved-attribute]
|
||||
has_images.short_description = _("has images") # ty:ignore[unresolved-attribute]
|
||||
|
||||
@action(
|
||||
description=_("export selected %(verbose_name_plural)s to marketplaces' feeds")
|
||||
.lower()
|
||||
.title(),
|
||||
permissions=["change"],
|
||||
)
|
||||
def export_to_marketplaces(
|
||||
self, request: HttpRequest, queryset: QuerySet[Any]
|
||||
) -> None:
|
||||
try:
|
||||
queryset.update(export_to_marketplaces=True)
|
||||
self.message_user(
|
||||
request=request,
|
||||
message=_(
|
||||
"selected %(verbose_name_plural)s have been marked for export."
|
||||
)
|
||||
.lower()
|
||||
.title(),
|
||||
level=messages.SUCCESS,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||
|
||||
@action(
|
||||
description=_("ban selected %(verbose_name_plural)s from marketplaces' feeds")
|
||||
.lower()
|
||||
.title(),
|
||||
permissions=["change"],
|
||||
)
|
||||
def ban_from_marketplaces(
|
||||
self, request: HttpRequest, queryset: QuerySet[Any]
|
||||
) -> None:
|
||||
try:
|
||||
queryset.update(export_to_marketplaces=False)
|
||||
self.message_user(
|
||||
request=request,
|
||||
message=_(
|
||||
"selected %(verbose_name_plural)s have been banned from export."
|
||||
)
|
||||
.lower()
|
||||
.title(),
|
||||
level=messages.SUCCESS,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
self.message_user(request=request, message=str(e), level=messages.ERROR)
|
||||
|
||||
def get_queryset(self, request):
|
||||
return (
|
||||
super()
|
||||
|
|
@ -1146,7 +1090,7 @@ class ConstanceConfig:
|
|||
site.unregister([Config]) # ty:ignore[invalid-argument-type]
|
||||
site.register([ConstanceConfig], BaseConstanceAdmin) # ty:ignore[invalid-argument-type]
|
||||
site.site_title = settings.PROJECT_NAME
|
||||
site.site_header = "Schon"
|
||||
site.site_header = "eVibes"
|
||||
site.index_title = settings.PROJECT_NAME
|
||||
|
||||
|
||||
|
|
|
|||
BIN
engine/core/docs/images/evibes-big-simple.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
engine/core/docs/images/evibes-big.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
engine/core/docs/images/evibes.ico
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
engine/core/docs/images/evibes.png
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
25
engine/core/docs/images/favicon.svg
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="100.000000pt" height="100.000000pt" viewBox="0 0 100.000000 100.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,100.000000) scale(0.100000,-0.100000)"
|
||||
fill="#7965D1" stroke="none">
|
||||
<path d="M678 935 c-73 -50 -88 -121 -38 -175 29 -31 50 -35 57 -13 2 6 -5 14
|
||||
-16 18 -30 9 -26 48 9 88 63 72 130 72 149 -1 18 -67 -6 -117 -89 -182 -97
|
||||
-76 -142 -97 -235 -109 -121 -16 -324 -29 -380 -24 -48 5 -49 4 -33 -13 26
|
||||
-26 108 -34 248 -23 308 23 362 40 480 147 l65 59 0 64 c0 79 -17 114 -72 152
|
||||
-61 41 -100 44 -145 12z"/>
|
||||
<path d="M327 912 c-10 -10 -17 -27 -17 -38 0 -24 35 -64 55 -64 18 0 19 12 3
|
||||
28 -16 16 19 54 46 50 17 -2 22 -11 24 -45 4 -55 -38 -105 -105 -124 -50 -14
|
||||
-179 -17 -225 -6 -34 9 -36 -3 -6 -23 55 -35 251 -29 327 10 95 48 92 168 -6
|
||||
219 -33 17 -78 13 -96 -7z"/>
|
||||
<path d="M475 435 c-60 -8 -171 -19 -245 -25 -74 -7 -137 -14 -139 -16 -2 -2
|
||||
9 -9 25 -16 35 -15 179 -13 309 3 50 7 146 12 215 13 186 2 223 -22 185 -119
|
||||
-20 -53 -49 -78 -115 -100 -37 -12 -54 -14 -69 -5 -41 21 -16 91 36 105 27 6
|
||||
27 7 9 21 -31 22 -69 17 -99 -14 -15 -15 -27 -34 -27 -42 0 -23 52 -90 81
|
||||
-106 43 -22 73 -17 144 22 73 40 93 64 102 118 21 131 -138 193 -412 161z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -25,7 +25,7 @@ from engine.core.utils.emailing import contact_us_email
|
|||
from engine.core.utils.messages import permission_denied_message
|
||||
from engine.core.utils.nominatim import fetch_address_suggestions
|
||||
from engine.payments.graphene.object_types import TransactionType
|
||||
from schon.utils.renderers import camelize
|
||||
from evibes.utils.renderers import camelize
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ from engine.core.utils.seo_builders import (
|
|||
website_schema,
|
||||
)
|
||||
from engine.payments.graphene.object_types import TransactionType
|
||||
from schon.utils.renderers import camelize
|
||||
from evibes.utils.renderers import camelize
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
|||
BIN
engine/core/locale/ar_AR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3157,8 +3157,8 @@ msgstr ""
|
|||
"Django للتعامل مع إعادة توجيه HTTP."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "إرجاع الإصدار الحالي من Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "إرجاع الإصدار الحالي من eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3171,15 +3171,15 @@ msgstr "إرجاع المتغيرات المخصصة للوحة التحكم."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"يحدد مجموعة طرق عرض لإدارة العمليات المتعلقة ب schon. يرث صنف SchonViewSet "
|
||||
"يحدد مجموعة طرق عرض لإدارة العمليات المتعلقة ب Evibes. يرث صنف EvibesViewSet "
|
||||
"من ModelViewSet ويوفر وظائف للتعامل مع الإجراءات والعمليات على كيانات "
|
||||
"schon. وتتضمن دعمًا لفئات المتسلسلات الديناميكية استنادًا إلى الإجراء الحالي، "
|
||||
"Evibes. وتتضمن دعمًا لفئات المتسلسلات الديناميكية استنادًا إلى الإجراء الحالي، "
|
||||
"والأذونات القابلة للتخصيص، وتنسيقات العرض."
|
||||
|
||||
#: engine/core/viewsets.py:160
|
||||
|
|
@ -3252,14 +3252,14 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
msgstr ""
|
||||
"يدير العمليات المتعلقة بنموذج \"المنتج\" في النظام. توفر هذه الفئة مجموعة "
|
||||
"طرق عرض لإدارة المنتجات، بما في ذلك تصفيتها وتسلسلها وعملياتها على مثيلات "
|
||||
"محددة. وهو يمتد من 'SchonViewSet' لاستخدام الوظائف الشائعة ويتكامل مع إطار "
|
||||
"محددة. وهو يمتد من 'EvibesViewSet' لاستخدام الوظائف الشائعة ويتكامل مع إطار "
|
||||
"عمل Django REST لعمليات RESTful API. يتضمن أساليب لاسترجاع تفاصيل المنتج، "
|
||||
"وتطبيق الأذونات، والوصول إلى الملاحظات ذات الصلة بمنتج ما."
|
||||
|
||||
|
|
@ -3282,7 +3282,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"تمثيل مجموعة عرض تتعامل مع كائنات الملاحظات. تدير هذه الفئة العمليات "
|
||||
|
|
|
|||
BIN
engine/core/locale/cs_CZ/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3226,8 +3226,8 @@ msgstr ""
|
|||
"funkci `redirect` Djanga."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Vrací aktuální verzi systému Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Vrací aktuální verzi systému eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3240,15 +3240,15 @@ msgstr "Vrací vlastní proměnné pro Dashboard."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Definuje sadu pohledů pro správu operací souvisejících s schon. Třída "
|
||||
"SchonViewSet dědí z ModelViewSet a poskytuje funkce pro zpracování akcí a "
|
||||
"operací s entitami schon. Zahrnuje podporu dynamických tříd serializátorů "
|
||||
"Definuje sadu pohledů pro správu operací souvisejících s Evibes. Třída "
|
||||
"EvibesViewSet dědí z ModelViewSet a poskytuje funkce pro zpracování akcí a "
|
||||
"operací s entitami Evibes. Zahrnuje podporu dynamických tříd serializátorů "
|
||||
"na základě aktuální akce, přizpůsobitelných oprávnění a formátů vykreslování."
|
||||
|
||||
#: engine/core/viewsets.py:160
|
||||
|
|
@ -3325,7 +3325,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3333,7 +3333,7 @@ msgstr ""
|
|||
"Spravuje operace související s modelem `Product` v systému. Tato třída "
|
||||
"poskytuje sadu pohledů pro správu produktů, včetně jejich filtrování, "
|
||||
"serializace a operací s konkrétními instancemi. Rozšiřuje se z "
|
||||
"`SchonViewSet`, aby využívala společné funkce, a integruje se s rámcem "
|
||||
"`EvibesViewSet`, aby využívala společné funkce, a integruje se s rámcem "
|
||||
"Django REST pro operace RESTful API. Obsahuje metody pro načítání "
|
||||
"podrobností o produktu, uplatňování oprávnění a přístup k související zpětné "
|
||||
"vazbě produktu."
|
||||
|
|
@ -3358,7 +3358,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Reprezentace sady zobrazení, která zpracovává objekty zpětné vazby. Tato "
|
||||
|
|
@ -3366,7 +3366,7 @@ msgstr ""
|
|||
"filtrování a načítání podrobností. Účelem této sady zobrazení je poskytnout "
|
||||
"různé serializátory pro různé akce a implementovat manipulaci s přístupnými "
|
||||
"objekty Zpětné vazby na základě oprávnění. Rozšiřuje základní třídu "
|
||||
"`SchonViewSet` a využívá systém filtrování Djanga pro dotazování na data."
|
||||
"`EvibesViewSet` a využívá systém filtrování Djanga pro dotazování na data."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
msgid ""
|
||||
|
|
|
|||
BIN
engine/core/locale/da_DK/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3250,8 +3250,8 @@ msgstr ""
|
|||
"til at håndtere HTTP-omdirigeringen."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Returnerer den aktuelle version af Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Returnerer den aktuelle version af eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3264,15 +3264,15 @@ msgstr "Returnerer brugerdefinerede variabler til Dashboard."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Definerer et visningssæt til håndtering af schon-relaterede operationer. "
|
||||
"SchonViewSet-klassen arver fra ModelViewSet og giver funktionalitet til "
|
||||
"håndtering af handlinger og operationer på schon-enheder. Den omfatter "
|
||||
"Definerer et visningssæt til håndtering af Evibes-relaterede operationer. "
|
||||
"EvibesViewSet-klassen arver fra ModelViewSet og giver funktionalitet til "
|
||||
"håndtering af handlinger og operationer på Evibes-enheder. Den omfatter "
|
||||
"understøttelse af dynamiske serializer-klasser baseret på den aktuelle "
|
||||
"handling, tilladelser, der kan tilpasses, og gengivelsesformater."
|
||||
|
||||
|
|
@ -3350,7 +3350,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3358,7 +3358,7 @@ msgstr ""
|
|||
"Håndterer operationer relateret til `Product`-modellen i systemet. Denne "
|
||||
"klasse giver et visningssæt til håndtering af produkter, herunder deres "
|
||||
"filtrering, serialisering og operationer på specifikke forekomster. Den "
|
||||
"udvider fra `SchonViewSet` for at bruge fælles funktionalitet og integrerer "
|
||||
"udvider fra `EvibesViewSet` for at bruge fælles funktionalitet og integrerer "
|
||||
"med Django REST-frameworket til RESTful API-operationer. Indeholder metoder "
|
||||
"til at hente produktoplysninger, anvende tilladelser og få adgang til "
|
||||
"relateret feedback om et produkt."
|
||||
|
|
@ -3384,7 +3384,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Repræsentation af et visningssæt, der håndterer feedback-objekter. Denne "
|
||||
|
|
@ -3392,7 +3392,7 @@ msgstr ""
|
|||
"filtrering og hentning af detaljer. Formålet med dette visningssæt er at "
|
||||
"levere forskellige serializers til forskellige handlinger og implementere "
|
||||
"tilladelsesbaseret håndtering af tilgængelige feedback-objekter. Det udvider "
|
||||
"basen `SchonViewSet` og gør brug af Djangos filtreringssystem til at "
|
||||
"basen `EvibesViewSet` og gør brug af Djangos filtreringssystem til at "
|
||||
"forespørge på data."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/de_DE/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3337,8 +3337,8 @@ msgstr ""
|
|||
"Django für die Bearbeitung der HTTP-Umleitung."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Gibt die aktuelle Version von Schon zurück."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Gibt die aktuelle Version von eVibes zurück."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3351,15 +3351,15 @@ msgstr "Gibt benutzerdefinierte Variablen für das Dashboard zurück."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Definiert ein Viewset für die Verwaltung von schon-bezogenen Operationen. "
|
||||
"Die Klasse SchonViewSet erbt von ModelViewSet und bietet Funktionalität für "
|
||||
"die Handhabung von Aktionen und Operationen auf schon-Entitäten. Sie "
|
||||
"Definiert ein Viewset für die Verwaltung von Evibes-bezogenen Operationen. "
|
||||
"Die Klasse EvibesViewSet erbt von ModelViewSet und bietet Funktionalität für "
|
||||
"die Handhabung von Aktionen und Operationen auf Evibes-Entitäten. Sie "
|
||||
"enthält Unterstützung für dynamische Serialisiererklassen auf der Grundlage "
|
||||
"der aktuellen Aktion, anpassbare Berechtigungen und Rendering-Formate."
|
||||
|
||||
|
|
@ -3440,7 +3440,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3448,7 +3448,7 @@ msgstr ""
|
|||
"Verwaltet Vorgänge im Zusammenhang mit dem Modell \"Produkt\" im System. "
|
||||
"Diese Klasse bietet ein Viewset für die Verwaltung von Produkten, "
|
||||
"einschließlich ihrer Filterung, Serialisierung und Operationen für bestimmte "
|
||||
"Instanzen. Sie ist eine Erweiterung von `SchonViewSet`, um gemeinsame "
|
||||
"Instanzen. Sie ist eine Erweiterung von `EvibesViewSet`, um gemeinsame "
|
||||
"Funktionen zu nutzen und integriert sich in das Django REST Framework für "
|
||||
"RESTful API Operationen. Enthält Methoden zum Abrufen von Produktdetails, "
|
||||
"zur Anwendung von Berechtigungen und zum Zugriff auf zugehörige "
|
||||
|
|
@ -3475,7 +3475,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Darstellung eines View-Sets, das Feedback-Objekte behandelt. Diese Klasse "
|
||||
|
|
@ -3483,7 +3483,7 @@ msgstr ""
|
|||
"Auflistung, Filterung und Abruf von Details. Der Zweck dieses ViewSets ist "
|
||||
"es, verschiedene Serialisierer für verschiedene Aktionen bereitzustellen und "
|
||||
"eine erlaubnisbasierte Handhabung von zugänglichen Feedback-Objekten zu "
|
||||
"implementieren. Es erweitert das Basis `SchonViewSet` und nutzt das "
|
||||
"implementieren. Es erweitert das Basis `EvibesViewSet` und nutzt das "
|
||||
"Filtersystem von Django zur Abfrage von Daten."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/en_GB/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,11 +1,11 @@
|
|||
# Schon Translations.
|
||||
# eVibes Translations.
|
||||
# Copyright (C) 2025 Egor "fureunoir" Gorbunov
|
||||
# This file is distributed under the same license as the Schon package.
|
||||
# This file is distributed under the same license as the eVibes package.
|
||||
# EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>, 2025.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3190,8 +3190,8 @@ msgstr ""
|
|||
"It uses Django's `redirect` function for handling the HTTP redirection."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Returns current version of the Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Returns current version of the eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3204,15 +3204,15 @@ msgstr "Returns custom variables for Dashboard."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
|
||||
|
|
@ -3289,7 +3289,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3297,7 +3297,7 @@ msgstr ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3322,14 +3322,14 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Representation of a view set handling Feedback objects. This class manages "
|
||||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/en_US/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3185,8 +3185,8 @@ msgstr ""
|
|||
"It uses Django's `redirect` function for handling the HTTP redirection."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Returns current version of the Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Returns current version of the eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3199,15 +3199,15 @@ msgstr "Returns custom variables for Dashboard."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
|
||||
|
|
@ -3284,7 +3284,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3292,7 +3292,7 @@ msgstr ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3317,14 +3317,14 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Representation of a view set handling Feedback objects. This class manages "
|
||||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/es_ES/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3275,8 +3275,8 @@ msgstr ""
|
|||
"Django para gestionar la redirección HTTP."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Devuelve la versión actual del Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Devuelve la versión actual del eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3289,15 +3289,15 @@ msgstr "Devuelve variables personalizadas para Dashboard."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Define un conjunto de vistas para gestionar operaciones relacionadas con "
|
||||
"schon. La clase SchonViewSet hereda de ModelViewSet y proporciona "
|
||||
"funcionalidad para manejar acciones y operaciones sobre entidades schon. "
|
||||
"Evibes. La clase EvibesViewSet hereda de ModelViewSet y proporciona "
|
||||
"funcionalidad para manejar acciones y operaciones sobre entidades Evibes. "
|
||||
"Incluye soporte para clases serializadoras dinámicas basadas en la acción "
|
||||
"actual, permisos personalizables y formatos de representación."
|
||||
|
||||
|
|
@ -3377,7 +3377,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3385,7 +3385,7 @@ msgstr ""
|
|||
"Gestiona las operaciones relacionadas con el modelo `Producto` en el "
|
||||
"sistema. Esta clase proporciona un conjunto de vistas para la gestión de "
|
||||
"productos, incluyendo su filtrado, serialización y operaciones en instancias "
|
||||
"específicas. Se extiende desde `SchonViewSet` para utilizar funcionalidades "
|
||||
"específicas. Se extiende desde `EvibesViewSet` para utilizar funcionalidades "
|
||||
"comunes y se integra con el framework Django REST para operaciones RESTful "
|
||||
"API. Incluye métodos para recuperar detalles del producto, aplicar permisos "
|
||||
"y acceder a comentarios relacionados de un producto."
|
||||
|
|
@ -3411,7 +3411,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Representación de un conjunto de vistas que maneja objetos Feedback. Esta "
|
||||
|
|
@ -3419,7 +3419,7 @@ msgstr ""
|
|||
"incluyendo el listado, filtrado y recuperación de detalles. El propósito de "
|
||||
"este conjunto de vistas es proporcionar diferentes serializadores para "
|
||||
"diferentes acciones e implementar el manejo basado en permisos de los "
|
||||
"objetos Feedback accesibles. Extiende la base `SchonViewSet` y hace uso del "
|
||||
"objetos Feedback accesibles. Extiende la base `EvibesViewSet` y hace uso del "
|
||||
"sistema de filtrado de Django para la consulta de datos."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/fa_IR/LC_MESSAGES/django.mo
Normal file
|
|
@ -5,7 +5,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
|
|
@ -2975,7 +2975,7 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr ""
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
|
|
@ -2989,9 +2989,9 @@ msgstr ""
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The SchonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
|
|
@ -3045,7 +3045,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`SchonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3066,7 +3066,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `SchonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
|||
BIN
engine/core/locale/fr_FR/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3330,8 +3330,8 @@ msgstr ""
|
|||
"`redirect` de Django pour gérer la redirection HTTP."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "Renvoie la version actuelle d'Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "Renvoie la version actuelle d'eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3344,15 +3344,15 @@ msgstr "Renvoie les variables personnalisées pour le tableau de bord."
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The schonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"Définit un jeu de vues pour la gestion des opérations liées à schon. La "
|
||||
"classe schonViewSet hérite de ModelViewSet et fournit des fonctionnalités "
|
||||
"permettant de gérer les actions et les opérations sur les entités schon. "
|
||||
"Définit un jeu de vues pour la gestion des opérations liées à Evibes. La "
|
||||
"classe EvibesViewSet hérite de ModelViewSet et fournit des fonctionnalités "
|
||||
"permettant de gérer les actions et les opérations sur les entités Evibes. "
|
||||
"Elle prend en charge les classes de sérialiseurs dynamiques en fonction de "
|
||||
"l'action en cours, les autorisations personnalisables et les formats de "
|
||||
"rendu."
|
||||
|
|
@ -3434,7 +3434,7 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`schonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
|
|
@ -3442,7 +3442,7 @@ msgstr ""
|
|||
"Gère les opérations liées au modèle `Product` dans le système. Cette classe "
|
||||
"fournit un viewset pour gérer les produits, y compris leur filtrage, leur "
|
||||
"sérialisation et les opérations sur des instances spécifiques. Elle s'étend "
|
||||
"à partir de `schonViewSet` pour utiliser des fonctionnalités communes et "
|
||||
"à partir de `EvibesViewSet` pour utiliser des fonctionnalités communes et "
|
||||
"s'intègre au framework REST de Django pour les opérations API RESTful. Il "
|
||||
"comprend des méthodes pour récupérer les détails d'un produit, appliquer des "
|
||||
"permissions et accéder aux commentaires connexes d'un produit."
|
||||
|
|
@ -3469,7 +3469,7 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `schonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"Représentation d'un ensemble de vues gérant des objets de retour "
|
||||
|
|
@ -3478,7 +3478,7 @@ msgstr ""
|
|||
"l'extraction de détails. L'objectif de ce jeu de vues est de fournir "
|
||||
"différents sérialiseurs pour différentes actions et d'implémenter une "
|
||||
"gestion basée sur les permissions des objets Feedback accessibles. Il étend "
|
||||
"la classe de base `schonViewSet` et utilise le système de filtrage de "
|
||||
"la classe de base `EvibesViewSet` et utilise le système de filtrage de "
|
||||
"Django pour l'interrogation des données."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||
BIN
engine/core/locale/he_IL/LC_MESSAGES/django.mo
Normal file
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: SCHON 2026.1\n"
|
||||
"Project-Id-Version: EVIBES 2026.1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-01-04 19:25+0300\n"
|
||||
"PO-Revision-Date: 2025-01-30 03:27+0000\n"
|
||||
|
|
@ -3114,8 +3114,8 @@ msgstr ""
|
|||
"Django לטיפול בהפניה HTTP."
|
||||
|
||||
#: engine/core/views.py:445
|
||||
msgid "Returns current version of the Schon. "
|
||||
msgstr "מחזיר את הגרסה הנוכחית של Schon."
|
||||
msgid "Returns current version of the eVibes. "
|
||||
msgstr "מחזיר את הגרסה הנוכחית של eVibes."
|
||||
|
||||
#: engine/core/views.py:674 engine/core/views.py:689
|
||||
#, python-format
|
||||
|
|
@ -3128,14 +3128,14 @@ msgstr "מחזיר משתנים מותאמים אישית עבור לוח המח
|
|||
|
||||
#: engine/core/viewsets.py:139
|
||||
msgid ""
|
||||
"Defines a viewset for managing schon-related operations. The schonViewSet "
|
||||
"Defines a viewset for managing Evibes-related operations. The EvibesViewSet "
|
||||
"class inherits from ModelViewSet and provides functionality for handling "
|
||||
"actions and operations on schon entities. It includes support for dynamic "
|
||||
"actions and operations on Evibes entities. It includes support for dynamic "
|
||||
"serializer classes based on the current action, customizable permissions, "
|
||||
"and rendering formats."
|
||||
msgstr ""
|
||||
"מגדיר קבוצת תצוגות לניהול פעולות הקשורות ל-schon. מחלקת schonViewSet יורשת "
|
||||
"מ-ModelViewSet ומספקת פונקציונליות לטיפול בפעולות ובפעולות על ישויות schon. "
|
||||
"מגדיר קבוצת תצוגות לניהול פעולות הקשורות ל-Evibes. מחלקת EvibesViewSet יורשת "
|
||||
"מ-ModelViewSet ומספקת פונקציונליות לטיפול בפעולות ובפעולות על ישויות Evibes. "
|
||||
"היא כוללת תמיכה במחלוקות סריאליזציה דינמיות המבוססות על הפעולה הנוכחית, "
|
||||
"הרשאות הניתנות להתאמה אישית ופורמטים של עיבוד."
|
||||
|
||||
|
|
@ -3207,14 +3207,14 @@ msgid ""
|
|||
"Manages operations related to the `Product` model in the system. This class "
|
||||
"provides a viewset for managing products, including their filtering, "
|
||||
"serialization, and operations on specific instances. It extends from "
|
||||
"`schonViewSet` to use common functionality and integrates with the Django "
|
||||
"`EvibesViewSet` to use common functionality and integrates with the Django "
|
||||
"REST framework for RESTful API operations. Includes methods for retrieving "
|
||||
"product details, applying permissions, and accessing related feedback of a "
|
||||
"product."
|
||||
msgstr ""
|
||||
"מנהל פעולות הקשורות למודל `Product` במערכת. מחלקה זו מספקת מערך תצוגה לניהול "
|
||||
"מוצרים, כולל סינון, סידור סדרתי ופעולות על מופעים ספציפיים. היא מרחיבה את "
|
||||
"`schonViewSet` כדי להשתמש בפונקציונליות משותפת ומשתלבת עם מסגרת Django REST "
|
||||
"`EvibesViewSet` כדי להשתמש בפונקציונליות משותפת ומשתלבת עם מסגרת Django REST "
|
||||
"עבור פעולות RESTful API. כוללת שיטות לאחזור פרטי מוצר, החלת הרשאות וגישה "
|
||||
"למשוב הקשור למוצר."
|
||||
|
||||
|
|
@ -3237,13 +3237,13 @@ msgid ""
|
|||
"operations related to Feedback objects, including listing, filtering, and "
|
||||
"retrieving details. The purpose of this view set is to provide different "
|
||||
"serializers for different actions and implement permission-based handling of "
|
||||
"accessible Feedback objects. It extends the base `schonViewSet` and makes "
|
||||
"accessible Feedback objects. It extends the base `EvibesViewSet` and makes "
|
||||
"use of Django's filtering system for querying data."
|
||||
msgstr ""
|
||||
"ייצוג של קבוצת תצוגה המטפלת באובייקטי משוב. מחלקה זו מנהלת פעולות הקשורות "
|
||||
"לאובייקטי משוב, כולל רישום, סינון ואחזור פרטים. מטרת קבוצת תצוגה זו היא לספק "
|
||||
"סדרנים שונים לפעולות שונות וליישם טיפול מבוסס הרשאות באובייקטי משוב נגישים. "
|
||||
"היא מרחיבה את `schonViewSet` הבסיסי ומשתמשת במערכת הסינון של Django לשאילתת "
|
||||
"היא מרחיבה את `EvibesViewSet` הבסיסי ומשתמשת במערכת הסינון של Django לשאילתת "
|
||||
"נתונים."
|
||||
|
||||
#: engine/core/viewsets.py:652
|
||||
|
|
|
|||