Exemple #1
0
class Idea(CreationModificationDateMixin, MetaTagsMixin, SchemaMicrodata,
           UrlMixin):
    class Meta:
        verbose_name = _("Idea")
        verbose_name_plural = _("Ideas")

    title = MultilingualCharField(_("Title"), blank=True, max_length=200)
    description = MultilingualTextField(_("Description"), blank=True)
    content = MultilingualTextField(_("Content"), blank=True)
    categories = models.ManyToManyField(Category,
                                        verbose_name=_("Category"),
                                        blank=True,
                                        related_name="ideas")

    def get_url_path(self):
        return reverse("idea_details", kwargs={
            "idea_id": str(self.pk),
        })

    @classmethod
    def itemprop_fields(cls):
        fields = ["title", "content"]
        lang_fields = []
        for lang in settings.LANGUAGES:
            safe_suffix = lang[0].replace("-", "_")
            lang_fields = lang_fields + [
                f"{field}_{safe_suffix}" for field in fields
            ]
        return lang_fields + super().itemprop_fields()

    def __str__(self):
        return self.title
class Category(models.Model):
    title = MultilingualCharField(_("Title"), max_length=200)

    class Meta:
        verbose_name = _("Idea Category")
        verbose_name_plural = _("Idea Categories")

    def __str__(self):
        return self.title
class Idea(UrlMixin):
    title = MultilingualCharField(_("Title"), max_length=200)
    subtitle = MultilingualCharField(_("Subtitle"), max_length=200, blank=True)
    description = MultilingualTextField(_("Description"), blank=True)
    is_original = models.BooleanField(_("Original"))
    categories = models.ManyToManyField(Category, verbose_name=_("Categories"), blank=True, related_name="ideas")

    class Meta:
        verbose_name = _("Idea")
        verbose_name_plural = _("Ideas")

    def __str__(self):
        return self.title

    def get_url_path(self):
        try:
            return reverse("idea_detail", kwargs={"id": self.pk})
        except NoReverseMatch:
            return ""
Exemple #4
0
class Idea(UrlMixin, CreationModificationDateMixin, MetaTagsMixin):
    # title = models.CharField(_("Title"), max_length=200)
    title = MultilingualCharField(
        _("Title"),
        max_length=200,
    )
    subtitle = MultilingualCharField(_("Subtitle"), max_length=200, blank=True)
    # content = models.TextField(_("Content"))
    description = MultilingualTextField(
        _("Description"),
        blank=True,
    )
    is_original = models.BooleanField(
        _("Original"),
        default=False,
    )
    categories = models.ManyToManyField(
        Category,
        verbose_name=_("Categories"),
        blank=True,
        related_name="ideas",
    )

    class Meta:
        verbose_name = _("Idea")
        verbose_name_plural = _("Ideas")

    def __str__(self):
        return self.title

    def get_url_path(self):
        try:
            # return reverse("idea_details", kwargs={ "idea_id": str(self.pk),} )
            return reverse("idea_detail", kwargs={"id": self.pk})
        except NoReverseMatch:
            return ""
Exemple #5
0
class Article(models.Model):
    class Meta:
        db_table = "articles"

    title = MultilingualCharField(
        _t('Title'),
        max_length=200,
    )
    text = MultilingualTextField(
        _t('Text'),
        blank=True,
    )
    date = models.DateTimeField()
    image = models.ImageField(upload_to='%Y/%m/%d', blank=True)

    def __str__(self):
        return self.title