settings application
.env db params+global settings in admin model ECVI plugin module
This commit is contained in:
79
settings/models.py
Normal file
79
settings/models.py
Normal file
@@ -0,0 +1,79 @@
|
||||
# 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 = "Глобальные настройки системы"
|
||||
|
||||
Reference in New Issue
Block a user