Esempio n. 1
0
File: models.py Progetto: erijpc/cmj
    def save(self,
             force_insert=False,
             force_update=False,
             using=None,
             update_fields=None,
             auto_update_search=True):

        if auto_update_search and hasattr(self, 'fields_search'):
            search = ''
            for str_field in self.fields_search:
                fields = str_field.split('__')
                if len(fields) == 1:
                    try:
                        search += str(getattr(self, str_field)) + ' '
                    except:
                        pass
                else:
                    _self = self
                    for field in fields:
                        _self = getattr(_self, field)
                    search += str(_self) + ' '
            self.search = search
        self.search = normalize(self.search)

        return super(CmjSearchMixin, self).save(force_insert=force_insert,
                                                force_update=force_update,
                                                using=using,
                                                update_fields=update_fields)
Esempio n. 2
0
File: views.py Progetto: cmjatai/cmj
    def get_global(self):
        qs = self.get_queryset()

        g = {'Páginas Digitalizadas': {'count': 0, 'color': ''}}

        for i in qs:

            results = i.results

            for user, ru in results.items():  # ru -> result user

                for model, rm in ru.items():  # rm -> result model
                    if model not in g:
                        g[model] = {
                            'count': 0,
                            'color': re.sub('\s', '', normalize(model.lower()))
                        }
                    for ano, ra in rm.items():  # rm -> result anos
                        try:
                            g[model]['count'] += ra.get(
                                'total', ra.get('count', 0))
                            g['Páginas Digitalizadas']['count'] += ra.get(
                                'paginas', 0)
                        except Exception as e:
                            print(ra)

        g = filter(lambda x: x[1]['count'] > 500, g.items())
        return g
Esempio n. 3
0
    def filter_search(self, queryset, field_name, value):

        query = normalize(value)

        query = query.split(' ')
        if query:
            q = Q()
            for item in query:
                if not item:
                    continue
                q = q & Q(search__icontains=item)

            if q:
                queryset = queryset.filter(q)
        return queryset
Esempio n. 4
0
File: forms.py Progetto: cmjatai/cmj
    def filter_search(self, queryset, field_name,  value):

        query = normalize(value)

        query = query.split(' ')
        if query:
            q = Q()
            for item in query:
                if not item:
                    continue
                q = q & Q(search__icontains=item)

            if q:
                queryset = queryset.filter(q)
        return queryset
Esempio n. 5
0
File: forms.py Progetto: cmjatai/cmj
    def __init__(self, *args, **kwargs):

        super(ContatoFragmentSearchForm, self).__init__(*args, **kwargs)

        """q_field = FieldWithButtons(
            Field('q',
                  placeholder=_('Filtrar Lista'),
                  autocomplete='off'),
            StrictButton(
                _('Filtrar'), css_class='btn-outline-primary',
                type='button', onclick='atualizaContatos(event)'))"""

        self.fields['contatos_search'].widget = forms.CheckboxSelectMultiple(
        )

        queryset = Contato.objects.filter(
            workspace=self.initial['workspace']).exclude(
            pk__in=self.initial['pks_exclude'])

        query = normalize(self.initial['q'])

        query = query.split(' ')
        if query:
            q = Q()
            for item in query:
                if not item:
                    continue
                q = q & Q(search__icontains=item)

            if q:
                queryset = queryset.filter(q)

        queryset = queryset[:10]
        self.fields['contatos_search'].queryset = queryset

        self.fields['contatos_search'].choices = [(c.pk, c) for c in queryset]

        self.helper = FormHelper()
        self.helper.field_class = 'controls'
        self.helper.layout = Layout(
            Div(
                Field('contatos_search'),
                css_class='form-group-contatos-search '
                'controls-radio-checkbox'))
        self.helper.form_tag = False
        self.helper.disable_csrf = True
Esempio n. 6
0
    def get_queryset(self, *args, **kwargs):
        request = self.request
        queryset = Trecho.objects.all()

        if request.GET.get('q') is not None:
            query = normalize(str(request.GET.get('q')))

            query = query.split(' ')
            if query:
                q = Q()
                for item in query:
                    if not item:
                        continue
                    q = q & Q(search__icontains=item)

                if q:
                    queryset = queryset.filter(q)

        return queryset
Esempio n. 7
0
    def __init__(self, *args, **kwargs):

        super(ContatoFragmentSearchForm, self).__init__(*args, **kwargs)
        """q_field = FieldWithButtons(
            Field('q',
                  placeholder=_('Filtrar Lista'),
                  autocomplete='off'),
            StrictButton(
                _('Filtrar'), css_class='btn-outline-primary',
                type='button', onclick='atualizaContatos(event)'))"""

        self.fields['contatos_search'].widget = forms.CheckboxSelectMultiple()

        queryset = Contato.objects.filter(
            workspace=self.initial['workspace']).exclude(
                pk__in=self.initial['pks_exclude'])

        query = normalize(self.initial['q'])

        query = query.split(' ')
        if query:
            q = Q()
            for item in query:
                if not item:
                    continue
                q = q & Q(search__icontains=item)

            if q:
                queryset = queryset.filter(q)

        queryset = queryset[:10]
        self.fields['contatos_search'].queryset = queryset

        self.fields['contatos_search'].choices = [(c.pk, c) for c in queryset]

        self.helper = FormHelper()
        self.helper.field_class = 'controls'
        self.helper.layout = Layout(
            Div(Field('contatos_search'),
                css_class='form-group-contatos-search '
                'controls-radio-checkbox'))
        self.helper.form_tag = False
        self.helper.disable_csrf = True
Esempio n. 8
0
File: views.py Progetto: cmjatai/cmj
    def get_queryset(self, *args, **kwargs):
        request = self.request
        queryset = Trecho.objects.all()

        if request.GET.get('q') is not None:
            query = normalize(str(request.GET.get('q')))

            query = query.split(' ')
            if query:
                q = Q()
                for item in query:
                    if not item:
                        continue
                    q = q & Q(search__icontains=item)

                if q:
                    queryset = queryset.filter(q)

        return queryset