From 425a8d5c6b7b7d993651bb35c4301763c9dd8de2 Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Thu, 14 Mar 2019 16:21:48 -0300 Subject: [PATCH 1/6] =?UTF-8?q?Adiciona=20t=C3=ADtulo=20da=20lei=20no=20?= =?UTF-8?q?=C3=ADndice=20de=20busca.=20#744?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bireme/leisref/search_indexes.py | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/bireme/leisref/search_indexes.py b/bireme/leisref/search_indexes.py index bd4cba63..ecc126f8 100644 --- a/bireme/leisref/search_indexes.py +++ b/bireme/leisref/search_indexes.py @@ -1,16 +1,17 @@ import datetime from haystack import indexes -from main.models import Descriptor, ResourceThematic -from models import * from attachments.models import Attachment from django.conf import settings - +from django.template.defaultfilters import date as _date from django.contrib.contenttypes.models import ContentType +from main.models import Descriptor, ResourceThematic +from models import * class LeisRefIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) title = indexes.CharField(model_attr='title') + reference_title = indexes.CharField() status = indexes.IntegerField(model_attr='status') scope_region = indexes.CharField() act_type = indexes.CharField() @@ -41,6 +42,28 @@ class LeisRefIndex(indexes.SearchIndex, indexes.Indexable): def get_model(self): return Act + def prepare_reference_title(self, obj): + ''' + Used for search purpose, index act title different languages + ''' + ref_title_list = [] + act_type_trans = obj.act_type.get_translations() + + if not obj.title: + if obj.issue_date: + act_date = _date(obj.issue_date, "d \d\e F \d\e Y") + for act_type in act_type_trans: + act_type_label = act_type.split('^')[1] + act_title = u"{0} {1} de {2}".format(act_type_label, obj.act_number, act_date) + ref_title_list.append(act_title) + else: + for act_type in act_type_trans: + act_type_label = act_type.split('^')[1] + act_title = u"{0} {1}".format(act_type_label, obj.act_number) + ref_title_list.append(act_title) + + return ref_title_list + def prepare_scope_region(self, obj): if obj.scope_region: translations = obj.scope_region.get_translations() From fdb25761b96037c2ad761ca600015c458d524358 Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Thu, 14 Mar 2019 17:13:24 -0300 Subject: [PATCH 2/6] Ajustes menores --- bireme/leisref/search_indexes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bireme/leisref/search_indexes.py b/bireme/leisref/search_indexes.py index ecc126f8..8eedca0d 100644 --- a/bireme/leisref/search_indexes.py +++ b/bireme/leisref/search_indexes.py @@ -54,7 +54,7 @@ def prepare_reference_title(self, obj): act_date = _date(obj.issue_date, "d \d\e F \d\e Y") for act_type in act_type_trans: act_type_label = act_type.split('^')[1] - act_title = u"{0} {1} de {2}".format(act_type_label, obj.act_number, act_date) + act_title = u"{0} {1} - {2}".format(act_type_label, obj.act_number, act_date) ref_title_list.append(act_title) else: for act_type in act_type_trans: From 2422c97fea7844ff1c1c2054cb61ae5e6ab0fced Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Thu, 14 Mar 2019 17:35:24 -0300 Subject: [PATCH 3/6] =?UTF-8?q?[leisref]=20Normaliza=20apresenta=C3=A7?= =?UTF-8?q?=C3=A3o=20do=20t=C3=ADtulo=20no=20plugin=20e=20no=20FI-ADMIN.?= =?UTF-8?q?=20#744?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bireme/leisref/models.py | 4 ++-- bireme/leisref/search_indexes.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/bireme/leisref/models.py b/bireme/leisref/models.py index 73a4d499..420fb62a 100644 --- a/bireme/leisref/models.py +++ b/bireme/leisref/models.py @@ -502,9 +502,9 @@ def __unicode__(self): else: if self.issue_date: act_date = _date(self.issue_date, "d \d\e F \d\e Y") - act_title = u"{0} {1}, de {2}".format(self.act_type, self.act_number, act_date) + act_title = u"{0} Nº {1} - {2}".format(self.act_type, self.act_number, act_date) else: - act_title = u"{0} {1}".format(self.act_type, self.act_number) + act_title = u"{0} Nº {1}".format(self.act_type, self.act_number) return act_title diff --git a/bireme/leisref/search_indexes.py b/bireme/leisref/search_indexes.py index 8eedca0d..1490c395 100644 --- a/bireme/leisref/search_indexes.py +++ b/bireme/leisref/search_indexes.py @@ -1,3 +1,4 @@ +#! coding: utf-8 import datetime from haystack import indexes from attachments.models import Attachment @@ -54,12 +55,12 @@ def prepare_reference_title(self, obj): act_date = _date(obj.issue_date, "d \d\e F \d\e Y") for act_type in act_type_trans: act_type_label = act_type.split('^')[1] - act_title = u"{0} {1} - {2}".format(act_type_label, obj.act_number, act_date) + act_title = u"{0} Nº {1} - {2}".format(act_type_label, obj.act_number, act_date) ref_title_list.append(act_title) else: for act_type in act_type_trans: act_type_label = act_type.split('^')[1] - act_title = u"{0} {1}".format(act_type_label, obj.act_number) + act_title = u"{0} Nº {1}".format(act_type_label, obj.act_number) ref_title_list.append(act_title) return ref_title_list From aa27e7b99de8cb20e6aebcfc9c592a4686759db6 Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Thu, 14 Mar 2019 18:06:46 -0300 Subject: [PATCH 4/6] Ajustes menores --- bireme/leisref/search_indexes.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bireme/leisref/search_indexes.py b/bireme/leisref/search_indexes.py index 1490c395..74f327d4 100644 --- a/bireme/leisref/search_indexes.py +++ b/bireme/leisref/search_indexes.py @@ -5,6 +5,7 @@ from django.conf import settings from django.template.defaultfilters import date as _date from django.contrib.contenttypes.models import ContentType +from django.utils.translation import activate from main.models import Descriptor, ResourceThematic from models import * @@ -52,9 +53,12 @@ def prepare_reference_title(self, obj): if not obj.title: if obj.issue_date: - act_date = _date(obj.issue_date, "d \d\e F \d\e Y") for act_type in act_type_trans: + act_type_lang = act_type.split('^')[0] act_type_label = act_type.split('^')[1] + activate(act_type_lang) + act_date = _date(obj.issue_date, "d \d\e F \d\e Y") + act_title = u"{0} Nº {1} - {2}".format(act_type_label, obj.act_number, act_date) ref_title_list.append(act_title) else: From 449224d7723b201a97c8c6668a2052c14744f81b Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Wed, 20 Mar 2019 11:55:22 -0300 Subject: [PATCH 5/6] =?UTF-8?q?[biblioref]=20Refatoramento=20do=20c=C3=B3d?= =?UTF-8?q?igo=20da=20grava=C3=A7=C3=A3o=20do=20campo=20indexer=5Fcc=5Fcod?= =?UTF-8?q?e.=20#577?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bireme/biblioref/forms.py | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/bireme/biblioref/forms.py b/bireme/biblioref/forms.py index 62011111..99fc680e 100644 --- a/bireme/biblioref/forms.py +++ b/bireme/biblioref/forms.py @@ -86,7 +86,6 @@ def __init__(self, *args, **kwargs): self.fields['publisher'].widget = widgets.HiddenInput() self.fields['isbn'].widget = widgets.HiddenInput() - # load serial titles for serial analytic if self.document_type == 'S' and not self.reference_source: title_objects = Title.objects.all() @@ -918,6 +917,17 @@ def save(self, *args, **kwargs): if self.document_type == 'Tm': obj.publisher = 's.n' + # check if reference doesn't have indexer_cc_code info + if not obj.indexer_cc_code: + ctype = obj.get_content_type_id() + # check if user has indexed this document + has_indexed = Descriptor.objects.filter(object_id=obj.id, content_type_id=ctype, + created_by=self.user).exists() + + if has_indexed: + # update reference indexer_cc_code field + obj.indexer_cc_code = self.user_data.get('user_cc','') + # save object obj.save() @@ -952,13 +962,13 @@ def save(self, *args, **kwargs): class BiblioRefSourceForm(BiblioRefForm): class Meta: model = ReferenceSource - exclude = ('cooperative_center_code',) + exclude = ('cooperative_center_code', 'indexer_cc_code') class BiblioRefAnalyticForm(BiblioRefForm): class Meta: model = ReferenceAnalytic - exclude = ('source', 'cooperative_center_code',) + exclude = ('source', 'cooperative_center_code', 'indexer_cc_code') class AttachmentForm(forms.ModelForm): @@ -1040,19 +1050,7 @@ def save(self, *args, **kwargs): obj = super(DescriptorForm, self).save(commit=False) # for bibliographic default value for descriptor is admited obj.status = 1 - obj.save() - # if is first center to index the reference save the code in indexer_cc_code - reference = Reference.objects.get(id=obj.object_id) - # check if reference already have indexer_cc_code info - if not reference.indexer_cc_code: - # get user profile cc code - user = obj.created_by - user_data = simplejson.loads(user.profile.data) - # fill reference field - reference.indexer_cc_code = user_data.get('cc','') - # update record - reference.save() # definition of inline formsets DescriptorFormSet = generic_inlineformset_factory(Descriptor, form=DescriptorForm, From 14fe7d7f6e9e0692b21249b1d2658be6d1c95de6 Mon Sep 17 00:00:00 2001 From: Vinicius de Andrade Date: Thu, 21 Mar 2019 17:16:39 -0300 Subject: [PATCH 6/6] [leisref] Adiciona titulo da lei para uso no plugin --- bireme/leisref/search_indexes.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/bireme/leisref/search_indexes.py b/bireme/leisref/search_indexes.py index 74f327d4..e564a38e 100644 --- a/bireme/leisref/search_indexes.py +++ b/bireme/leisref/search_indexes.py @@ -130,8 +130,9 @@ def prepare_relationship_active(self, obj): ref_number = act.act_referred.act_number ref_date = act.act_referred.issue_date ref_lnk = "leisref.act.{0}".format(act.act_referred.id) if act.act_referred.status in [-2, 1] else '' - active_relation = u"{0}@{1}@{2}@{3}@{4}@{5}".format(label_present, ref_type, ref_number, - ref_date, act.act_apparatus, ref_lnk) + ref_title = act.act_referred.title + active_relation = u"{0}@{1}@{2}@{3}@{4}@{5}@{6}".format(label_present, ref_type, ref_number, + ref_date, act.act_apparatus, ref_lnk, ref_title) active_relationships.append(active_relation) return active_relationships @@ -141,10 +142,14 @@ def prepare_relationship_passive(self, obj): act_list = ActRelationship.objects.filter(act_referred=obj.pk) for act in act_list: label_past = "|".join(act.relation_type.get_label_past_translations()) - act_type = "|".join(obj.act_type.get_translations()) - ref_lnk = "leisref.act.{0}".format(act.act_related.id) if act.act_related.status in [-2, 1] else '' - passive_relation = u"{0}@{1}@{2}@{3}@{4}".format(label_past, act_type, act.act_related.act_number, - act.act_related.issue_date, ref_lnk) + rel_type = "|".join(obj.act_type.get_translations()) + rel_number = act.act_related.act_number + rel_date = act.act_related.issue_date + rel_lnk = "leisref.act.{0}".format(act.act_related.id) if act.act_related.status in [-2, 1] else '' + rel_title = act.act_related.title + rel_apparatus = act.act_apparatus + passive_relation = u"{0}@{1}@{2}@{3}@{4}@{5}@{6}".format(label_past, rel_type, rel_number, rel_date, + rel_lnk, rel_title, rel_apparatus) passive_relationships.append(passive_relation) return passive_relationships