Bugfixes
fix: select mode onclick exports, multi-source progress counter, OCR page-by-page
This commit is contained in:
1 parent
d8083eb0c0
commit
7c1afca80b
20 files changed
+425
-11
No files matched your search
@@ -0,0 +1,19 @@
|
||||
Personoplysninger — Elevakt
|
||||
===========================
|
||||
|
||||
Elevens navn: Lars Bjerregaard Nielsen
|
||||
Klasse: 8B
|
||||
Skole: Gudenaaskolen
|
||||
|
||||
CPR-nummer: 010172-1019
|
||||
Fødselsdato: 1. januar 1972
|
||||
Adresse: Skolevej 14, 8680 Ry
|
||||
Telefon: +45 86 89 12 34
|
||||
E-mail: lars.nielsen@privat.dk
|
||||
|
||||
Notater:
|
||||
Eleven har haft fravær i uge 12 og 14. Forældrene er kontaktet.
|
||||
Der er afholdt møde den 3. marts 2024 med klasselærer og skoleleder.
|
||||
|
||||
Underskrift: _______________________
|
||||
Dato: ___________________
|
||||
@@ -0,0 +1,15 @@
|
||||
Besøgslog — Sundhedscenter Skanderborg
|
||||
=======================================
|
||||
|
||||
Dato: 28. april 2024
|
||||
Sagsbehandler: M. Andersen
|
||||
|
||||
Borger: Hanne Kirstine Pedersen
|
||||
Registreringsnummer: 280490-0120
|
||||
Henvendelse vedrørende: Sygedagpenge, paragraf 7 opfølgning
|
||||
|
||||
Samtalen fandt sted kl. 10:15 og varede 45 minutter.
|
||||
Borger mødte op til tiden og var forberedt.
|
||||
|
||||
Aftale om næste møde: 26. maj 2024 kl. 10:00
|
||||
Sted: Mødelokale 3, Adelgade 44, 8660 Skanderborg
|
||||
@@ -0,0 +1,24 @@
|
||||
Tilmelding til SFO — Gudenaaskolen
|
||||
===================================
|
||||
|
||||
Barnets navn: Emma Sofie Christensen
|
||||
Personnummer: 150315-4321
|
||||
Klasse: 1A (skolestart august 2022)
|
||||
|
||||
Forældrenes oplysninger
|
||||
-----------------------
|
||||
Forældrenes navn: Søren og Pia Christensen
|
||||
Adresse: Birkevej 7, 8680 Ry
|
||||
Telefon: +45 23 45 67 89
|
||||
E-mail: soeren.christensen@familie.dk
|
||||
|
||||
Fremmødetider valgt:
|
||||
Morgen-SFO: 07:00–08:00
|
||||
Eftermiddag: 13:00–17:00
|
||||
|
||||
Særlige oplysninger til pædagoger:
|
||||
Emma har en lettere nøddeallergi (jordnødder og cashewnødder).
|
||||
Kontaktperson ved allergi: Pia Christensen, tlf. 23 45 67 89
|
||||
|
||||
Dato for tilmelding: 15. marts 2022
|
||||
Underskrift: _______________________
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
Personalemappe — Fortroligt
|
||||
============================
|
||||
Afdeling: Administrationen, Skanderborg Kommune
|
||||
|
||||
Medarbejder 1
|
||||
-------------
|
||||
Navn: Christian Bøgh Hansen
|
||||
CPR: 150365-1102
|
||||
Stilling: Skoleleder
|
||||
Ansættelsesdato: 1. august 2005
|
||||
Løngruppe: L4
|
||||
|
||||
Medarbejder 2
|
||||
-------------
|
||||
Navn: Lise Ravn Johansen
|
||||
CPR: 020898-0203
|
||||
Stilling: Pædagog, fuldtid
|
||||
Ansættelsesdato: 15. september 2021
|
||||
Løngruppe: L2
|
||||
|
||||
Medarbejder 3
|
||||
-------------
|
||||
Navn: Anders Munk Mortensen
|
||||
CPR: 010172-1019
|
||||
Stilling: Administrativ medarbejder
|
||||
Ansættelsesdato: 1. marts 2010
|
||||
Løngruppe: L3
|
||||
|
||||
Dokument oprettet: 20. april 2026
|
||||
Sidst opdateret: 20. april 2026
|
||||
Udarbejdet af: HR-afdelingen
|
||||
@@ -0,0 +1,9 @@
|
||||
Klasse,Navn,CPR-nummer,Adresse,Forælder tlf,Bemærkninger
|
||||
7A,Magnus Lund Eriksen,010172-1019,Egevej 3 8680 Ry,+45 40 12 34 56,
|
||||
7A,Nora Bjerrum Nielsen,280490-0120,Møllevej 11 8680 Ry,+45 50 23 45 67,Brillebærer
|
||||
7A,Oliver Skov Madsen,250372-0100,Kirkegade 2 8660 Skanderborg,+45 60 34 56 78,
|
||||
7A,Ida Holst Andersen,020898-0203,Skovbrynet 19 8680 Ry,+45 70 45 67 89,Kontaktperson: Far
|
||||
7B,Rasmus Dal Kristensen,150365-1102,Rosenvej 5 8680 Ry,+45 21 56 78 90,
|
||||
7B,Sofie Holm Thomsen,111111-1010,Birkevej 22 8660 Skanderborg,+45 31 67 89 01,Allergi: nødder
|
||||
7B,Emil Sand Jensen,010107-4102,Hybenvej 7 8680 Ry,+45 41 78 90 12,
|
||||
7B,Laura Bak Møller,410172-1200,Pilevej 4 8660 Skanderborg,+45 51 89 01 23,Beskyttet adresse
|
||||
|
@@ -0,0 +1,6 @@
|
||||
Medarbejder-ID,Navn,Personnummer,Afdeling,Stilling,E-mail,Telefon,Ansættelses-dato
|
||||
EMP-001,Christian Bøgh Hansen,150365-1102,Ledelse,Skoleleder,c.hansen@gudenaaskolen.dk,+45 86 89 10 01,2005-08-01
|
||||
EMP-002,Mette Dahl Andersen,280490-0120,Administration,Sekretær,m.andersen@gudenaaskolen.dk,+45 86 89 10 02,2012-01-15
|
||||
EMP-003,Søren Lykke Jakobsen,010172-1019,Pædagogik,Lærer,s.jakobsen@gudenaaskolen.dk,+45 86 89 10 03,2009-08-01
|
||||
EMP-004,Hanne Frost Pedersen,250372-0100,Pædagogik,Lærer,h.pedersen@gudenaaskolen.dk,+45 86 89 10 04,2015-08-01
|
||||
EMP-005,Lise Ravn Johansen,020898-0203,SFO,Pædagog,l.johansen@gudenaaskolen.dk,+45 86 89 10 05,2021-09-15
|
||||
|
@@ -0,0 +1,16 @@
|
||||
Fortrolig personoplysning — Navne- og adressebeskyttelse
|
||||
==========================================================
|
||||
|
||||
VIGTIGT: Denne person har navne- og adressebeskyttelse i CPR-registeret.
|
||||
Oplysningerne må ikke videregives uden samtykke.
|
||||
|
||||
Navn: Laura Bak Møller
|
||||
CPR-nummer: 410172-1200
|
||||
(Dag + 40 angiver beskyttet adresse)
|
||||
|
||||
Kontaktoplysninger administreres af kommunen.
|
||||
Henvendelse via: Borgerservice, Skanderborg Kommune
|
||||
Telefon: 86 52 10 00
|
||||
|
||||
Dokumentet er klassificeret FORTROLIGT.
|
||||
Opbevares i aflåst arkiv — ikke i fællesnetværk.
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
Lægeerklæring — Helbredsattest
|
||||
================================
|
||||
Udstedt af: Skanderborg Lægepraksis, Adelgade 10, 8660 Skanderborg
|
||||
Praktiserende læge: Dr. P. Holm
|
||||
|
||||
Patient: Søren Lykke Jakobsen
|
||||
Fødselsdato / CPR: 010172-1019
|
||||
Adresse: Skolevej 22, 8680 Ry
|
||||
Telefon: +45 22 33 44 55
|
||||
E-mail: soeren.jakobsen@privat.dk
|
||||
|
||||
Diagnose (ICD-10): F41.1 — Generaliseret angst
|
||||
Behandling: Psykoterapi + medicinsk behandling (SSRI)
|
||||
Særlig kategori: Psykisk lidelse — GDPR Art. 9
|
||||
|
||||
Erklæringens formål: Sygedagpenge, §7-opfølgning
|
||||
Periode: 1. april 2026 – 30. juni 2026
|
||||
|
||||
Lægens underskrift: _______________________
|
||||
Dato: 20. april 2026
|
||||
Stempel: [Skanderborg Lægepraksis]
|
||||
BIN
Binary file not shown.
+25
@@ -0,0 +1,25 @@
|
||||
Mødereferat — Pædagogisk råd
|
||||
==============================
|
||||
Dato: 20. april 2026
|
||||
Sted: Personalerummet, Gudenaaskolen
|
||||
Ordstyrer: Skolelederen
|
||||
Referent: Administrationen
|
||||
|
||||
Dagsorden:
|
||||
1. Godkendelse af referat fra seneste møde
|
||||
2. Orientering om skoleårets planlægning 2026/2027
|
||||
3. Status på inklusion og trivselsundersøgelse
|
||||
4. Eventuelt
|
||||
|
||||
Ad 1: Referatet fra mødet den 15. marts 2026 blev godkendt uden bemærkninger.
|
||||
|
||||
Ad 2: Skolelederen orienterede om planlægningen for det kommende skoleår.
|
||||
Skemaerne for 0.-9. klasse offentliggøres i Aula senest 1. juni 2026.
|
||||
Der er planlagt en fælles pædagogisk dag den 10. august 2026.
|
||||
|
||||
Ad 3: Trivselsundersøgelsen viste generelt gode resultater.
|
||||
Inklusionsvejlederen præsenterer en handlingsplan på næste møde.
|
||||
|
||||
Ad 4: Intet til eventuelt.
|
||||
|
||||
Næste møde: Tirsdag den 19. maj 2026 kl. 14:00 i personalerummet.
|
||||
@@ -0,0 +1,31 @@
|
||||
FAKTURA
|
||||
=======
|
||||
Leverandør: Kontor & Papir A/S
|
||||
Industriparken 22, 8600 Silkeborg
|
||||
CVR: 12345678
|
||||
|
||||
Kunde: Gudenaaskolen
|
||||
Skolevej 1, 8680 Ry
|
||||
EAN: 5790001234567
|
||||
|
||||
Fakturanr: 250372-0100
|
||||
Fakturadato: 20. april 2026
|
||||
Forfaldsdato: 20. maj 2026
|
||||
|
||||
Ordrenr: 020898-0203
|
||||
Varenr: 150365-1102
|
||||
|
||||
Linjer:
|
||||
---------------------------------------------------------------------------
|
||||
Beskrivelse Antal Enhedspris Moms Total
|
||||
---------------------------------------------------------------------------
|
||||
Kopipapir A4 80g, pk/500 20 89,00 kr 20% 2.136,00 kr
|
||||
Blækpatroner HP 305, sort 5 149,00 kr 20% 894,00 kr
|
||||
Whiteboardmarker, ass. farver 3 49,95 kr 20% 179,82 kr
|
||||
---------------------------------------------------------------------------
|
||||
Subtotal ekskl. moms: 2.561,95 kr
|
||||
Moms 25%: 640,49 kr
|
||||
I alt inkl. moms: 3.202,44 kr
|
||||
|
||||
Betalingsbetingelser: Netto 30 dage
|
||||
Bank: Jyske Bank, Reg. 7600, Konto 1234567
|
||||
@@ -0,0 +1,20 @@
|
||||
Inventarliste — Klasselokale 7A
|
||||
================================
|
||||
Opdateret: 20. april 2026
|
||||
Af: Teknisk servicepersonale
|
||||
|
||||
Rum-ID: 7A-GS-2026
|
||||
Lokale: Bygning C, 1. sal
|
||||
|
||||
Inventar:
|
||||
---------
|
||||
Elevborde 32 stk (serienr. påtegnet under bordet)
|
||||
Elevstole 32 stk (standard, justerbar højde)
|
||||
Lærerbord 1 stk (inkl. skuff, lås medfølger)
|
||||
Whiteboard 2 stk (160×120 cm)
|
||||
Projektor 1 stk (Epson EB-W51, serienr. 150315-4321)
|
||||
Projektordug 1 stk (180 cm, motor-betjent)
|
||||
Gardinmotor 2 stk (fjernstyret)
|
||||
|
||||
Næste serviceeftersyn: Oktober 2026
|
||||
Ansvarlig: Teknisk afdeling, Skanderborg Kommune
|
||||
BIN
Binary file not shown.
+154
@@ -0,0 +1,154 @@
|
||||
"""
|
||||
Generate binary fixture files for the local-file GDPR scan test suite.
|
||||
|
||||
Run from repo root:
|
||||
source venv/bin/activate
|
||||
python tests/fixtures/local_files/generate_fixtures.py
|
||||
"""
|
||||
from pathlib import Path
|
||||
import sys
|
||||
|
||||
HERE = Path(__file__).parent
|
||||
|
||||
def _require(pkg):
|
||||
try:
|
||||
return __import__(pkg)
|
||||
except ImportError:
|
||||
print(f"Missing: {pkg} → pip install {pkg}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
openpyxl = _require("openpyxl")
|
||||
docx = _require("docx")
|
||||
|
||||
from openpyxl import Workbook
|
||||
from openpyxl.styles import Font, PatternFill, Alignment
|
||||
from docx import Document
|
||||
from docx.shared import Pt, RGBColor
|
||||
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
||||
|
||||
|
||||
# ── 09_cpr_in_docx.docx ───────────────────────────────────────────────────────
|
||||
def make_docx():
|
||||
doc = Document()
|
||||
|
||||
doc.add_heading("Elevjournal — Gudenaaskolen", level=1)
|
||||
|
||||
p = doc.add_paragraph()
|
||||
p.add_run("Dette dokument indeholder personoplysninger og er fortroligt.")
|
||||
p.runs[0].italic = True
|
||||
|
||||
doc.add_heading("Elevoplysninger", level=2)
|
||||
# Use labelled paragraphs so CPR values are always preceded by ": " —
|
||||
# avoids the _CPR_PREFIX_NOISE guard that fires when table-cell runs are
|
||||
# concatenated without a separator.
|
||||
fields = [
|
||||
("Navn", "Magnus Lund Eriksen"),
|
||||
("CPR-nummer", "010172-1019"),
|
||||
("Klasse", "8B"),
|
||||
("Adresse", "Egevej 3, 8680 Ry"),
|
||||
("Telefon", "+45 40 12 34 56"),
|
||||
("E-mail", "magnus.eriksen@elev.gudenaaskolen.dk"),
|
||||
]
|
||||
for label, value in fields:
|
||||
p = doc.add_paragraph()
|
||||
run_label = p.add_run(f"{label}: ")
|
||||
run_label.bold = True
|
||||
p.add_run(value + " ")
|
||||
|
||||
doc.add_heading("Forældrekontakt", level=2)
|
||||
doc.add_paragraph(
|
||||
"Forældrene er orienteret om elevens situation den 15. marts 2026. "
|
||||
"Begge forældre deltog i mødet. Næste opfølgning er planlagt til "
|
||||
"maj 2026."
|
||||
)
|
||||
|
||||
doc.add_heading("Anden elev — tabel", level=2)
|
||||
doc.add_paragraph(
|
||||
"Nedenstående tabel viser en anden elev, der deler klasse med Magnus."
|
||||
)
|
||||
for label, value in [
|
||||
("Navn", "Nora Bjerrum Nielsen"),
|
||||
("Personnummer", "280490-0120"),
|
||||
("Klasse", "8B"),
|
||||
]:
|
||||
p = doc.add_paragraph()
|
||||
p.add_run(f"{label}: ").bold = True
|
||||
p.add_run(value + " ")
|
||||
|
||||
doc.add_heading("Sagsbehandlernote", level=2)
|
||||
doc.add_paragraph(
|
||||
"Sagsbehandler: M. Andersen\n"
|
||||
"Dato: 20. april 2026\n"
|
||||
"Der er ikke fundet grundlag for yderligere foranstaltninger."
|
||||
)
|
||||
|
||||
out = HERE / "09_cpr_in_docx.docx"
|
||||
doc.save(str(out))
|
||||
print(f"Written: {out.name}")
|
||||
|
||||
|
||||
# ── 13_cpr_in_xlsx.xlsx ───────────────────────────────────────────────────────
|
||||
def make_xlsx():
|
||||
wb = Workbook()
|
||||
|
||||
# Sheet 1: Elevliste
|
||||
ws1 = wb.active
|
||||
ws1.title = "Elevliste"
|
||||
|
||||
header_font = Font(bold=True, color="FFFFFF")
|
||||
header_fill = PatternFill("solid", fgColor="2B5F9E")
|
||||
|
||||
headers = ["Klasse", "Navn", "CPR-nummer", "Adresse", "Forælder tlf", "Bemærkninger"]
|
||||
for col, h in enumerate(headers, 1):
|
||||
cell = ws1.cell(row=1, column=col, value=h)
|
||||
cell.font = header_font
|
||||
cell.fill = header_fill
|
||||
cell.alignment = Alignment(horizontal="center")
|
||||
|
||||
students = [
|
||||
("7A", "Magnus Lund Eriksen", "010172-1019", "Egevej 3, 8680 Ry", "+45 40 12 34 56", ""),
|
||||
("7A", "Nora Bjerrum Nielsen", "280490-0120", "Møllevej 11, 8680 Ry", "+45 50 23 45 67", "Brillebærer"),
|
||||
("7A", "Oliver Skov Madsen", "250372-0100", "Kirkegade 2, 8660 Skanderborg", "+45 60 34 56 78", ""),
|
||||
("7B", "Rasmus Dal Kristensen", "150365-1102", "Rosenvej 5, 8680 Ry", "+45 21 56 78 90", ""),
|
||||
("7B", "Sofie Holm Thomsen", "111111-1010", "Birkevej 22, 8660 Skanderborg", "+45 31 67 89 01", "Allergi: nødder"),
|
||||
("7B", "Emil Sand Jensen", "010107-4102", "Hybenvej 7, 8680 Ry", "+45 41 78 90 12", ""),
|
||||
]
|
||||
for row_i, row_data in enumerate(students, 2):
|
||||
for col_i, val in enumerate(row_data, 1):
|
||||
ws1.cell(row=row_i, column=col_i, value=val)
|
||||
|
||||
for col in ws1.columns:
|
||||
max_len = max(len(str(c.value or "")) for c in col)
|
||||
ws1.column_dimensions[col[0].column_letter].width = max_len + 4
|
||||
|
||||
# Sheet 2: Medarbejdere
|
||||
ws2 = wb.create_sheet("Medarbejdere")
|
||||
emp_headers = ["ID", "Navn", "Personnummer", "Afdeling", "E-mail"]
|
||||
for col, h in enumerate(emp_headers, 1):
|
||||
cell = ws2.cell(row=1, column=col, value=h)
|
||||
cell.font = header_font
|
||||
cell.fill = header_fill
|
||||
cell.alignment = Alignment(horizontal="center")
|
||||
|
||||
employees = [
|
||||
("EMP-001", "Christian Bøgh Hansen", "150365-1102", "Ledelse", "c.hansen@gudenaaskolen.dk"),
|
||||
("EMP-002", "Mette Dahl Andersen", "280490-0120", "Administration", "m.andersen@gudenaaskolen.dk"),
|
||||
("EMP-003", "Søren Lykke Jakobsen", "010172-1019", "Pædagogik", "s.jakobsen@gudenaaskolen.dk"),
|
||||
]
|
||||
for row_i, row_data in enumerate(employees, 2):
|
||||
for col_i, val in enumerate(row_data, 1):
|
||||
ws2.cell(row=row_i, column=col_i, value=val)
|
||||
|
||||
for col in ws2.columns:
|
||||
max_len = max(len(str(c.value or "")) for c in col)
|
||||
ws2.column_dimensions[col[0].column_letter].width = max_len + 4
|
||||
|
||||
out = HERE / "13_cpr_in_xlsx.xlsx"
|
||||
wb.save(str(out))
|
||||
print(f"Written: {out.name}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
make_docx()
|
||||
make_xlsx()
|
||||
print("Done.")
|
||||
Reference in new issue
Block a user