Exemplo n.º 1
0
    def __init__(self, *args, **kwargs):

        tipo_select = Fieldset(
            TipoProposicao._meta.verbose_name,
            Div(to_column(('descricao', 5)),
                to_column(('content_type', 7)),
                css_class='clearfix'),
            to_column(('tipo_conteudo_related_radio', 6)),
            to_column(('perfis', 6)))

        self.helper = FormHelper()
        self.helper.layout = SaplFormLayout(tipo_select)

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

        content_types = ContentType.objects.get_for_models(
            *models_with_gr_for_model(TipoProposicao))

        self.fields['content_type'].choices = [
            (ct.pk, ct) for k, ct in content_types.items()
        ]
        self.fields['content_type'].choices.sort(key=lambda x: str(x[1]))

        if self.instance.pk:
            self.fields[
                'tipo_conteudo_related'].initial = self.instance.object_id
Exemplo n.º 2
0
def cria_models_tipo_autor(app_config=None,
                           verbosity=2,
                           interactive=True,
                           using=DEFAULT_DB_ALIAS,
                           **kwargs):

    models = models_with_gr_for_model(Autor)

    print("\n\033[93m\033[1m{}\033[0m".format(
        _('Atualizando registros TipoAutor do SAPL:')))
    for model in models:
        content_type = ContentType.objects.get_for_model(model)
        tipo_autor = TipoAutor.objects.filter(
            content_type=content_type.id).exists()

        if tipo_autor:
            msg1 = "Carga de {} não efetuada.".format(
                TipoAutor._meta.verbose_name)
            msg2 = " Já Existe um {} {} relacionado...".format(
                TipoAutor._meta.verbose_name, model._meta.verbose_name)
            msg = "  {}{}".format(msg1, msg2)
        else:
            novo_autor = TipoAutor()
            novo_autor.content_type_id = content_type.id
            novo_autor.descricao = model._meta.verbose_name
            novo_autor.save()
            msg1 = "Carga de {} efetuada.".format(TipoAutor._meta.verbose_name)
            msg2 = " {} {} criado...".format(TipoAutor._meta.verbose_name,
                                             content_type.model)
            msg = "  {}{}".format(msg1, msg2)
        print(msg)
    # Disconecta função para evitar a chamada repetidas vezes.
    post_migrate.disconnect(receiver=cria_models_tipo_autor)
Exemplo n.º 3
0
    def __init__(self, *args, **kwargs):

        layout_form = Fieldset(
            VinculoDocDiarioOficial._meta.verbose_name,
            Row(
                to_column(('content_type', 3)),
                to_column(('tipo', 3)),
                to_column(('numero', 2)),
                to_column(('ano', 2)),
                to_column(('pagina', 2)),
                to_column(('diario', 0)),
            ),
            Alert('',
                  css_class="doc_selected hidden alert-info",
                  dismiss=False),
        )

        self.helper = SaplFormHelper()
        self.helper.layout = SaplFormLayout(layout_form)

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

        content_types = ContentType.objects.get_for_models(
            *models_with_gr_for_model(VinculoDocDiarioOficial))

        self.fields['content_type'].choices = [
            (ct.pk, ct) for k, ct in content_types.items()
        ]
        # Ordena por id
        self.fields['content_type'].choices.sort(key=lambda x: x[0])
Exemplo n.º 4
0
    def __init__(self, *args, **kwargs):

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

        content_types = ContentType.objects.get_for_models(*models_with_gr_for_model(Autor))

        self.fields["content_type"].choices = [("", _("Outros (Especifique)"))] + [
            (ct.pk, ct) for key, ct in content_types.items()
        ]
Exemplo n.º 5
0
    def __init__(self, *args, **kwargs):

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

        content_types = ContentType.objects.get_for_models(
            *models_with_gr_for_model(Autor))

        self.fields['content_type'].choices = [
            ('', _('Outros (Especifique)'))
        ] + [(ct.pk, ct) for key, ct in content_types.items()]
Exemplo n.º 6
0
def test_proposicao_submit(admin_client):
    tipo_autor = baker.make(TipoAutor, descricao='Teste Tipo_Autor')
    user = get_user_model().objects.filter(is_active=True)[0]

    autor = baker.make(Autor, tipo=tipo_autor, nome='Autor Teste')

    autor_user = mommy.make(AutorUser, user=user, autor=autor)

    file_content = 'file_content'
    texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))

    mcts = ContentType.objects.get_for_models(
        *models_with_gr_for_model(TipoProposicao))

    for pk, mct in enumerate(mcts):
        tipo_conteudo_related = baker.make(mct, pk=pk + 1)

        response = admin_client.post(
            reverse('sapl.materia:proposicao_create'), {
                'tipo':
                baker.make(TipoProposicao,
                           pk=3,
                           tipo_conteudo_related=tipo_conteudo_related).pk,
                'descricao':
                'Teste proposição',
                'justificativa_devolucao':
                '  ',
                'status':
                'E',
                'autor':
                autor.pk,
                'texto_original':
                texto,
                'salvar':
                'salvar',
                'receber_recibo':
                'True',
            },
            follow=True)

        assert response.status_code == 200

        proposicao = Proposicao.objects.first()

        assert proposicao is not None
        assert proposicao.descricao == 'Teste proposição'
        assert proposicao.tipo.pk == 3
        assert proposicao.tipo.tipo_conteudo_related.pk == pk + 1
Exemplo n.º 7
0
def test_proposicao_submit(admin_client):
    tipo_autor = mommy.make(TipoAutor, descricao='Teste Tipo_Autor')
    user = get_user_model().objects.filter(is_active=True)[0]

    autor = mommy.make(
        Autor,
        user=user,
        tipo=tipo_autor,
        nome='Autor Teste')

    file_content = 'file_content'
    texto = SimpleUploadedFile("file.txt", file_content.encode('UTF-8'))

    mcts = ContentType.objects.get_for_models(
        *models_with_gr_for_model(TipoProposicao))

    for pk, mct in enumerate(mcts):
        tipo_conteudo_related = mommy.make(mct, pk=pk + 1)

        response = admin_client.post(
            reverse('sapl.materia:proposicao_create'),
            {'tipo': mommy.make(
                TipoProposicao, pk=3,
                tipo_conteudo_related=tipo_conteudo_related).pk,
             'descricao': 'Teste proposição',
             'justificativa_devolucao': '  ',
             'status': 'E',
             'autor': autor.pk,
             'texto_original': texto,
             'salvar': 'salvar',
             },
            follow=True)

        assert response.status_code == 200

        proposicao = Proposicao.objects.first()

        assert proposicao is not None
        assert proposicao.descricao == 'Teste proposição'
        assert proposicao.tipo.pk == 3
        assert proposicao.tipo.tipo_conteudo_related.pk == pk + 1
Exemplo n.º 8
0
    def build(cls):

        models_with_gr_for_autor = models_with_gr_for_model(Autor)

        for _model in models_with_gr_for_autor:

            @action(detail=False, name=_model._meta.model_name)
            def actionclass(self, request, *args, **kwargs):
                model = getattr(self, self.action)._AutorViewSet__model

                content_type = ContentType.objects.get_for_model(model)
                return self.list_for_content_type(content_type)

            func = actionclass
            func.mapping['get'] = func.kwargs['name']
            func.url_name = func.kwargs['name']
            func.url_path = func.kwargs['name']
            func.__model = _model

            setattr(cls, _model._meta.model_name, func)
        return cls
Exemplo n.º 9
0
    def __init__(self, *args, **kwargs):

        tipo_select = Fieldset(TipoProposicao._meta.verbose_name,
                               Div(to_column(('descricao', 5)),
                                   to_column(('content_type', 7)), css_class='clearfix'),
                               to_column(('tipo_conteudo_related_radio', 6)),

                               to_column(('perfis', 6)))

        self.helper = FormHelper()
        self.helper.layout = SaplFormLayout(tipo_select)

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

        content_types = ContentType.objects.get_for_models(
            *models_with_gr_for_model(TipoProposicao))

        self.fields['content_type'].choices = [
            (ct.pk, ct) for k, ct in content_types.items()]
        self.fields['content_type'].choices.sort(key=lambda x: str(x[1]))

        if self.instance.pk:
            self.fields[
                'tipo_conteudo_related'].initial = self.instance.object_id