Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- from __future__ import unicode_literals
- import datetime
- from django import forms
- from django.db import models
- from django.utils import timezone
- from django.core.urlresolvers import reverse
- from django.contrib.postgres.fields import JSONField
- #from django.contrib.sites.models import Site
- # Родительский класс для всех моделей - страниц сайта
- class Page(models.Model):
- class Meta:
- abstract = True
- seo_h1 = models.CharField( max_length=200 , verbose_name="H1" , null=True , blank=True )
- seo_title = models.CharField( max_length=200 , verbose_name="Title" , null=True , blank=True )
- seo_description = models.CharField( max_length=500 , verbose_name="Description" , null=True , blank=True )
- seo_keywords = models.CharField( max_length=500 , verbose_name="Keywords" , null=True , blank=True )
- alias = models.SlugField( max_length=200 , verbose_name=u"Псевдоним" )
- menuposition = models.IntegerField( default=0 , verbose_name=u"Позиция в меню" )
- menushow = models.BooleanField( default=True , verbose_name=u"Показывать в меню" )
- sitemap = models.BooleanField( default=True , verbose_name=u"Показывать в карте сайта" )
- content = models.TextField( verbose_name=u"Статья" , null=True , blank=True )
- # host = models.ForeignKey(Site, on_delete=models.deletion.SET_DEFAULT, default=1, verbose_name=u"Хост")
- # Модель обычной текстовой страницы
- class Textpage(Page):
- class Meta:
- verbose_name = u"Текстовая страница"
- verbose_name_plural = u"Страницы"
- name = models.CharField( max_length=200 , verbose_name=u"Имя страницы" , null=True , blank=True)
- def get_absolute_url(self):
- if self.alias == "index" :
- return reverse('mailbase:index', kwargs={})
- else :
- return reverse('mailbase:textpage', kwargs={'textpage_alias': self.alias})
- def __unicode__(self):
- return self.name
- # Модель сервисов
- class Service(Page):
- class Meta:
- verbose_name = u"Интернет Сервис"
- verbose_name_plural = u"Интернет сервисы"
- name = models.CharField( max_length=200 , verbose_name=u"Название сервиса")
- url = models.CharField(max_length=200, verbose_name=u"url сервиса", null=True , blank=True)
- query = models.CharField(max_length=200, verbose_name=u"Почтовый запрос сервиса", null=True , blank=True)
- theme = models.CharField(max_length=200, verbose_name=u"Тематика", null=True , blank=True)
- def __unicode__(self):
- return self.name
- # Модель почтовых доменов
- class Domain(Page):
- class Meta:
- verbose_name = u"Почтовый домен (пример: @mail.ru)"
- verbose_name_plural = u"Почтовый домен(пример: @mail.ru)"
- name = models.CharField( max_length=200 , verbose_name=u"Почта вида example@mail.ru")
- def __unicode__(self):
- return self.name
- # Модель почт
- class Mail(Page):
- class Meta:
- verbose_name = u"Почта (пример: example@mail.ru)"
- verbose_name_plural = u"Почты(пример: example@mail.ru)"
- name = models.CharField( max_length=200 , verbose_name=u"Уникальный почтовый адрес вида example@mail.ru")
- domain = models.ForeignKey(Domain, verbose_name=u"Почтовый домен", null=True , blank=True)
- services = models.ManyToManyField(Service, related_name = 'services', verbose_name=u"Рега в сервисах")
- snatch = models.ManyToManyField(Service, related_name = 'snatch', verbose_name=u"Снятые с этой почты аккаунты")
- def __unicode__(self):
- return self.name
- # Модель базы
- class Base(Page):
- class Meta:
- verbose_name = u"База(происхождение материала)"
- verbose_name_plural = u"Базы"
- name = models.CharField( max_length=200 , verbose_name=u"Название базы")
- def __unicode__(self):
- return self.name
- # Модель пары почта пароль
- class Mailpass(Page):
- class Meta:
- verbose_name = u"Пара почта пароль (пример: example@mail.rupasswd)"
- verbose_name_plural = u"Пары почта пароль (пример: example@mail.rupasswd)"
- name = models.CharField( max_length=200 , verbose_name=u"логин пароль в формате: example@mail.rupassword без разделителей")
- mail = models.ForeignKey(Mail, verbose_name=u"Почта(Уникальный почтовый адрес)")
- password = models.CharField(max_length=200, verbose_name=u"Пароль")
- base = models.ForeignKey(Base, verbose_name=u"База происхождения пары")
- status = models.CharField(max_length=200, verbose_name=u"Статус пары")
- public = models.BooleanField(default=True, verbose_name=u"Наличие в публичных базах")
- pub_date = models.DateTimeField(default=datetime.datetime.now(), verbose_name=u'Дата добавления')
- def __unicode__(self):
- return self.name
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement