Beispiel #1
0
# coding: utf-8
from django.db import models
from django.core.urlresolvers import reverse
from django.utils.functional import cached_property
import sirtrevor
from sirtrevor.fields import SirTrevorField
from ordered_model.models import OrderedModel

from tools.fields import CustomImageField
from tools.models import TimeStampModel, PublishedModel, upload_to
from .blocks import ExtendedQuotes

sirtrevor.register_block(ExtendedQuotes)


class AbstractArticle(TimeStampModel, PublishedModel):
    """ Абстрактная модель для Статей и Ликбеза.
    """
    title = models.CharField(max_length=128, verbose_name=u'Заголовок')
    anons = SirTrevorField(verbose_name=u'Анонс (лид)')
    content = SirTrevorField(verbose_name=u'Тело статьи')
    image = CustomImageField(allowed=('jpeg', 'jpg', 'png'),
                             upload_to=upload_to,
                             verbose_name=u'Изображение')

    class Meta:
        abstract = True

    def __unicode__(self):
        return unicode(self.title)
# -*- coding: utf-8 -*-
import sirtrevor
from .blocks import FileBlock


sirtrevor.register_block(FileBlock)
Beispiel #3
0
# coding: utf-8
from django.db import models
from django.core.urlresolvers import reverse
from django.utils.functional import cached_property
import sirtrevor
from sirtrevor.fields import SirTrevorField
from ordered_model.models import OrderedModel

from tools.fields import CustomImageField
from tools.models import TimeStampModel, PublishedModel, upload_to
from .blocks import ExtendedQuotes

sirtrevor.register_block(ExtendedQuotes)


class AbstractArticle(TimeStampModel, PublishedModel):
    """ Абстрактная модель для Статей и Ликбеза.
    """
    title = models.CharField(max_length=128, verbose_name=u'Заголовок')
    anons = SirTrevorField(verbose_name=u'Анонс (лид)')
    content = SirTrevorField(verbose_name=u'Тело статьи')
    image = CustomImageField(allowed=('jpeg', 'jpg', 'png'),
                             upload_to=upload_to,
                             verbose_name=u'Изображение')

    class Meta:
        abstract = True

    def __unicode__(self):
        return unicode(self.title)
Beispiel #4
0

def password_errors(password):
    """Validates a given string against required password params. This is
    required in order to maintain FISMA compliance."""
    # Set up an errors array to capture things we find
    errors = []
    password = password or ""   # account for Nones

    # Defines special characters we allow
    # TODO: I guess this could be a regex instead, I just typed all the
    # chars on my keyboard :)
    valid_special_chars = set('~`!@#$%^&*()-_=+[{]}\|;:'",<.>/?/*-.+")
    if not password:
        errors.append('Password cannot be blank.')
    if not any(x.isupper() for x in password):
        errors.append('Password needs at least one uppercase letter.')
    if not any(x.islower() for x in password):
        errors.append('Password needs at least one lowercase letter.')
    if not any(x.isdigit() for x in password):
        errors.append('Password needs at least one number.')
    if not any((x in valid_special_chars) for x in password):
        errors.append('Password needs a special character.')
    if not len(password) >= 20:
        errors.append('Password must be at least 20 characters in length.')

    return errors

sirtrevor.register_block(ButtonBlock)
sirtrevor.register_block(Image508Block)