{% extends "documents/base.html" %} {% comment %}Resmî sınav takvimi (ADR-0044, FAZ T3) — TEK A4 DÜZENİ (01.10.2026, kullanıcı isteği: "çıktı çok yer kaplıyor; mümkünse dikey ya da yatay tek A4'e sığsın"). Eski düzen tipik bir okulda üç yatay sayfaydı: her (gün, ders saati) satırı iki satırlık tarih hücresi taşıyordu, açıklamalar 10 pt tek sütundu ve zümre imzaları üçlü sıralarda 30 pt boşlukla neredeyse bir sayfa tutuyordu. YAPI: Tarih | Gün | Ders saati | düzey sütunları. Tarih ve gün, günün ders saatlerini BİRLEŞTİREN hücrelerdedir (rowspan); her gün kendi 'sidir ve sayfa sınırında BÖLÜNMEZ — takvim ikinci sayfaya akarsa gün grubu bütün geçer ve hiçbir sınav tarihsiz satırda kalmaz (30.08.2026 ölçümü: bölünen satır sınavı tarihsiz basıyordu). Açıklamalar iki sütunlu ince puntodur, dipnot onların sonundadır. İmza ŞERİDİ: zümre başkanları + düzenleyen müdür yardımcısı eşit hücrelerde, UYGUNDUR (okul müdürü) sağdaki sütunda. ÖLÇÜLER ŞABLONDA DEĞİL: `fit` bağlamı (`services_calendar.CalendarPdfFit`) sayfa yönünü, puntoyu ve boşlukları verir; servis varyantları sırayla dener ve tek sayfaya sığan ilkini basar. Değerler metindir (TR yerelinde sayı virgülle basılır, CSS bozulur). Hesaplanan kurallar ``dedir (gövdedeki stil yok sayılır). KORUNANLAR: documents/base.html anteti; text-transform YOK (WeasyPrint TR "i" tuzağı — başlıklar doğrudan büyük harf); onaysız takvimde "TASLAK" filigranı; okul dışı makam (Bakanlık/İl MEM/İlçe MEM) sınavı nötr dolgu + sol kalın kenar + makam etiketi — RENKLİ DOLGU YOK; imza bloğu `chairs` / `school_chair_name` sözleşmesini tüketir (servis şeride `sign_rows` olarak dizer; şerit ortak bileşendir — print/_imza_seridi.html, mazeret sınav takvimiyle aynı). `table-layout: fixed` + genişlik verildiği için kutu modeli YALNIZ bu tabloda border-box'tır (CLAUDE.md §2 content-box tuzağı).{% endcomment %} {% block extra_style %} {% endblock %} {% block content %} {% if is_draft %}
TASLAK
{% endif %}
{{ calendar.semester.school_year.name }} EĞİTİM VE ÖĞRETİM YILI {{ calendar_title }}
{{ calendar.start_date|date:"d.m.Y" }} – {{ calendar.end_date|date:"d.m.Y" }}
{% for level in levels %} {% endfor %} {% for day in day_rows %} {% for pc in day.period_cells %} {% if forloop.first %} {% endif %} {% comment %}`period.name` zaten "1. Ders" biçimindedir (zil çizelgesi sözleşmesi); ayrıca ". Ders" eklenince "1. Ders. Ders" basılıyordu.{% endcomment %} {% for cell_list in pc.level_cells %} {% endfor %} {% endfor %} {% empty %} {% endfor %}
Tarih Gün Ders saati{{ level.display_label }}{% if fit.orientation == "landscape" %} · {{ level.student_count }} öğrenci{% else %} {{ level.student_count }} öğrenci{% endif %}
{{ day.date }} {{ day.weekday }}{{ pc.period.name }}{% if pc.time_label %} · {{ pc.time_label }}{% endif %} {% for cell in cell_list %}
{{ cell.course_name }}{% if cell.exam_kind == "PRACTICE" %} (uygulamalı){% endif %}{% if not cell.is_butterfly %} (kendi dersliğinde){% endif %} {% if cell.authority == "MINISTRY" %}BAKANLIK SINAVI {% elif cell.authority == "PROVINCIAL" %}İL MEM SINAVI {% elif cell.authority == "DISTRICT" %}İLÇE MEM SINAVI{% endif %}
{% endfor %}
Henüz sınav yerleştirilmedi.
{% if has_external %}
Gölgeli ve sol kenarı kalın çizgili sınavlar Bakanlık ya da İl/İlçe Millî Eğitim Müdürlüğünce yapılır; tarih ve saatleri ilgili makamın kılavuzuna göredir.
{% endif %} {% if description_items or footnote_lines %}
AÇIKLAMALAR
{% for item in description_items %} {% if item.no %}

{{ item.no }}{{ item.text }}

{% else %}

{{ item.text }}

{% endif %} {% endfor %} {% for line in footnote_lines %}

{% if forloop.first %}DİPNOT: {% endif %}{{ line }}

{% endfor %}
{% endif %} {% include "print/_imza_seridi.html" with sign_rows=sign_rows principal_name=principal_name approved_on=approved_on approve_width=approve_width only %} {% endblock %}