Browse Source

Hot-Fix Corrigindo croppet na imagem de parlamentar

pull/3163/head
ulyssesBML 5 years ago
committed by Edward Ribeiro
parent
commit
28047878a4
  1. 25
      sapl/api/serializers.py
  2. 2
      sapl/templates/parlamentares/parlamentares_list.html

25
sapl/api/serializers.py

@ -7,6 +7,7 @@ from rest_framework.relations import StringRelatedField
from sapl.parlamentares.models import Parlamentar, Mandato, Filiacao, Legislatura
from sapl.base.models import Autor, CasaLegislativa
from sapl.utils import filiacao_data
from image_cropping.utils import get_backend
class IntRelatedField(StringRelatedField):
@ -64,8 +65,30 @@ class CasaLegislativaSerializer(serializers.ModelSerializer):
class ParlamentarResumeSerializer(serializers.ModelSerializer):
titular = serializers.SerializerMethodField('check_titular')
partido = serializers.SerializerMethodField('check_partido')
fotografia_cropped = serializers.SerializerMethodField('crop_fotografia')
logger = logging.getLogger(__name__)
def crop_fotografia(self,obj):
thumbnail_url = ""
try:
import os
#import pdb;pdb.set_trace()
if not obj.fotografia or not os.path.exists(obj.fotografia.path):
return thumbnail_url
thumbnail_url = get_backend().get_thumbnail_url(
obj.fotografia,
{
'size': (128, 128),
'box': obj.cropping,
'crop': True,
'detail': True,
}
)
except Exception as e:
self.logger.error(e)
self.logger.error('erro processando arquivo: %s' % obj.fotografia.path)
return thumbnail_url
def check_titular(self,obj):
is_titular = None
@ -139,4 +162,4 @@ class ParlamentarResumeSerializer(serializers.ModelSerializer):
class Meta:
model = Parlamentar
fields = ['id', 'nome_parlamentar', 'fotografia', 'ativo', 'partido', 'titular']
fields = ['id', 'nome_parlamentar', 'fotografia_cropped','fotografia', 'ativo', 'partido', 'titular']

2
sapl/templates/parlamentares/parlamentares_list.html

@ -58,7 +58,7 @@
<tbody>
<tr v-for="parlamentar in parlamentares">
<th>
<img style="max-width:210px; max-height:280px;" class="img-fluid img-thumbnail" v-bind:src="parlamentar.fotografia" @error="(() => parlamentar.fotografia = '')"/>
<img class="img-fluid img-thumbnail" v-bind:src="parlamentar.fotografia_cropped" @error="(() => parlamentar.fotografia = '')"/>
</th>
<th>
<a v-bind:href="'/parlamentar/'+parlamentar.id">[[ parlamentar.nome_parlamentar]]</a>

Loading…
Cancel
Save