diff --git a/docker-compose.yml b/docker-compose.yml index b559eff7e..1bfcf65f5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ sapldb: ports: - "5432:5432" sapl: - image: interlegis/sapl:3.1.121 + image: interlegis/sapl:3.1.122 restart: always environment: ADMIN_PASSWORD: interlegis diff --git a/release.sh b/release.sh index cc3a172b5..958e91b21 100755 --- a/release.sh +++ b/release.sh @@ -13,6 +13,10 @@ function bump_version { sed -e s/$VERSION/$NEXT_VERSION/g setup.py > tmp2 mv tmp2 setup.py + + + sed -e s/$VERSION/$NEXT_VERSION/g sapl/templates/base.html > tmp3 + mv tmp3 sapl/templates/base.html } function commit_and_push { diff --git a/sapl/compilacao/migrations/0010_auto_20181004_1939.py b/sapl/compilacao/migrations/0010_auto_20181004_1939.py new file mode 100644 index 000000000..76b2de609 --- /dev/null +++ b/sapl/compilacao/migrations/0010_auto_20181004_1939.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-10-04 22:39 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('compilacao', '0009_auto_20180926_1015'), + ] + + operations = [ + migrations.AlterField( + model_name='textoarticulado', + name='numero', + field=models.CharField(max_length=8, verbose_name='Número'), + ), + ] diff --git a/sapl/compilacao/models.py b/sapl/compilacao/models.py index efb834c51..3d5b7a679 100644 --- a/sapl/compilacao/models.py +++ b/sapl/compilacao/models.py @@ -186,7 +186,8 @@ class TextoArticulado(TimestampedMixin): data = models.DateField(blank=True, null=True, verbose_name=_('Data')) ementa = models.TextField(verbose_name=_('Ementa')) observacao = models.TextField(blank=True, verbose_name=_('Observação')) - numero = models.PositiveIntegerField(verbose_name=_('Número')) + numero = models.CharField( + max_length=8,verbose_name=_('Número')) ano = models.PositiveSmallIntegerField(verbose_name=_('Ano')) tipo_ta = models.ForeignKey( TipoTextoArticulado, diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 77ccca5d6..6f6a544cd 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -245,7 +245,7 @@ class MateriaLegislativaForm(ModelForm): primeiro_autor = True else: primeiro_autor = False - + materia = super(MateriaLegislativaForm, self).save(commit) materia.save() @@ -281,6 +281,20 @@ class UnidadeTramitacaoForm(ModelForm): raise ValidationError(msg) return cleaned_data + def save(self, commit=False): + unidade = super(UnidadeTramitacaoForm, self).save(commit) + cd = self.cleaned_data + + if not cd.get('orgao'): + unidade.orgao = None + if not cd.get('parlamentar'): + unidade.parlamentar = None + if not cd.get('comissao'): + unidade.comissao = None + + unidade.save() + return unidade + class AcompanhamentoMateriaForm(ModelForm): diff --git a/sapl/norma/forms.py b/sapl/norma/forms.py index afcc052cd..5fa26f0fd 100644 --- a/sapl/norma/forms.py +++ b/sapl/norma/forms.py @@ -132,15 +132,21 @@ class NormaJuridicaForm(ModelForm): if not self.is_valid(): return cleaned_data + + import re + has_digits = re.sub('[^0-9]', '', cleaned_data['numero']) + if not has_digits: + raise ValidationError('Número de norma não pode conter somente letras') + if self.instance.numero != cleaned_data['numero']: norma = NormaJuridica.objects.filter(ano=cleaned_data['ano'], - numero=cleaned_data['numero'], - tipo=cleaned_data['tipo']).exists() + numero=cleaned_data['numero'], + tipo=cleaned_data['tipo']).exists() if norma: raise ValidationError("Já existe uma norma de mesmo Tipo, Ano " "e Número no sistema") if (cleaned_data['tipo_materia'] and - cleaned_data['numero_materia'] and + cleaned_data['numero_materia'] and cleaned_data['ano_materia']): try: materia = MateriaLegislativa.objects.get( diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index 207bc2bc7..6ae314785 100644 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -142,7 +142,7 @@ class LegislaturaForm(ModelForm): pk = self.instance.pk - ultima_legislatura = Legislatura.objects.filter(data_inicio__lte=data_inicio + ultima_legislatura = Legislatura.objects.filter(data_inicio__lt=data_inicio ).order_by('-data_inicio').first() proxima_legislatura = Legislatura.objects.filter(data_fim__gt=data_fim ).order_by('data_fim').first() diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index c602e991b..4d273b6da 100644 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -741,16 +741,7 @@ def get_sessao_plenaria(sessao, casa): def get_turno(dic, materia, sessao_data_inicio): descricao_turno = ' ' descricao_tramitacao = ' ' - tramitacao = Tramitacao.objects.filter(materia=materia, - turno__isnull=False, - data_tramitacao__lte=sessao_data_inicio, - ).exclude(turno__exact='' - ).select_related( - 'materia', - 'status', - 'materia__tipo').order_by( - '-data_tramitacao' - ).first() + tramitacao = None if tramitacao is None: tramitacao = materia.tramitacao_set.last() @@ -759,7 +750,7 @@ def get_turno(dic, materia, sessao_data_inicio): if t[0] == tramitacao.turno: descricao_turno = t[1] break - descricao_tramitacao = tramitacao.status.descricao if tramitacao.status else ' ' + descricao_tramitacao = tramitacao.status.descricao if tramitacao.status else 'Não informada' return (descricao_turno, descricao_tramitacao) @@ -1028,7 +1019,7 @@ def get_pauta_sessao(sessao, casa): inf_basicas_dic["nom_sessao"] = sessao.tipo.nome inf_basicas_dic["num_sessao_plen"] = sessao.numero inf_basicas_dic["num_legislatura"] = sessao.legislatura - inf_basicas_dic["num_sessao_leg"] = sessao.legislatura + inf_basicas_dic["num_sessao_leg"] = sessao.sessao_legislativa.numero inf_basicas_dic["dat_inicio_sessao"] = sessao.data_inicio inf_basicas_dic["hr_inicio_sessao"] = sessao.hora_inicio inf_basicas_dic["dat_fim_sessao"] = sessao.data_fim diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 555007ee7..b00063777 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -86,7 +86,8 @@ class SessaoPlenariaForm(ModelForm): sessoes = SessaoPlenaria.objects.filter(numero=num, sessao_legislativa=sl, legislatura=leg, - tipo=tipo).\ + tipo=tipo, + data_inicio__year=abertura.year).\ values_list('id', flat=True) qtd_sessoes = len(sessoes) diff --git a/sapl/sessao/tests/test_sessao.py b/sapl/sessao/tests/test_sessao.py index 1715cd0ae..c1af4fc7e 100644 --- a/sapl/sessao/tests/test_sessao.py +++ b/sapl/sessao/tests/test_sessao.py @@ -51,17 +51,17 @@ def test_numero_duplicado_sessao_plenaria_form(): legislatura = mommy.make(Legislatura) sessao = mommy.make(SessaoLegislativa) tipo = mommy.make(TipoSessaoPlenaria) - mommy.make(SessaoPlenaria, - legislatura=legislatura, - sessao_legislativa=sessao, - tipo=tipo, - numero=1) + sessao_plenaria = mommy.make(SessaoPlenaria, + legislatura=legislatura, + sessao_legislativa=sessao, + tipo=tipo, + numero=1) form = forms.SessaoPlenariaForm(data={'legislatura': str(legislatura.pk), 'numero': '1', 'tipo': str(tipo.pk), 'sessao_legislativa': str(sessao.pk), - 'data_inicio': '10/11/2017', + 'data_inicio': sessao_plenaria.data_inicio, 'hora_inicio': '10:10' }) diff --git a/sapl/static/styles/_header.scss b/sapl/static/styles/_header.scss index e5fa310a3..b04c99494 100644 --- a/sapl/static/styles/_header.scss +++ b/sapl/static/styles/_header.scss @@ -2,9 +2,4 @@ $logo-height: 0.8 * $navbar-height; $logo-margin: ($navbar-height - $logo-height) / 2; -.logo img { - width: $logo-height; - height: $logo-height; - margin: $logo-margin $navbar-padding-horizontal; -} - +$footer-height : 140px; diff --git a/sapl/static/styles/_home_index.scss b/sapl/static/styles/_home_index.scss new file mode 100644 index 000000000..d85ce05a3 --- /dev/null +++ b/sapl/static/styles/_home_index.scss @@ -0,0 +1,188 @@ + +.container-home { + position: relative; + padding: 2em 1.5em 1.5em 1.5em; + max-width: 1000px; + margin: 0 auto; + a:hover { + color: #444; + -webkit-transition: 0.3s ease-in; + -moz-transition: 0.3s ease-in; + -o-transition: 0.3s ease-in + } + + #homeIndex { + text-align: center; + } + + .homeBanner span { + color: white; + font-size: 32px; + font-weight: 600; + display: inline-block; + vertical-align: middle; + padding: 2px 45px 4px; + border: 2px solid; + } + + .homeBanner::after { + display: inline-block; + vertical-align: middle; + height: 100%; + } + + .homeBlock { + display: inline-block; + position: relative; + background-color: #F3F3F3; + width: 190px; + height: 260px; + margin: 3px; + text-align: center; + font-size: 0; + overflow: hidden; + } + + .homeBlock > a { + display: block; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + } + + .homeBlock::after { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + overflow: visible; + clear: none; + visibility: initial; + } + + .homeContent { + position: relative; + padding: 10px; + text-align: justify; + font-size: 14px; + color: #FFF; + opacity: 0; + transition: opacity 0.5s ease; + display: inline-block; + vertical-align: middle; + } + + .homeContent p { + display: block; + line-height: 13px; + font-size: 80%; + color: white; + } + + .homeIcon { + position: relative; + display: inline-block; + width: 105px; + height: 105px; + border-radius: 50%; + background: #364347; + z-index: 1; + } + + .homeIcon::before { + content: ''; + position: absolute; + width: 100%; + height: 100%; + border-radius: 50%; + background: #364347; + top: 0; + left: 0; + transform: scale(0.95); + transition: transform 0.6s ease; + } + + .homeIcon img { + position: absolute; + margin: auto; + top: 0; + bottom: 0; + right: 0; + left: 0; + transition: opacity 0.4s 0.4s ease; + } + + .homeFront { + position: absolute; + top: 46%; + width: 100%; + font-size: 0; + transform: translateY(-60%); + + } + + .homeFront h2 { + position: absolute; + margin-top: 18px; + font-size: 22px; + font-weight: 700; + color: #595959 !important; + width: 100%; + padding: 0 6%; + z-index: 0; + } + + .homeTitle { + display: block; + height: 32px; + text-align: center; + width: 100%; + opacity: 0; + transition: opacity 0.4s ease; + } + + .homeTitle::before { + content: ''; + display: inline-block; + vertical-align: middle; + height: 100%; + } + + .homeTitle h2 { + display: inline-block; + vertical-align: middle; + max-width: 110px; + font-size: 14px; + color: white !important; + line-height: 1em; + } + + .homeTitle img { + display: inline-block; + vertical-align: middle; + height: 30px; + margin-right: 5px; + } + + .homeBlock:hover .homeIcon::before { + transform: scale(3.6) translateY(7px); + } + + .homeBlock:hover .homeContent{ + opacity: 1; + transition-delay: 0.2s; + } + + .homeBlock:hover .homeIcon img { + opacity: 0; + transition-duration: 0.2s; + transition-delay: 0s; + } + + .homeBlock:hover .homeTitle { + opacity: 1; + } + +} \ No newline at end of file diff --git a/sapl/static/styles/app.scss b/sapl/static/styles/app.scss index 760830cbd..099392fde 100644 --- a/sapl/static/styles/app.scss +++ b/sapl/static/styles/app.scss @@ -1,73 +1,21 @@ - @import "bootstrap/variables.scss"; + @import "header"; -.vcenter { - display: inline-block; - vertical-align: middle; - float: none; - padding: 10px; -} +@import "home_index"; -nav { - &.navbar { - border-radius: 0; - font-size: 15px; - } - .navbar-nav { - & > li { - & > a { - padding-top: 0px; - padding-bottom: 0px; - line-height: $grid-gutter-width * 2.5; - &:hover { - background-color: $link-hover-color; - } - } - &:nth-child(2) { - & > .dropdown-menu { - right: auto; - } - } - - } - &:last-child { - & > li:last-child { - a { - padding-right: 0px; - } - } - } - } -} -.masthead { - padding: 10px; - .nav { - clear:both; - } - .navbar-brand { - color: $headings-color; - font-size: 24px; - img.img-responsive { - height: 95px; - margin-right: $navbar-padding-horizontal; - } - small { - color: #93A4AA; - font-size: 75%; - line-height: 25px; - } - } +html { + position: relative; + min-height: 100%; } - -.navbar { - margin-bottom: 0; +body { + margin-bottom: 160px; } -.navbar-brand { - padding: 0px; +h1, h2, h3, h4, h5, h6, form, dl, dt, dd, p, div, img, a { + margin: 0; + padding: 0; } -// ADJUST DRUNKEN PARROT STYLES ######################################## h1, .h1 { font-size: 30px; } @@ -87,21 +35,41 @@ h6, .h6 { font-size: 12px; } -.page-header { - margin: 20px 0px 10px; +p { + margin: 0.5em 0; + .control-label { + font-weight: bold; + } } -.btn:hover, .btn:focus { - color: inherit; +label { + margin-bottom: 0; + line-height: 1; +} + +fieldset { + fieldset { + font-size: 95%; + legend { + font-size: 18px; + } + } +} + +.page-header { + margin: 20px 0px 10px; } .caret { - /* Por padrão caret aponta para baixo*/ &.top { transform: rotate(180deg); } } +.btn:hover, .btn:focus { + color: inherit; +} + .btn-default { &.btn-excluir { color: $btn-danger-bg; @@ -113,68 +81,19 @@ h6, .h6 { } } -.controls-file { - padding: 10px; - border: 1px solid #d6e1e5; - border-radius: 4px; - - label.checkbox-inline { - margin: 0px; - display: block; - } -} - -.help-block-danger { - margin: $grid-gutter-width / 2; - padding: $grid-gutter-width / 2; - border: 2px dashed #f00; -} - -.controls-radio-checkbox { - padding: 0px; - border: 1px solid #d6e1e5; - border-radius: 4px; - min-height: 20px; - .help-block { - margin: $grid-gutter-width / 2; - padding: $grid-gutter-width / 2; - border: 2px dashed #d6e1e5; - } - - label { - padding: 5px; - .icons { - top: 5px; - left: 8px; - } - &.checkbox-inline, &.radio-inline { - padding: 8px; - padding-left: 36px; - .icons { - top: 8px; - left: 8px; - } - } +.btn-cancel-iframe { + position: relative; + text-align: right; + opacity: 0.5; + &:hover { + opacity: 1; } - .checkbox, .radio, .checkbox-inline, .radio-inline { - margin: 0; - &:hover { - background-color: #d6e1e5; - } + a { + padding: 10px; + display: inline-block; } } - -// #### CRUD DETAIL ######################################## -p.control-label { - font-weight: bold; -} - -// copied from bootstrap _forms.scss legend -// using @extend would require importing parts of bootstrap again and overriding drunken parrot css -// @import "bootstrap/mixins.scss"; -// @import "bootstrap/forms.scss"; - .legend { display: block; width: 100%; @@ -190,42 +109,27 @@ p.control-label { .grid-gutter-width-right { margin-right: $grid-gutter-width / 2; } -// #### footer ########################################### -// based on http://getbootstrap.com/examples/sticky-footer -$footer-height : 140px; -html { - position: relative; - min-height: 100%; -} -body { - margin-bottom: $footer-height + 20px; -} -.footer { - position: absolute; - bottom: 0; - width: 100%; - /* Set the fixed height of the footer here */ - height: $footer-height; - background: #364347 none repeat scroll 0% 0%; - color: white; - text-align: center; - p { - color: white; - margin-top: 10px; - } - .container { - padding-top: 25px; +.controls-file { + padding: 10px; + border: 1px solid #d6e1e5; + border-radius: 4px; + label.checkbox-inline { + margin: 0px; + display: block; } } -label { - margin-bottom: 0; - line-height: 1; +.help-block-danger { + margin: $grid-gutter-width / 2; + padding: $grid-gutter-width / 2; + border: 2px dashed #f00; } + .control-label { margin: 0; } + .form-control-static { padding-top: 0; min-height: auto; @@ -234,8 +138,6 @@ label { } } - -// #### pagination ######################################## .pagination { padding-top: 25px; } @@ -246,15 +148,6 @@ label { } } -fieldset { - fieldset { - font-size: 95%; - legend { - font-size: 18px; - } - } -} - .avatar-parlamentar { height: 128px; width: 128px; @@ -262,228 +155,120 @@ fieldset { display: table; } -/* INDEX */ -#conteudo { - position: relative; - padding: 2em 1.5em 1.5em 1.5em; - overflow: hidden; - font-size: 100%; - text-align: left; - min-height: 350px; - max-width: 1000px; - margin: 0 auto; -} -#conteudo a:hover { - color: #444; - -webkit-transition: 0.3s ease-in; - -moz-transition: 0.3s ease-in; - -o-transition: 0.3s ease-in -} - -#homeIndex { - text-align: center; -} - -.homeBanner span { - color: white; - font-size: 32px; - font-weight: 600; - display: inline-block; - vertical-align: middle; - padding: 2px 45px 4px; - border: 2px solid; -} - -.homeBanner::after { - display: inline-block; - vertical-align: middle; - height: 100%; -} - -.homeBlock { - display: inline-block; - position: relative; - background-color: #F3F3F3; - width: 190px; - height: 260px; - margin: 3px; - text-align: center; - font-size: 0; - overflow: hidden; -} - -.homeBlock > a { - display: block; - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0; -} - -.homeBlock::after { - content: ''; - display: inline-block; - vertical-align: middle; - height: 100%; - overflow: visible; - clear: none; - visibility: initial; -} - -.homeContent { - position: relative; - padding: 10px; - text-align: justify; - font-size: 14px; - color: #FFF; - opacity: 0; - transition: opacity 0.5s ease; - display: inline-block; - vertical-align: middle; -} - -.homeContent p { - display: block; - line-height: 13px; - font-size: 80%; - color: white; -} - -.homeIcon { - position: relative; - display: inline-block; - width: 105px; - height: 105px; - border-radius: 50%; - background: #364347; - z-index: 1; -} - -.homeIcon::before { - content: ''; - position: absolute; - width: 100%; - height: 100%; - border-radius: 50%; - background: #364347; - top: 0; - left: 0; - transform: scale(0.95); - transition: transform 0.6s ease; -} - -.homeIcon img { - position: absolute; - margin: auto; - top: 0; - bottom: 0; - right: 0; - left: 0; - transition: opacity 0.4s 0.4s ease; -} - -.homeFront { - position: absolute; - top: 46%; - width: 100%; - font-size: 0; - transform: translateY(-60%); - -} - -.homeFront h2 { - position: absolute; - margin-top: 18px; - font-size: 22px; - font-weight: 700; - color: #595959 !important; - width: 100%; - padding: 0 6%; - z-index: 0; -} - -.homeTitle { - display: block; - height: 32px; - text-align: center; - width: 100%; - opacity: 0; - transition: opacity 0.4s ease; -} - -.homeTitle::before { - content: ''; - display: inline-block; - vertical-align: middle; - height: 100%; -} -.homeTitle h2 { - display: inline-block; - vertical-align: middle; - max-width: 110px; - font-size: 14px; - color: white !important; - line-height: 1em; -} - -.homeTitle img { - display: inline-block; - vertical-align: middle; - height: 30px; - margin-right: 5px; -} - -.homeBlock:hover .homeIcon::before { - transform: scale(3.6) translateY(7px); -} - -.homeBlock:hover .homeContent{ - opacity: 1; - transition-delay: 0.2s; -} - -.homeBlock:hover .homeIcon img { - opacity: 0; - transition-duration: 0.2s; - transition-delay: 0s; +.masthead { + padding: 10px; + .nav { + clear:both; + } + .navbar-brand { + padding: 0px; + color: $headings-color; + font-size: 24px; + img.img-responsive { + height: 95px; + margin-right: $navbar-padding-horizontal; + } + small { + color: #93A4AA; + font-size: 75%; + line-height: 25px; + } + .vcenter { + display: inline-block; + vertical-align: middle; + float: none; + padding: 10px; + } + } } -.homeBlock:hover .homeTitle { - opacity: 1; -} +nav { + &.navbar { + margin-bottom: 0; + border-radius: 0; + font-size: 15px; + } + .navbar-nav { + & > li { + & > a { + padding-top: 0px; + padding-bottom: 0px; + line-height: $grid-gutter-width * 2.5; + &:hover { + background-color: $link-hover-color; + } + } + &:nth-child(2) { + & > .dropdown-menu { + right: auto; + } + } -h1, h2, h3, h4, h5, h6, form, dl, dt, dd, p, div, img, a { - margin: 0; - padding: 0; + } + &:last-child { + & > li:last-child { + a { + padding-right: 0px; + } + } + } + } } -p { - margin: 0.5em 0; -} -/* FIM INDEX */ +.controls-radio-checkbox { + padding: 0px; + border: 1px solid #d6e1e5; + border-radius: 4px; + min-height: 20px; + .help-block { + margin: $grid-gutter-width / 2; + padding: $grid-gutter-width / 2; + border: 2px dashed #d6e1e5; + } -/* TEMPLATE AJUDA */ -.manual li { - display: list-item; - line-height: 1.5em; - padding-right: 0; -} -.manual li a { - background-color: transparent; - border: none; - border-radius: none; - padding: 0; + label { + padding: 5px; + .icons { + top: 5px; + left: 8px; + } + &.checkbox-inline, &.radio-inline { + padding: 8px; + padding-left: 36px; + .icons { + top: 8px; + left: 8px; + } + } + } + .checkbox, .radio, .checkbox-inline, .radio-inline { + margin: 0; + &:hover { + background-color: #d6e1e5; + } + } } -.manual, .manual ul { +.manual { + &, & ul { padding-left: 1.5em; list-style-type: none; margin-top: 0; font-size: 100%; + } + li { + display: list-item; + line-height: 1.5em; + padding-right: 0; + a { + background-color: transparent; + border: none; + border-radius: none; + padding: 0; + } + } } -/* FIM TEMPLATE AJUDA */ .container-tabaux { .sidebar-tabaux { @@ -558,29 +343,46 @@ p { } } -.btn-cancel-iframe { - position: relative; - text-align: right; - opacity: 0.5; - &:hover { - opacity: 1; +#styleparlamentar { + border: 0px solid #d6e1e5; + border-top-color: rgb(214, 225, 229); + border-right-color: rgb(214, 225, 229); + border-bottom-color: rgb(214, 225, 229); + border-left-color: rgb(214, 225, 229); + border-image-source: initial; + border-image-slice: initial; + border-image-repeat: initial; + font-size: 16px; + line-height: 1.467; + padding: 7px 12px; + height: 40px; + -webkit-appearance: none; + border-radius: 4px; + -webkit-box-shadow: none; + box-shadow: none; + margin-left: 1.0em; +} + +.footer { + background: #364347; + color: white; + text-align: center; + position: absolute; + width: 100%; + bottom: 0px; + p { + color: white; + margin-top: 10px; } - a { - padding: 10px; - display: inline-block; + .container { + padding-top: 25px; } } - @media (max-width: 1199px) { - .masthead { - .navbar-brand { - font-size: 22px; - img.img-responsive { - height: 60px; - width: 60px; - margin-right: $navbar-padding-horizontal / 2; - } + nav { + .container { + width: auto !important; } } .navbar-nav > li > a { @@ -589,14 +391,76 @@ p { } } + @media (max-width: 1091px) { + .container { + width: auto; + } .navbar-nav > li > a { padding-left: $grid-gutter-width / 4; padding-right: $grid-gutter-width / 4; } + .masthead { + .navbar-brand { + font-size: 22px; + img.img-responsive { + height: 60px; + margin-right: $navbar-padding-horizontal / 2; + } + } + } } +@media (max-width: 991px) { + body { + margin: 0; + } + .footer { + position: relative; + } + .caret { + margin-left: 1px; + } + .navbar-nav > li > a { + padding-left: 4px; + padding-right: 4px; + } +} +@media (max-width: 767px) { + nav { + .navbar-nav > li > a { + line-height: 2.5; + } + .navbar-right { + position: absolute; + top: 0; + margin: 10px; + & > li { + vertical-align: top; + display: inline-block; + a { + padding-left: 10px; + padding-right: 10px; + } + } + .pesquisa.open { + ul { + position: absolute; + } + } + .navbar-form { + margin: 8px 0; + } + } + } + .table{ + width: auto; + white-space: normal; + display:block; + overflow-x: auto; + } +} @media (min-width: 1092px) and (max-width: 1199px) { .container { @@ -609,25 +473,3 @@ p { content: none !important; } } - -/* Estilização da Listagem de Votos em sessões plenárias */ - -#styleparlamentar { - border: 0px solid #d6e1e5; - border-top-color: rgb(214, 225, 229); - border-right-color: rgb(214, 225, 229); - border-bottom-color: rgb(214, 225, 229); - border-left-color: rgb(214, 225, 229); - border-image-source: initial; - border-image-slice: initial; - border-image-repeat: initial; - font-size: 16px; - line-height: 1.467; - padding: 7px 12px; - height: 40px; - -webkit-appearance: none; - border-radius: 4px; - -webkit-box-shadow: none; - box-shadow: none; - margin-left: 1.0em; -} diff --git a/sapl/templates/base.html b/sapl/templates/base.html index 8c4e24b6c..1953032a3 100644 --- a/sapl/templates/base.html +++ b/sapl/templates/base.html @@ -184,6 +184,7 @@ Desenvolvido pelo Interlegis em software livre e aberto. + Release: 3.1.121
- Conteúdo e dados sob licença Creative Commons 4.0 Atribuir Fonte - Compartilhar Igual
+ Conteúdo e dados sob licença Creative Commons 4.0
Atribuir Fonte - Compartilhar Igual