{% extends 'dev_base.html' %}{% block content %}
Gestão de clientes · {{ clinic.setup_status or 'ATIVO' }}

{{ clinic.name }}

Configure, teste e libere a empresa. Empresas novas podem nascer com o acesso já liberado quando essa opção for marcada no cadastro.

① Dados da empresa

② Módulos e subrecursos

O bloqueio é aplicado também no backend. O cliente não consegue reativar um módulo não contratado.

{% for key,m in module_catalog.items() %}
tune
{% for fk,flabel in feature_catalog.get(key,{}).items() %}{% else %}Sem subrecursos configuráveis nesta versão.{% endfor %}
{% endfor %}

③ Plano e contratação

{% for pk,p in plan_catalog.items() %}
package_2{{ p.label }}
R$ {{ p.monthly_value }}/mês{{ p.modules|length }} módulos padrão • {{ p.limits.users }} usuários • {{ p.limits.portable_devices }} portátil(eis)
{% endfor %}

④ Limites da conta

{% set usage={'users':users|length,'professionals':tenant.professionals|length,'patients':tenant.patients|length,'storage_gb':0,'units':1,'portable_devices':clinic.portable.devices.values()|selectattr('active')|list|length} %}{% for key,label in [('users','Usuários'),('professionals','Profissionais'),('patients','Pacientes'),('storage_gb','Armazenamento GB'),('units','Unidades'),('portable_devices','Portáteis')] %}{% endfor %}

⑤ Aparência e padrão oficial

Todas as empresas usam o mesmo layout oficial do ClinicOS. Cada empresa mantém apenas sua identidade visual autorizada.

Padrão oficial V11.36.18.8. Tipografia, dimensões, cards, formulários, tabelas, menu e responsividade são controlados pela plataforma. A empresa pode usar nome, logomarca e cores de identidade sem alterar a estrutura.

⑥ Infraestrutura e sincronização

Servidor local {{ clinic.infrastructure.local_server_name or 'não definido' }}Último sync {{ clinic.infrastructure.last_sync_at or 'ainda não executado' }}Pendentes {{ clinic.infrastructure.pending }}Conflitos {{ clinic.infrastructure.conflicts }}
Configurar banco / híbrido / Firebase

⑦ ClinicOS Portable


Dispositivos autorizados

{% for d in clinic.portable.devices.values() %}
usb{{ d.name }}
{{ d.owner or 'Sem responsável' }}{{ 'ATIVO' if d.active else 'REVOGADO' }}Último sync: {{ d.last_sync_at or 'nunca' }}{% if d.active %}
{% endif %}
{% else %}
Nenhum dispositivo portátil cadastrado.
{% endfor %}

⑧ Usuários e permissões

A empresa já possui o administrador inicial criado no provisionamento. Após confirmar a implantação, ele pode gerenciar os usuários da própria empresa, perfis e permissões. Senhas nunca são exibidas; use redefinição segura quando necessário.

{% if clinic.setup_status!='ATIVO' %}
Implantação ainda não confirmada. Mesmo com e-mail e senha corretos, o login comum fica bloqueado até você liberar a empresa.
{% else %}
Acesso local liberado. O administrador pode entrar usando o identificador {{ clinic.slug }}.Abrir login da empresa
{% endif %}
{% for u in users %}
{{ u.name }}Login: {{ u.email }}
{{ u.role }}{{ 'ATIVO' if u.active else 'INATIVO' }}
Firebase: {{ u.firebase_status or 'PENDENTE' }}{% if u.firebase_uid %} · {{ u.firebase_uid[:10] }}…{% endif %}
{% endfor %}

Adicionar administrador

{% if clinic.setup_status!='ATIVO' %}
{% else %}
Implantação confirmada. O administrador já pode entrar pelo login da clínica.
{% endif %}

⑨ Segurança e auditoria

Desativar bloqueia o acesso e preserva os dados. Excluir definitivamente remove o tenant e tudo que pertence exclusivamente a ele.

Testar acesso
Zona de exclusão definitiva
Serão apagados: {{ delete_summary.tenant_records }} registro(s) internos, {{ delete_summary.users }} usuário(s), {{ delete_summary.patient_accounts }} acesso(s) de paciente, {{ delete_summary.patient_invites }} convite(s), {{ delete_summary.report_templates }} modelo(s) de relatório, arquivos de identidade da empresa e, quando sincronizado, o tenant no Firebase. Contas Firebase usadas também por outra empresa serão preservadas.
{% endblock %}