Skip to content

Commit

Permalink
Add image field and image tag into trade marks app model (#3336)
Browse files Browse the repository at this point in the history
  • Loading branch information
smaciejs authored and ar4s committed Nov 19, 2018
1 parent 081cd1f commit 897df11
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 3 deletions.
4 changes: 3 additions & 1 deletion requirements/base.txt
Expand Up @@ -31,4 +31,6 @@ tablib==0.11.5
factory-boy==2.11.1
Faker==0.9.0
openpyxl==2.4.0
typing==3.6.6
typing==3.6.6
Pillow==5.3.0

5 changes: 3 additions & 2 deletions src/ralph/trade_marks/admin.py
Expand Up @@ -42,15 +42,15 @@ class TradeMarkAdmin(AttachmentsMixin, RalphAdmin):
]
list_display = [
'id', 'name', 'registrant_number', 'type',
'valid_to', 'holder', 'status'
'valid_to', 'holder', 'status', 'image_tag'
]
raw_id_fields = [
'business_owner', 'technical_owner', 'holder'
]
fieldsets = (
(_('Basic info'), {
'fields': (
'name', 'registrant_number', 'type',
'name', 'registrant_number', 'type', 'image', 'image_tag',
'registrant_class', 'valid_to', 'region',
'order_number_url', 'additional_markings', 'holder',
'status', 'remarks'
Expand All @@ -63,6 +63,7 @@ class TradeMarkAdmin(AttachmentsMixin, RalphAdmin):
})
)
search_fields = ['name', 'id', ]
readonly_fields = ['image_tag']


@register(ProviderAdditionalMarking)
Expand Down
20 changes: 20 additions & 0 deletions src/ralph/trade_marks/migrations/0003_trademark_image.py
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import migrations, models
import ralph.trade_marks.models


class Migration(migrations.Migration):

dependencies = [
('trade_marks', '0002_auto_20181005_1446'),
]

operations = [
migrations.AddField(
model_name='trademark',
name='image',
field=models.ImageField(null=True, upload_to=ralph.trade_marks.models.upload_dir, blank=True),
),
]
28 changes: 28 additions & 0 deletions src/ralph/trade_marks/models.py
Expand Up @@ -2,10 +2,12 @@
from dj.choices import Choices
from django.conf import settings
from django.db import models
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _

from ralph.accounts.models import Regionalizable
from ralph.assets.models import AssetHolder, BaseObject
from ralph.attachments.helpers import get_file_path
from ralph.domains.models import Domain
from ralph.lib.mixins.models import (
AdminAbsoluteUrlMixin,
Expand All @@ -14,6 +16,12 @@
)


def upload_dir(filename, instance):
return get_file_path(
filename, instance, default_dir="trade_marks"
)


class TradeMarkType(Choices):
_ = Choices.Choice
word = _('Word')
Expand Down Expand Up @@ -63,6 +71,11 @@ class TradeMark(Regionalizable, AdminAbsoluteUrlMixin, BaseObject):
choices=TradeMarkType(),
default=TradeMarkType.figurative.id
)
image = models.ImageField(
null=True,
blank=True,
upload_to=upload_dir
)
registrant_class = models.CharField(
verbose_name=_('Registrant class'),
blank=False,
Expand Down Expand Up @@ -106,6 +119,21 @@ class TradeMark(Regionalizable, AdminAbsoluteUrlMixin, BaseObject):
through='TradeMarksLinkedDomains',
)

def __str__(self):
return '{}, {}, {} expires {}.'.format(
self.name, self.registrant_number,
self.registrant_class, self.valid_to
)

def image_tag(self):
if not self.image:
return ""
return mark_safe(
'<img src="%s" width="150" />' % self.image.url
)
image_tag.short_description = _('Image')
image_tag.allow_tags = True


class TradeMarksLinkedDomains(models.Model):
trade_mark = models.ForeignKey(TradeMark)
Expand Down

0 comments on commit 897df11

Please sign in to comment.