Files
Touchh/settings/models.py
trevor 93994ed929 settings application
.env db params+global settings in admin model
ECVI plugin module
2024-12-14 20:50:11 +09:00

79 lines
3.8 KiB
Python

# settings/models.py
from django.db import models
import pytz
class LocalDatabase(models.Model):
name = models.CharField(max_length=255, verbose_name="Имя базы данных")
host = models.CharField(max_length=255, verbose_name="Хост базы данных", default="localhost")
port = models.IntegerField(default=5432, verbose_name="Порт базы данных")
user = models.CharField(max_length=255, verbose_name="Пользователь базы данных")
database = models.CharField(max_length=255, verbose_name="Название базы данных")
password = models.CharField(max_length=255, verbose_name="Пароль базы данных")
is_active = models.BooleanField(default=True, verbose_name="Активна ли база данных")
def __str__(self):
return self.name
class Meta:
verbose_name = "Локальная база данных"
verbose_name_plural = "Локальные базы данных"
class TelegramSettings(models.Model):
bot_token = models.CharField(max_length=255, help_text="Токен вашего бота Telegram")
chat_id = models.CharField(max_length=255, help_text="ID чата для отправки сообщений")
username = models.CharField(max_length=255, help_text="Имя пользователя для бота", blank=True, null=True)
def __str__(self):
return f"Telegram Bot ({self.username})"
class Meta:
verbose_name = "Настройки Telegram"
verbose_name_plural = "Настройки Telegram"
class EmailSettings(models.Model):
smtp_server = models.CharField(max_length=255, help_text="SMTP сервер для отправки почты")
smtp_port = models.IntegerField(default=587, help_text="SMTP порт для почты")
smtp_user = models.CharField(max_length=255, help_text="Имя пользователя для SMTP")
smtp_password = models.CharField(max_length=255, help_text="Пароль для SMTP")
from_email = models.EmailField(help_text="Email для отправки сообщений")
class Meta:
verbose_name = "Настройки почты"
verbose_name_plural = "Настройки почты"
def __str__(self):
return f"Email Settings for {self.from_email}"
class GlobalHotelSettings(models.Model):
check_in_time = models.TimeField(help_text="Время заезда")
check_out_time = models.TimeField(help_text="Время выезда")
currency = models.CharField(max_length=3, help_text="Валюта")
global_timezone = models.CharField(
max_length=63,
choices=[(tz, tz) for tz in pytz.all_timezones], # Список всех часовых поясов
default='UTC', # Значение по умолчанию
)
def __str__(self):
return "Глобальные настройки отеля"
class Meta:
verbose_name = "Глобальные настройки отеля"
verbose_name_plural = "Глобальные настройки отеля"
class GlobalSystemSettings(models.Model):
system_name = models.CharField(max_length=255, help_text="Название системы")
system_version = models.CharField(max_length=255, help_text="Версия системы")
server_timezone = models.CharField(
max_length=63,
choices=[(tz, tz) for tz in pytz.all_timezones], # Список всех часовых поясов
default='UTC', # Значение по умолчанию
)
def __str__(self):
return "Глобальные настройки системы"
class Meta:
verbose_name = "Глобальные настройки системы"
verbose_name_plural = "Глобальные настройки системы"