Exemplo n.º 1
0
class Varticles(models.Model):
    name = models.CharField(max_length=250,
                            blank=True,
                            verbose_name=_(u'Name'))
    desc = RedactorField(blank=True, verbose_name=_(u'Description'))
    adesc = RedactorField(blank=True,
                          verbose_name=_(u'Description additional'))
    lesson = models.ForeignKey(Vlesson,
                               verbose_name=_(u'Course'),
                               blank=True,
                               null=True)
    name_slug = models.CharField(verbose_name='Name slug',
                                 max_length=250,
                                 blank=True)
    pub = models.BooleanField(verbose_name=_('Is published?'), default=True)
    sound = models.FileField(blank=True,
                             verbose_name=_(u'Sound'),
                             upload_to=path_and_rename('vcourse_sound'),
                             null=True)
    owner = models.ForeignKey(User, verbose_name=_(u'Owner'))
    is_free = models.BooleanField(verbose_name=_('Is free?'), default=False)

    def get_absolute_url(self):
        return reverse("article-detail", kwargs={"id": self.id})

    def __unicode__(self):
        return self.name

    def save(self, **kwargs):
        if not self.id:
            self.name_slug = pytils.translit.slugify(self.name)
        return super(Varticles, self).save(**kwargs)
Exemplo n.º 2
0
class ConferencePage(models.Model):
    ''' pages contain all the info for a page to be created.
    '''
    title = models.CharField(max_length=120)
    introduction = models.CharField(max_length=255, null=True, blank=True)
    body = RedactorField(verbose_name='body', upload_to='page_body')
    sidebar = RedactorField(verbose_name='sidebar',
                            null=True,
                            blank=True,
                            upload_to='page_sidebar_body')
    author = models.ForeignKey(User)
    slug = models.SlugField()
    date_created = models.DateTimeField(auto_now_add=True)
    last_updated = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return self.title

    def __str__(self):
        return self.title

    def save(self, *args, **kwargs):
        # saving the slug everytime from the title
        self.slug = slugify(self.title)
        super(ConferencePage, self).save(*args, **kwargs)
Exemplo n.º 3
0
class WhatWeDo(TranslatableModel):
    """
    WhatWeDo Model
    """
    translations = TranslatedFields(
        title=models.CharField(_('title'),
                               help_text=_("to be translated"),
                               max_length=255),
        short_description=RedactorField(_('short description'),
                                        help_text=_("to be translated")),
        description=RedactorField(_('description'),
                                  help_text=_("to be translated")),
    )
    illustration = models.ImageField(_('illustration'),
                                     help_text=_("don't translate"),
                                     max_length=255,
                                     upload_to="whatwedo")
    tags = TaggableManager(blank=True)
    position = models.PositiveIntegerField(default=0, blank=False, null=False)

    class Meta:
        verbose_name_plural = "WhatWeDo"
        ordering = ('position', )

    def __unicode__(self):
        # beurk, never use hvad again. next time multilingual-ng ?
        return self.safe_translation_getter('title', unicode(self.pk))
Exemplo n.º 4
0
class MealTheme(models.Model):
    address = models.CharField('地址:',
                               max_length=100,
                               help_text='限50字',
                               blank=True,
                               null=True)
    addresslink = models.CharField('Google Map Link:',
                                   max_length=200,
                                   blank=True,
                                   null=True)
    sitetitle = models.CharField('網站標題(必填):', max_length=100, help_text='限50字')
    brand = models.CharField('品牌名稱(必填):', max_length=100, help_text='限50字')
    doptions = zip(range(0, len(css_themes)), css_themes)
    themecolor = models.IntegerField('網站主題顏色:', default=-1, choices=doptions)
    title = models.CharField('關於我們標題(必填):', max_length=100, help_text='限50字')
    desc = RedactorField(verbose_name='關於我們的故事(必填):',
                         redactor_options={'focus': 'true'},
                         allow_file_upload=False,
                         allow_image_upload=False)
    deliverydesc = RedactorField(verbose_name='送餐說明(必填):',
                                 redactor_options={'focus': 'true'},
                                 allow_file_upload=False,
                                 allow_image_upload=False)
    taxrate = models.FloatField('稅率', default=0.0)
    deliveryfee = models.DecimalField('送餐費(CDN$)',
                                      max_digits=5,
                                      decimal_places=2)
    name = models.CharField('暱稱(必填):', max_length=100, help_text='限50字')
    wechat = models.CharField('微信帳號(必填):', max_length=100, help_text='限50字')
    wechatqr = models.ImageField(verbose_name='微信QR碼圖片(必填)',
                                 upload_to=rename_wechatID)

    facebook = models.CharField('臉書帳號(選填):',
                                max_length=100,
                                help_text='限50字',
                                blank=True,
                                null=True)
    twitter = models.CharField('推特帳號(選填):',
                               max_length=100,
                               help_text='限50字',
                               blank=True,
                               null=True)
    weibo = models.CharField('新浪微博(選填):',
                             max_length=100,
                             help_text='限50字',
                             blank=True,
                             null=True)
    tel = models.CharField('電話(必填):', max_length=100, help_text='限50字')
    email = models.CharField('電子郵件(必填):', max_length=100, help_text='限50字')
    pub_time = models.DateTimeField('發布時間', auto_now_add=True)
    update_time = models.DateTimeField('修改時間', auto_now=True)
    md5sum = models.CharField(max_length=36, editable=False)

    def __str__(self):
        return self.title

    class Meta:
        ordering = ('-update_time', )
Exemplo n.º 5
0
class Linea_de_servicio(models.Model):
	nombre = models.CharField(max_length=80)
	imagen = models.ImageField(upload_to='uploads', default='imagen/default.png')
	imagen_interna = models.ImageField(upload_to='uploads', default='imagen/default.png')
	texto_lema = RedactorField(verbose_name=u'Lema', default=' ')
	texto_descripcion = RedactorField(verbose_name=u'Descripcion', default=' ')

	def __unicode__(self):
		return self.nombre
Exemplo n.º 6
0
class ThreeArticles(Article):
    preview_part1 = RedactorField(blank=True)
    preview_part2 = RedactorField(blank=True)
    preview_part3 = RedactorField(blank=True)

    def full_url(self):
        if Match is None:
            return ''
        return self.match.full_url('match_before')
Exemplo n.º 7
0
class Linea_individual(models.Model):
	nombre = models.CharField(max_length=100)
	linea = models.ForeignKey(Linea_de_servicio, blank=True, default='')
	contenido = RedactorField(verbose_name=u'Descripcion', default=' ')
	texto_descripcion_en = RedactorField(verbose_name=u'Descripcion Ingles', default=' ', blank=True)
	texto_descripcion_fr = RedactorField(verbose_name=u'Descripcion Frances', default=' ', blank=True)

	def __unicode__(self):
		return self.nombre + u" --- " + self.linea.nombre
Exemplo n.º 8
0
class Study(models.Model):
	creation_date = models.DateTimeField(auto_now=True)
	requisition = models.ForeignKey(Requisition, verbose_name=u'Requisición', on_delete=models.CASCADE)
	service = models.ForeignKey(Service, verbose_name=u'Servicio')
	employee = models.ForeignKey(User, verbose_name=u'Empleado')
	limit_date = models.DateTimeField(verbose_name=u'Fecha de Entrega')
	description = RedactorField(verbose_name=u'Descripción')
	attachment = models.FileField(upload_to=get_path, verbose_name=u'Archivos adjuntos')
	observations = RedactorField(verbose_name=u'Observaciones', blank=True, null=True)
	status = models.CharField(max_length=1, default='A', verbose_name=u'Estado', choices=STUDY_STATUS)
Exemplo n.º 9
0
class Trabaje_con_nosotros(models.Model):
    nombre = models.CharField(max_length=80)
    nombre_en = models.CharField(max_length=80)
    nombre_fr = models.CharField(max_length=80)
    contenido = RedactorField(verbose_name=u'Contenido', default=' ')
    contenido_en = RedactorField(verbose_name=u'Contenido Ingles', default=' ')
    contenido_fr = RedactorField(verbose_name=u'Contenido Frances',
                                 default=' ')

    def __unicode__(self):
        return self.nombre
Exemplo n.º 10
0
class acerca(models.Model):
    nombre = models.CharField(max_length=80)
    texto_descripcion = RedactorField(verbose_name=u'Contenido', default=' ')
    texto_descripcion_en = RedactorField(verbose_name=u'Contenido Ingles',
                                         default=' ')
    texto_descripcion_fr = RedactorField(verbose_name=u'Contenido Frances',
                                         default=' ')
    imagen_interna = models.ImageField(upload_to='uploads',
                                       default='imagen/default.png')

    def __unicode__(self):
        return self.nombre
Exemplo n.º 11
0
class Product(models.Model):
    brand = models.ForeignKey(Brand, on_delete=models.SET_NULL, null=True)
    category = models.ForeignKey(Category,
                                 on_delete=models.SET_NULL,
                                 null=True)
    title = models.CharField(max_length=120,
                             blank=False,
                             null=False,
                             verbose_name=_('Title'))
    highlights = RedactorField(null=True,
                               blank=True,
                               verbose_name=_('Highlights'))
    description = RedactorField(null=True,
                                blank=True,
                                verbose_name=_('Description'))
    timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated = models.DateTimeField(auto_now=True, auto_now_add=False)
    facebook_plugin = models.BooleanField(default=False,
                                          verbose_name=_('facebook message'))
    price = models.FloatField()
    importance = models.CharField(max_length=120,
                                  choices=LEVEL_CHOICES,
                                  blank=True,
                                  null=True,
                                  verbose_name=_('Importance'))

    def get_image(self):
        return self.productimage_set.first()

    def get_images(self):
        return self.productimage_set.all()

    def get_image_urls(self):
        return [image.image.url for image in self.productimage_set.all()]

    def fake_price(self):
        """
        :return: price with 20% discount 
        """
        return self.price + self.price * 0.20

    # def __str__(self):
    def __unicode__(self):
        return self.title

    class Meta:
        verbose_name = _('Product')
        verbose_name_plural = _('Products')
        ordering = ['id']
Exemplo n.º 12
0
class Pagina(models.Model):
	EXTERNO = '__blank'
	INTERNO = ''
	TARGET_CHOICES = (
		('1', 'Enlace Interno'),
		('2', 'Enlace externo'),
		
	)

	titulo_pagina = models.CharField(max_length=1000)
	cuerpo_pagina = RedactorField(verbose_name='Contenido de la página', 
									upload_to='static/uploads_paginas', 
									allow_file_upload = True, 
									allow_image_upload = True)
	titulo_menu = models.CharField(max_length=255)
	descripcion = models.TextField()
	pagina_padre = models.ForeignKey("Pagina", blank=True, null=True, default=None)
	peso = models.IntegerField(default=0)
	target = models.CharField(max_length=140, blank=True, null=True, choices=TARGET_CHOICES, default=1)
	url = models.TextField(default=None, blank=True, null=True)
	nucleo = models.ForeignKey(Nucleo, blank=True, null=True)
	usuario = models.ForeignKey(settings.AUTH_USER_MODEL)

	def __unicode__(self):
		return self.titulo_pagina
Exemplo n.º 13
0
class ContentEntry(models.Model):
    """
    Abstract ContentEntry Model class providing field and methods to
    write short and full description of the content inside entry;
    """
    content = RedactorField(help_text='Full Description of the Content')

    class Meta:
        abstract = True

    @property
    def word_count(self):
        """

        :return: total word of the content
        """
        return count_words(self.content)

    @property
    def read_time(self):
        """

        :return: read time for cotent in minutes
        """
        return get_read_time(self.content)
Exemplo n.º 14
0
class Post(TimeStampedModel):
    author = models.ForeignKey(Author,
                               related_name='author_post',
                               on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    slug = models.SlugField(max_length=200, unique=True)
    cover = models.ImageField(upload_to='gallery/covers/%Y/%m/%d',
                              null=True,
                              blank=True,
                              help_text='Optional cover post')
    description = RedactorField()
    tags = models.ManyToManyField('Tag')
    keywords = models.CharField(max_length=200,
                                null=True,
                                blank=True,
                                help_text='Keywords sparate by comma.')
    meta_description = models.TextField(null=True, blank=True)

    publish = models.BooleanField(default=True)
    objects = PostQuerySet.as_manager()

    def get_absolute_url(self):
        return reverse('detail_post_page', kwargs={'slug': self.slug})

    @property
    def total_visitors(self):
        return Visitor.objects.filter(post__pk=self.pk).count()

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = 'Detail Post'
        verbose_name_plural = 'Posts'
        ordering = ["-created"]
Exemplo n.º 15
0
Arquivo: event.py Projeto: mcoutt/mk42
class Event(models.Model):
    """
    Event model.
    """

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, verbose_name=_("ID"))
    name = models.CharField(verbose_name=_("name"), max_length=256, db_index=True, unique=True)
    description = RedactorField(verbose_name=_("description"), blank=True, null=True, db_index=True)
    group = models.ForeignKey("core.Group", verbose_name=_("group"), db_index=True, related_name="events")
    address = models.CharField(verbose_name=_("address"), max_length=2048, blank=False, null=True, db_index=True)
    start = models.DateTimeField(verbose_name=_("start date/time"), blank=False, null=True, db_index=True)
    created = models.DateTimeField(verbose_name=_("created date/time"), blank=True, null=True, db_index=True, auto_now_add=True)
    updated = models.DateTimeField(verbose_name=_("start date/time"), blank=True, null=True, db_index=True, auto_now=True)


    class Meta:

        unique_together = ["group", "start",]
        app_label = "core"
        verbose_name = _("event")
        verbose_name_plural = _("events")
        ordering = ["-created", "-start"]

    def __unicode__(self):

        return self.name

    def __str__(self):

        return self.__unicode__()
Exemplo n.º 16
0
class AboutSection(models.Model):

    title = models.CharField(max_length=50, )

    slug = models.CharField(
        max_length=50,
        blank=True,
    )

    icon_class = models.CharField(
        max_length=50,
        blank=True,
        null=True,
    )

    order = models.PositiveSmallIntegerField(unique=True, )

    content = RedactorField()

    class Meta:
        ordering = ['order']

    def save(self, *args, **kwargs):
        self.slug = slugify(self.title.encode('utf-8'))

        self.content = self.content.replace(
            "<img src=", "<img class='img-responsive' src=")

        super(AboutSection, self).save(*args, **kwargs)
Exemplo n.º 17
0
Arquivo: models.py Projeto: serjt/kma
class Education(models.Model):
    class Meta:
        ordering = '-date'.split()
        verbose_name = 'статья'
        verbose_name_plural = 'статьи'

    choices = (('ПДМО', 'ПДМО'), ('НМО', 'НМО'))
    category = models.CharField(choices=choices,
                                max_length=100,
                                verbose_name='Категория')
    name = models.CharField(max_length=100, verbose_name='Заголовок')
    text = RedactorField(
        verbose_name='Текст',
        upload_to=image_upload_to,
        # redactor_options={'buttons': ['image'],},
        allow_image_upload=True,
        allow_file_upload=True)
    date = models.DateTimeField(auto_now=True, verbose_name='Дата')
    file = models.FileField(upload_to=image_upload_to,
                            blank=True,
                            null=True,
                            verbose_name='Файл')

    def __unicode__(self):
        return self.name
Exemplo n.º 18
0
class Project(TranslatableModel):
    """
    Project Model
    """
    translations = TranslatedFields(title=models.CharField(_('title'),
                                                           max_length=255),
                                    description=RedactorField(_('description'),
                                                              blank=True,
                                                              null=True),
                                    client=models.CharField(_('client'),
                                                            max_length=255,
                                                            blank=True,
                                                            null=True))
    slug = models.SlugField(unique=True)
    offices = models.ManyToManyField(Office)
    date = models.DateField(blank=True, null=True)
    image = ImageWithThumbsField(_("image"),
                                 sizes=settings.THUMBNAILS_PROJECTS,
                                 upload_to="projects")
    order = models.PositiveIntegerField(default=0, blank=False, null=False)
    highlighted = models.BooleanField(_("highlighted"))
    link = models.CharField(_('link'), max_length=255, blank=True, null=True)
    tags = TaggableManager(blank=True)

    class Meta:
        ordering = ('order', '-date')

    def __unicode__(self):
        return self.safe_translation_getter('title', unicode(self.pk))

    def get_absolute_url(self):
        return reverse('jplusplus_project_details', args=[str(self.slug)])
Exemplo n.º 19
0
class Banner(models.Model):
	def make_upload_path(instance, filename):
		name, extension = os.path.splitext(filename)
		filename = u'%s%s' % (slugify(name), extension)
		return u'upload/banners/%s' % filename.lower()
		
	title = models.CharField(max_length=100, verbose_name=u'заголовок')
	image = SorlImageField(upload_to=make_upload_path, verbose_name=u'изображение', help_text=u'150x150 px размер баннера ')
	description = RedactorField(max_length=1000, verbose_name=u'описание', blank=True)
	is_active = models.BooleanField(verbose_name=u'активно', default=True)
	sort = models.IntegerField(verbose_name=u'порядок', default=0)
	
	def get_title(self): return self.title
	def get_image(self): return self.image
	def get_description(self): return self.description
          
	def __unicode__(self):
		return self.get_title()
     
	class Meta:
		verbose_name = u'баннер'
		verbose_name_plural = u'баннеры'
		ordering = ['sort', '-id']
		
################################################################################################################
################################################################################################################
Exemplo n.º 20
0
class Gallery(models.Model):
    class Meta:
        verbose_name = 'Фото-Отчет'
        verbose_name_plural = 'Фото-Отчеты'
        ordering = '-updated'.split()

    image = models.ImageField(upload_to=image_upload_to, null=True)
    name = models.CharField(max_length=100, verbose_name='Название')

    foto_text = RedactorField(upload_to=image_upload_to,
                              allow_file_upload=True,
                              allow_image_upload=True,
                              verbose_name='Фото-Отчет',
                              null=True)
    updated = models.DateTimeField(blank=True, null=True, auto_now=True)
    date = models.CharField(blank=True, null=True, max_length=100)

    def __unicode__(self):
        return self.name

    def get_time(self):
        return date(self.updated, 'Y.m.d - H:i')

    def get_date(self):
        return self.date

    def get_text(self):
        return '%s...' % self.body[0:50]
        # return '%s...' % re.match(r'(?:[^.:;]+[.:;]){2}', self.body).group()

    def save(self, *args, **kwargs):
        self.date = self.get_time()
        super(Gallery, self).save()
Exemplo n.º 21
0
class Contribution(BaseModel):
    title = models.CharField(
        max_length=250,
    )

    slug = models.SlugField(
        max_length=250,
        blank=True,
        null=True,
    )

    contribution_type = models.ForeignKey('ContributionType')

    description = RedactorField()

    license = models.ForeignKey(
        'License',
        blank=True,
        null=True,
    )

    class Meta:
        ordering = ['slug']

    def __unicode__(self):
        return u'%s' % (self.name)

    def save(self, *args, **kwargs):
        self.slug = slugify(str(self.name.encode('utf-8')))
        super(Contribution, self).save(*args, **kwargs)
Exemplo n.º 22
0
class Services(models.Model):
    """
    Услуги
    """
    main_title = models.CharField(max_length=32,
                                  verbose_name=u'Основной Заголовок')
    add_title = models.CharField(max_length=128,
                                 verbose_name=u'Подробный заголовок')
    body = RedactorField(verbose_name=u'Текст статьи')
    create_date = models.DateTimeField(verbose_name=u'Дата создания')
    active = models.BooleanField(default=True, verbose_name=u'Показывать')
    image = models.ImageField(verbose_name=u'Постер', blank=True, null=True)
    update_date = models.DateTimeField(auto_now=True,
                                       verbose_name=u'Дата изменения')
    slider = models.ManyToManyField(ImageTable,
                                    null=True,
                                    blank=True,
                                    related_name='services_slider')

    class Meta:
        verbose_name = verbose_name_plural = u'Услуги'

    def __unicode__(self):
        return self.main_title

    def get_absolute_url(self):
        return reverse('service', args=[
            str(self.pk),
        ])
Exemplo n.º 23
0
class Description(models.Model):
    language = models.ForeignKey(Language, on_delete=models.CASCADE)
    name = models.CharField(max_length=255,verbose_name='Name')
    text = RedactorField(null=True,verbose_name='Описание',
        redactor_options={'lang': 'ru'},upload_to='tmp/igroteka/',allow_file_upload=False,allow_image_upload=True)
    title = models.CharField(max_length=255,null=True)
    meta_description = models.CharField(max_length=255,null=True)
    meta_keywords = models.CharField(max_length=255,null=True)
    last_modified = models.DateTimeField(auto_now_add=True)

    class Meta:
        abstract = True
        verbose_name = 'Description'
        verbose_name_plural = 'Description'

    def save(self,*args,**kwargs):
        self.last_modified = timezone.now()

        if self.pk:
            from main.models import Meta

            template = Meta.objects.filter(language=self.language,model=list(dict(Meta.model_choices).values()).index(self.obj.model.__name__)).first()
            if template:
                self.title = self.title or template.title.format(**{'obj':self,'COMPANY_NAME':COMPANY_NAME})
                self.meta_description = self.meta_description or template.meta_description.format(**{'obj':self,'COMPANY_NAME':COMPANY_NAME,'PHONES':' '.join(PHONES)})[:255]
                self.meta_keywords = self.meta_keywords or template.meta_keywords.format(**{'obj':self,'COMPANY_NAME':COMPANY_NAME,'PHONES':' '.join(PHONES)})[:255]

        super().save(*args,**kwargs)

    def __str__(self):
        return self.name or ''
Exemplo n.º 24
0
class Post(models.Model):
    title = models.CharField(max_length=255)
    slug = models.SlugField(unique=True,
                            max_length=255)
    description = models.CharField(max_length=255, null=True, blank=True,help_text="Leave blank for auto-fill")
    author = models.ForeignKey(User, null=True, blank=True,editable=False)
    content = RedactorField(verbose_name=u'Text')
    published = models.BooleanField(default=True)
    created = models.DateTimeField(auto_now_add=True)
    tag = models.ManyToManyField(Tag, related_name="posts", related_query_name="post", blank=True)
    stock = models.ManyToManyField(Stock,related_name="posts",related_query_name="post", blank=True)
    imageURL = models.URLField(max_length=255, null=True, blank=True,help_text="Aim for 900x300 resolution")
    
    class Meta:
        ordering = ['-created']
    
    def __unicode__(self):
        return u'%s' % self.title
    
    def get_absolute_url(self):
        return reverse('blog.views.post',args=[self.slug])
    
    def get_comment_url(self):
        return reverse('blog.views.add_comment',args=[self.slug])
    
    def save(self, *args, **kwargs):
        if self.content and (self.description is None or self.description == ""):
            suffix = "..."
            length = 100
            content = strip_tags(self.content)
            self.description = content if len(content) <= length else content[:length-len(suffix)].rsplit(' ', 1)[0] + suffix
        super(Post, self).save(*args, **kwargs)
Exemplo n.º 25
0
class Event(models.Model):
    title = models.CharField(verbose_name='Название', max_length=200)
    klass = models.CharField(
        verbose_name=u'Классы',
        max_length=100,
        blank=True,
        help_text='Не обязательно, например, 10-11 классы или 6-А класс.')
    date_begin = models.DateField(verbose_name='Дата начала',
                                  default=timezone.now)
    date_end = models.DateField(
        verbose_name='Дата окончания',
        blank=True,
        null=True,
        help_text='Не обязательно, для событий длительностью больше 1 дня')
    content = RedactorField(
        verbose_name='Текст',
        blank=True,
        null=True,
        help_text='Подробности мероприятия, расписание и т.п.')
    etype = models.IntegerField(verbose_name='Тип события',
                                choices=CHOICE_TYPES,
                                default=5)

    class Meta:
        verbose_name = 'Мероприятие'
        verbose_name_plural = 'Мероприятия'
        ordering = ('date_begin', )

    def __str__(self):
        return self.title
Exemplo n.º 26
0
class CategoryAdBoard(MetaModel, ActiveSortModel):
    title = models.CharField(max_length=500, verbose_name=u'заголовок')
    text = RedactorField(max_length=1000, verbose_name=u"описание")

    is_public = models.BooleanField(verbose_name=u'является публичной',
                                    default=False)

    objects = models.Manager()
    publics = PublicManager()

    def get_title(self):
        return self.title

    def get_text(self):
        return self.text

    def __unicode__(self):
        return self.get_title()

    @models.permalink
    def get_absolute_url(self):
        return ('category_ad_board_url', (), {'id': self.id})

    @models.permalink
    def get_add_ad_url(self):
        return ('add_ad_board_url', (), {'id': self.id})

    class Meta:
        verbose_name = u"категория объявлений"
        verbose_name_plural = u"категории объявлений"
Exemplo n.º 27
0
class Story(models.Model):
    """A hunk of content for our site, generally corresponding to a page"""
    
    STATUS_CHOICES = (
        (1, "Needs Edit"), 
        (2, "Needs Approval"), 
        (3, "Published"),
        (4, "Archived"),
    )

    title = models.CharField(max_length=100)
    slug = models.SlugField()
    category = models.ForeignKey(Category)
 #   html_content = HTMLField()
    html_content = RedactorField(verbose_name=u'Text')
    owner = models.ForeignKey(User)
    status = models.IntegerField(choices=STATUS_CHOICES, default=1)
    created = models.DateTimeField(default=datetime.datetime.now)
    modified = models.DateTimeField(default=datetime.datetime.now)
    is_top = models.BooleanField(default=False)

    class Meta:
        ordering = ['-is_top','-created']
        verbose_name_plural = "stories"

    @permalink
    def get_absolute_url(self):
        return ("cms-story", (), {'slug': self.slug})

    def save(self):
        self.modified = datetime.datetime.now()
        super(Story, self).save()

    admin_objects = models.Manager()
    objects = ViewableManager()
Exemplo n.º 28
0
class Trombinoscope(TranslatableModel):
    """
    Person Model
    """
    translations = TranslatedFields(
        short_description=models.CharField(_('short description'),
                                           help_text=_("to be translated"),
                                           max_length=255),
        description=RedactorField(_('description'),
                                  help_text=_("to be translated"),
                                  null=True,
                                  blank=True),
    )
    first_name = models.CharField(_('first name'),
                                  help_text=_("don't translate"),
                                  max_length=255)
    last_name = models.CharField(_('last name'),
                                 help_text=_("don't translate"),
                                 max_length=255)
    photo = ImageWithThumbsField(_('illustration'),
                                 help_text=_("don't translate"),
                                 sizes=settings.THUMBNAILS_TROMBINOSCOPE,
                                 max_length=255,
                                 upload_to="trombinoscope")
    position = models.PositiveIntegerField(default=0, blank=False, null=False)
    offices = models.ManyToManyField(Office)

    class Meta:
        verbose_name_plural = "Trombinoscope"
        ordering = ('position', )

    def __unicode__(self):
        return "%s %s" % (self.first_name, self.last_name)
Exemplo n.º 29
0
class Post(models.Model):
    title = models.CharField(max_length=300)
    slug = models.SlugField(max_length=100)
    body = RedactorField(
        verbose_name=u'Text',
        redactor_options={'lang': 'en', 'focus': 'true'},
        upload_to='tmp/',
        allow_file_upload=True,
        allow_image_upload=True
    )
    created = models.DateTimeField(auto_now_add=True)
    tags = select2.fields.ManyToManyField(Tag, blank=True, default = None)
    posted = select2.fields.ManyToManyField(Category)
    authors = select2.fields.ManyToManyField(Author, blank=True, default = None)
    theme = select2.fields.ForeignKey(Theme)
    first_image = models.ForeignKey(Images,null=True, blank=True, default = None)
    lead_photo = models.ImageField(upload_to=upload_image_to, blank=True, null=True)
    def __unicode__(self):
        return self.title
    def get_absolute_url(self):
        return '/blog/post/'+ self.slug
    def crop_first_image(self):
        return self.first_image
    def teaser(self):
        txt = re.sub("\{\{.*\}\}","",BeautifulSoup(self.body).text)
        i = 800
        while len(txt) > i and txt[i-1] != ".":
            i += 1
        if "(function" in txt:
            if txt.index("(function") < i:
                i = txt.index("(function") 
        return txt[:i]
Exemplo n.º 30
0
class Articulo (models.Model):
    def __unicode__(self):
        return unicode(self.titulo) or u''


    publicado=models.BooleanField(default=False)
    visible_en_portada=models.BooleanField(default=False)
    fecha=models.DateTimeField()
    volanta=models.CharField(max_length=255, blank=True, null=True, default=None)
    titulo=models.CharField(max_length=255)
    slug =  models.SlugField(blank=True, max_length=100)
    bajada=models.TextField(blank=True)
    texto=RedactorField()
    secciones=models.ManyToManyField(Seccion, blank=True, null=True, default=None)
    imagen=models.ImageField(upload_to='img-articulos', blank=True, default=None)
    video = EmbedVideoField(blank=True, null=True, default=None)
    principal=models.BooleanField(default=False)
    edicion=models.ForeignKey(Edicion, default=None, blank=True, null=True)
    permitir_comentarios=models.BooleanField(default=True)
    orden=models.IntegerField(blank=True, null=True)
    vistas=models.IntegerField(default=0)
    autor=models.ManyToManyField(Autor)

    def thumb(self):
        if self.imagen:
            img = get_thumbnail(self.imagen, '150x100', crop='center', quality=99)
            return '<img src="%s" width="100" height="100" />' % (img.url)
        else:
            return None
    thumb.allow_tags = True

    def get_absolute_url(self):
        return "/articulo/%i/%s/" % (self.id, self.slug)