* chore: traige state in intake * chore: triage state changes * feat: implement intake state dropdown component and integrate into issue properties * chore: added the triage state validation * chore: added triage state filter * chore: added workspace filter * fix: migration file * chore: added triage group state check * chore: updated the filters * chore: updated the filters * chore: added variables for intake state * fix: import error * refactor: improve project intake state retrieval logic and update TriageGroupIcon component * chore: changed the intake validation logic * refactor: update intake state types and clean up unused interfaces * chore: changed the state color * chore: changed the update serializer * chore: updated with current instance * chore: update TriageGroupIcon color to match new intake state group color * chore: stringified value * chore: added validation in serializer * chore: added logger instead of print * fix: correct component closing syntax in ActiveProjectItem * chore: updated the migration file * chore: added noop in migation --------- Co-authored-by: b-saikrishnakanth <bsaikrishnakanth97@gmail.com>
95 lines
2.7 KiB
Python
95 lines
2.7 KiB
Python
"""Production settings"""
|
|
|
|
import os
|
|
|
|
from .common import * # noqa
|
|
|
|
# SECURITY WARNING: don't run with debug turned on in production!
|
|
DEBUG = int(os.environ.get("DEBUG", 0)) == 1
|
|
|
|
# Honor the 'X-Forwarded-Proto' header for request.is_secure()
|
|
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
|
|
|
|
INSTALLED_APPS += ("scout_apm.django",) # noqa
|
|
|
|
|
|
# Scout Settings
|
|
SCOUT_MONITOR = os.environ.get("SCOUT_MONITOR", False)
|
|
SCOUT_KEY = os.environ.get("SCOUT_KEY", "")
|
|
SCOUT_NAME = "Plane"
|
|
|
|
LOG_DIR = os.path.join(BASE_DIR, "logs") # noqa
|
|
|
|
if not os.path.exists(LOG_DIR):
|
|
os.makedirs(LOG_DIR)
|
|
|
|
# Logging configuration
|
|
LOGGING = {
|
|
"version": 1,
|
|
"disable_existing_loggers": True,
|
|
"formatters": {
|
|
"verbose": {"format": "%(asctime)s [%(process)d] %(levelname)s %(name)s: %(message)s"},
|
|
"json": {
|
|
"()": "pythonjsonlogger.jsonlogger.JsonFormatter",
|
|
"fmt": "%(levelname)s %(asctime)s %(module)s %(name)s %(message)s",
|
|
},
|
|
},
|
|
"handlers": {
|
|
"console": {
|
|
"class": "logging.StreamHandler",
|
|
"formatter": "json",
|
|
"level": "INFO",
|
|
},
|
|
"file": {
|
|
"class": "plane.utils.logging.SizedTimedRotatingFileHandler",
|
|
"filename": (
|
|
os.path.join(BASE_DIR, "logs", "plane-debug.log") # noqa
|
|
if DEBUG
|
|
else os.path.join(BASE_DIR, "logs", "plane-error.log") # noqa
|
|
),
|
|
"when": "s",
|
|
"maxBytes": 1024 * 1024 * 1,
|
|
"interval": 1,
|
|
"backupCount": 5,
|
|
"formatter": "json",
|
|
"level": "DEBUG" if DEBUG else "ERROR",
|
|
},
|
|
},
|
|
"loggers": {
|
|
"plane.api.request": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
"plane.api": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
"plane.worker": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
"plane.exception": {
|
|
"level": "DEBUG" if DEBUG else "ERROR",
|
|
"handlers": ["console", "file"],
|
|
"propagate": False,
|
|
},
|
|
"plane.external": {
|
|
"level": "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
"plane.mongo": {
|
|
"level": "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
"plane.migrations": {
|
|
"level": "DEBUG" if DEBUG else "INFO",
|
|
"handlers": ["console"],
|
|
"propagate": False,
|
|
},
|
|
},
|
|
}
|