def cronometro_to_seconds(value): if not AppConfig.attr('cronometro_' + value): return 0 m, s, x = AppConfig.attr('cronometro_' + value).isoformat().split(':') return 60 * int(m) + int(s)
def fill_dados_basicos(): # Ajusta sequencia numérica e cria base.AppConfig letra = 'A' try: tipo = TipoNumeracaoProtocolo.objects.latest('dat_inicial_protocolo') if 'POR ANO' in tipo.des_numeracao_protocolo: letra = 'A' elif 'POR LEGISLATURA' in tipo.des_numeracao_protocolo: letra = 'L' elif 'CONSECUTIVO' in tipo.des_numeracao_protocolo: letra = 'U' except Exception as e: pass appconf = AppConf(sequencia_numeracao=letra) appconf.save()
def get(self, request, *args, **kwargs): """ Para manter a app compilacao isolada das outras aplicações, este get foi implementado para tratar uma prerrogativa externa de usuário. """ if AppConfig.attr('texto_articulado_norma'): return IntegracaoTaView.get(self, request, *args, **kwargs) else: return self.get_redirect_deactivated()
def has_permission(self, request, view): if request.method == 'GET': comportamento = AppConfig.attr('documentos_administrativos') if comportamento == DOC_ADM_OSTENSIVO: return True """ Diante da lógica implementada na manutenção de documentos administrativos: - Se o comportamento é doc adm ostensivo, deve passar pelo teste de permissões sem avaliá-las - se o comportamento é doc adm restritivo, deve passar pelo teste de permissões avaliando-as """ return super().has_permission(request, view)
def get(self, request, *args, **kwargs): """ Para manter a app compilacao isolada das outras aplicações, este get foi implementado para tratar uma prerrogativa externa de usuário. """ from sapl.compilacao.models import STATUS_TA_PUBLIC,\ STATUS_TA_IMMUTABLE_PUBLIC if AppConfig.attr('texto_articulado_norma'): response = super().get(request, *args, **kwargs) perm = self.object.has_view_permission(self.request, message=False) if perm is None: messages.error( self.request, _('''<strong>O Texto Articulado desta {} está em edição ou ainda não foi cadastrado.</strong><br>{} '''.format( self.object.content_object._meta.verbose_name, ''' No entanto, sua consulta é possível da forma trivial através do Arquivo Digitalizado abaixo. ''' if self.object.content_object.texto_integral else ''))) co = self.object.content_object return redirect( reverse('{}:{}_detail'.format(co._meta.app_config.name, co._meta.model_name), kwargs={'pk': self.object.object_id}) + '?display') return response else: return self.get_redirect_deactivated()
def get_config_attr(attribute): return AppConfig.attr(attribute)
def cronometro_to_seconds(value): if not AppConfig.attr('cronometro_' + value): return 0 return AppConfig.attr('cronometro_' + value).seconds