{{ $turma->curso->nome }} // {{ $turma->turma_nome }}

{{ $turma->turma_descricao ?? 'Sem descrição' }}

Código: {{ $turma->turma_codigo ?? '—' }}

@if (isAdminPep()) Editar @endif Voltar

Informações da Turma

Dados gerais e configuração

Curso
{{ $curso->nome ?? '—' }}
Filial
{{ $turma->filial->filial_nome ?? '—' }}
Situação
@if ($turma->situacao) {{ $turma->situacao->nome }} @else @endif
Data Início
{{ $turma->data_inicio ? \Carbon\Carbon::parse($turma->data_inicio)->format('d/m/Y') : '—' }}
Data Término
{{ $turma->data_termino ? \Carbon\Carbon::parse($turma->data_termino)->format('d/m/Y') : '—' }}
Turno
{{ $turma->turno->nome ?? '—' }}
Frequência
{{ $turma->descricao_dia ?? '—' }}
Horário
{{ $turma->descricao_horario ?? '—' }}
Gerar Contrato
{{ $turma->contrato_gerar ? 'SIM' : 'NÃO' }}
Vagas
{{ $turma->vagas_quantidade ?? '—' }}
Matrículas
{{ $turma->matriculas->count() }}
Gera Cobrança
{{ $turma->gerar_cobranca ? 'SIM' : 'NÃO' }}
@if ($turma->gerar_cobranca)
{{ $turma->tipo_pagamento === 'unico' ? 'Valor Parcela' : 'Valor Mensal' }}
R$ {{ $turma->valor_parcela ? number_format($turma->valor_parcela / 100, 2, ',', '.') : '0,00' }}
{{ $turma->tipo_pagamento === 'unico' ? 'Qtd Parcelas' : 'Qtd Meses' }}
{{ $turma->valor_parcelas_qtd ?? '—' }}
Valor Total
R$ {{ $turma->valor_total ? number_format($turma->valor_total / 100, 2, ',', '.') : '0,00' }}
Tipo de Pagamento
{{ $turma->tipo_pagamento === 'unico' ? 'ÚNICO' : 'MENSAL' }}
@endif
Cadastrado em
{{ $turma->created_at ? $turma->created_at->format('d/m/Y H:i') : '—' }}
Atualizado em
{{ $turma->updated_at ? $turma->updated_at->format('d/m/Y H:i') : '—' }}
{{-- Imagem de capa --}} @php $turmaImg = $turma->image_url; @endphp @if ($turmaImg)
Imagem de Capa
Imagem da turma @if (!$turma->image_path && $turma->curso?->image_url)
Herdada do curso
@endif
@endif

Integração Moodle (AVA)

@if ($hasMoodle) ● Integrado via Curso — Course ID: {{ $moodleCourseId }} @else ● Não integrado — Configure a integração no @if ($curso) @else curso @endif @endif

@if ($hasMoodle && $curso) @endif
@if ($hasMoodle && $curso)
@if ($curso->moodle_fullname)
Nome completo (Moodle)
{{ $curso->moodle_fullname }}
@endif @if ($curso->moodle_shortname)
Nome curto (Moodle)
{{ $curso->moodle_shortname }}
@endif {{-- Grupo AVA da Turma --}}
Grupo AVA desta Turma
@if ($turma->ref_ava_turma_id_group) {{ $turma->ref_ava_turma_id_group }} @else Não configurado @endif
{{-- Aprovisionamento Moodle --}}
Aprovisionamento Automático
@if ($turma->moodle_aprovisiona) ATIVO @if ($turma->moodle_aprovisiona_data) A partir de {{ $turma->moodle_aprovisiona_data->format('d/m/Y') }} - {{ $turma->moodle_aprovisiona_data->ago() }} @endif @else INATIVO @endif
@else {{-- Exibe Grupo AVA e Aprovisionamento mesmo sem integração --}}
{{-- Grupo AVA --}}
Grupo AVA desta Turma
@if ($turma->ref_ava_turma_id_group) {{ $turma->ref_ava_turma_id_group }} @else Não configurado @endif

Configure este número ao editar a turma

{{-- Aprovisionamento --}}
Aprovisionamento Automático
@if ($turma->moodle_aprovisiona) ATIVO @if ($turma->moodle_aprovisiona_data) A partir de {{ $turma->moodle_aprovisiona_data->format('d/m/Y') }} - {{ $turma->moodle_aprovisiona_data->ago() }} @endif @else INATIVO @endif

Ative ao editar a turma

@endif

Estrutura da Turma

{{ count($periodos) }} seção/período{{ count($periodos) === 1 ? '' : 's' }} · {{ $totalDisciplinas }} disciplina{{ $totalDisciplinas === 1 ? '' : 's' }}

@if (isAdminPep()) @if ($curso) @endif @endif
{{-- Formulário de disciplina --}} @if ($showDisciplinaForm)

{{ $editingDisciplinaId ? 'Editar disciplina' : 'Nova disciplina' }}

@error('disc_nome') {{ $message }} @enderror
@error('disc_descricao') {{ $message }} @enderror
@error('disc_periodo_id') {{ $message }} @enderror
@endif {{-- Formulário de Seção/Período --}} @if ($showPeriodoForm)

{{ $editingPeriodoId ? 'Editar Seção/Período' : 'Nova Seção/Período' }}

@error('per_nome') {{ $message }} @enderror
@endif {{-- Formulário de Aula --}} @if ($showAulaForm)

{{ $editingAulaId ? 'Editar Aula' : 'Nova Aula' }}

@error('aula_nome') {{ $message }} @enderror
@endif {{-- ============================== --}} {{-- HIERARQUIA: PERÍODO > DISC > AULAS --}} {{-- ============================== --}}
{{-- Períodos / Seções --}} @forelse ($periodos as $periodo) @php $isSecao = ($periodo->tipo ?? 'periodo') === 'secao'; $borderColor = $isSecao ? 'border-indigo-200 dark:border-indigo-700/50' : 'border-amber-200 dark:border-amber-700/50'; $headerBg = $isSecao ? 'bg-indigo-50 dark:bg-indigo-900/20' : 'bg-amber-50 dark:bg-amber-900/20'; $badgeBg = $isSecao ? 'bg-indigo-100 dark:bg-indigo-900/40 text-indigo-700 dark:text-indigo-400' : 'bg-amber-100 dark:bg-amber-900/40 text-amber-700 dark:text-amber-400'; $textColor = $isSecao ? 'text-indigo-800 dark:text-indigo-300' : 'text-amber-800 dark:text-amber-300'; $subText = $isSecao ? 'text-indigo-600 dark:text-indigo-400/70' : 'text-amber-600 dark:text-amber-400/70'; $chevronColor = $isSecao ? 'text-indigo-500' : 'text-amber-500'; $tipoLabel = $isSecao ? 'Seção' : 'Período'; @endphp
{{-- Header do Período/Seção --}}
{{ $periodo->ordem ?? '#' }}

{{ $tipoLabel }}: {{ $periodo->periodo_nome }}

@if ($periodo->periodo_descricao) {{ $periodo->periodo_descricao }} @endif @if ($periodo->periodo_data_inicio || $periodo->periodo_data_termino) 📅 {{ $periodo->periodo_data_inicio ? \Carbon\Carbon::parse($periodo->periodo_data_inicio)->format('d/m/Y') : '—' }} → {{ $periodo->periodo_data_termino ? \Carbon\Carbon::parse($periodo->periodo_data_termino)->format('d/m/Y') : '—' }} @endif @if ($periodo->moodle_section_id) Moodle #{{ $periodo->moodle_section_id }} @endif
@if (!$periodo->exibir) Oculto @endif {{ $periodo->disciplinas->count() }} disciplina{{ $periodo->disciplinas->count() === 1 ? '' : 's' }} @if (isAdminPep())
@endif
{{-- Disciplinas do Período --}}
@forelse ($periodo->disciplinas as $disciplina)
{{-- Header da Disciplina --}}
@if ($disciplina->ordem) {{ $disciplina->ordem }} @endif
{{ $disciplina->nome }}
@if ($disciplina->descricao) {{ $disciplina->descricao }} @endif @if ($disciplina->aula_data_inicio || $disciplina->aula_data_termino) 📅 {{ $disciplina->aula_data_inicio ? $disciplina->aula_data_inicio->format('d/m/Y') : '—' }} → {{ $disciplina->aula_data_termino ? $disciplina->aula_data_termino->format('d/m/Y') : '—' }} @endif @if ($disciplina->moodle_section_id) M#{{ $disciplina->moodle_section_id }} @endif
@if ($disciplina->online) Online @endif @if ($disciplina->presencial) Presencial @endif
{{ $disciplina->aulas->count() }} aula{{ $disciplina->aulas->count() === 1 ? '' : 's' }}
@if (isAdminPep())
@endif
{{-- Aulas da Disciplina --}}
@forelse ($disciplina->aulas as $aula)
{{ $aula->ordem ?? '#' }}
{{ $aula->nome }}
@if ($aula->tipo) {{ $aula->tipo }} @endif @if ($aula->datahora_inicio || $aula->datahora_termino) 🕐 {{ $aula->datahora_inicio ? $aula->datahora_inicio->format('d/m/Y H:i') : '—' }} → {{ $aula->datahora_termino ? $aula->datahora_termino->format('d/m/Y H:i') : '—' }} @endif @if ($aula->moodle_module_id) M#{{ $aula->moodle_module_id }} @endif
@if (!$aula->exibir) Oculto @endif @if (isAdminPep())
@endif
@empty

Nenhuma aula cadastrada

@endforelse @if (isAdminPep())
@endif
@empty
Nenhuma disciplina neste período
@endforelse
@empty {{-- Sem períodos/seções cadastrados --}} @endforelse {{-- Estado vazio --}} @if (count($periodos) === 0)

Nenhuma disciplina ou seção cadastrada

@if ($curso) Importe a estrutura do curso ou adicione manualmente. @else Adicione seções/períodos e disciplinas a esta turma. @endif

@endif
{{-- ════════════════════════════════════════════════════════════════ --}} {{-- MODAL: Importar Estrutura do Curso --}} {{-- ════════════════════════════════════════════════════════════════ --}} @if ($showImportarCursoModal)
{{-- Header do Modal --}}

Importar Estrutura do Curso

Curso: {{ $curso->nome ?? '—' }} · {{ count($cursoEstrutura) }} período(s)

{{-- Corpo do Modal --}}
@foreach ($cursoEstrutura as $cursoPer) @php $perNome = $cursoPer['nome'] ?? 'Sem nome'; $perTipo = $cursoPer['tipo'] ?? 'periodo'; $perIsSecao = $perTipo === 'secao'; $jaImportado = \App\Models\Curso\TurmaPeriodo::where('turma_id', $turma_id) ->where('curso_periodo_id', $cursoPer['id'])->exists(); @endphp
@if ($jaImportado) @else {{ $cursoPer['ordem'] ?? '#' }} @endif
📁 {{ $perIsSecao ? 'Seção' : 'Período' }}: {{ mb_strtoupper($perNome) }} @if ($jaImportado) ✓ Já importado @endif @if (!empty($cursoPer['moodle_section_id'])) Moodle #{{ $cursoPer['moodle_section_id'] }} @endif
{{ count($cursoPer['disciplinas'] ?? []) }} disc. @if (!$jaImportado) @endif
{{-- Disciplinas --}} @if (!empty($cursoPer['disciplinas']))
@foreach ($cursoPer['disciplinas'] as $cursoDisc)
@if ($jaImportado) @else @endif 📄 {{ $cursoDisc['nome'] ?? '' }} @if (!empty($cursoDisc['moodle_section_id'])) M#{{ $cursoDisc['moodle_section_id'] }} @endif
{{ count($cursoDisc['conteudos'] ?? []) }} aulas
@if (!empty($cursoDisc['conteudos']))
@foreach ($cursoDisc['conteudos'] as $cursoAula)
@if (!empty($cursoAula['moodle_module_icon'])) @else @endif {{ $cursoAula['nome'] ?? '' }} @if (!empty($cursoAula['tipo'])) {{ $cursoAula['tipo'] }} @endif
@endforeach
@endif
@endforeach
@endif
@endforeach
{{-- Footer do Modal --}}
Já importado Disponível
@endif {{-- ================================ --}} {{-- MODAL: INFORMAÇÕES DO CURSO --}} {{-- ================================ --}} @if ($showCursoModal && $curso) @endif