Basic report export

This commit is contained in:
david 2024-11-17 00:46:22 +01:00
parent 65568ac27b
commit 7f1c634996

View file

@ -1,6 +1,88 @@
/ 1.0 Einschtzung
/ 1.1 Zielsetzung und Ausgangslage
/ 1.2 Wie wurde getestet
/ 1.3 Einschätzung
/ 2.0 Protokoll
/ 2.1. Seite
/ -Pfad
/ 2.1.1 Element
/ -Position (nur wenn Inhalt)
/ -Kommentar (nur wenn Inhalt)
/ 2.1.1.1 Check
/ -Quick Criteria
/ -Quick Fail
/ -Quick Fix
/ -Kommentar (nur wenn Inhalt)
/ 2.2. Seite
/ 2.2.1 Element
/ 2.2.1.1 Check
/ 3.0 Anahng
/ 3.1.Check
/ -WCAG Nr. (nur wenn Inhalt)
/ -WCAG Link (nur wenn Inhalt)
/ -Konformität (nur wenn Inhalt)
/ -Anmerkung Konformität (nur wenn Inhalt)
/ -Priorität (nur wenn Inhalt)
/ -Kriterium/Grundlage (nur wenn Inhalt)
/ -Ausnahmen (nur wenn Inhalt)
/ -Verstehen (nur wenn Inhalt)
/ -Beispiel (nur wenn Inhalt)-
/ -Anmerkung (nur wenn Inhalt)
/ -Links (nur wenn Inhalt)
css:
.trix-content:has(*) {
font-family: "Serif";
border: solid white 1px;
padding: 1rem;
}
dd {
margin-left: 10rem;
}
h1 id=dom_id(@report) = @report.name h1 id=dom_id(@report) = @report.name
h2#toc Inhaltsverzeichnis h2 1 Einschätzung
p Gibt es hier Text?
h3 1.1 Zielsetzung und Ausgangslage
p Woher kommt dieser Text?
h3 1.2 Wie wurde getestet
p Woher kommt dieser Text?
h3 1.3 Einschätzung
p Woher kommt dieser Text?
h2 2 Protokoll
- current_page_pos = 0
- @report.pages.select { |p| p.elements.any? { |e| e.success_criteria.any? { _1.failed? } } }.each do |page|
- current_page_pos += 1
- current_element_pos = 0
h3 = "2.#{current_page_pos} #{page.path}"
- page.elements { |e| e.success_criteria.any? { _1.failed? } }.each do |element|
- current_element_pos += 1
- current_sc_pos = 0
h4 = "2.#{current_page_pos}.#{current_element_pos} #{element.title}"
= safe_display(element.screenshot) { image_tag(_1.representation(resize_to_fit: [250, 250]))}
= element.description
- element.success_criteria.select{ _1.failed? }.each do |sc|
- current_sc_pos += 1
h5 = "2.#{current_page_pos}.#{current_element_pos}.#{current_sc_pos} #{sc.title}"
- if sc.test_comment?
p = sc.test_comment
dl
dt Kriterium
dd = sc.quick_criterion
dt Fail
dd = sc.quick_fail
dt Fix
dd = sc.quick_fix
dt WCAG
dd = link_to(sc.check.external_number, sc.check.external_url)
nav nav
= link_to(@report.name, "##{dom_id(@report)}") = link_to(@report.name, "##{dom_id(@report)}")
ul ul
@ -25,33 +107,51 @@ nav
li = link_to(check.display_label) li = link_to(check.display_label)
h2 Testbericht
- @report.pages.select { |p| p.elements.any? { |e| e.success_criteria.any? { _1.failed? } } }.each do |page|
h3 = "#{page.position} #{page.path}"
- page.elements { |e| e.success_criteria.any? { _1.failed? } }.each do |element|
h4 = "#{element.number} #{element.title}"
= safe_display(element.screenshot) { image_tag(_1.representation(resize_to_fit: [250, 250]))}
= element.description
- element.success_criteria.select{ _1.failed? }.each do |sc|
h5 = "#{sc.number} #{sc.title}"
- if sc.test_comment?
p = sc.test_comment
dl
dt Kriterium
dd = sc.quick_criterion
dt Fail
dd = sc.quick_fail
dt Fix
dd = sc.quick_fix
dt WCAG
dd = link_to(sc.check.external_number, sc.check.external_url)
h2 Anhang h2 Anhang
h3 Liste der zu beachtenden WCAG Regeln h3 Liste der zu beachtenden WCAG Regeln
- @failed_success_criteria.group_by(&:check).each do |check, scs| - @failed_success_criteria.group_by(&:check).sort_by{ |c, scs| c.number }.each do |check, scs|
h4 = check.display_label h4 = check.display_label
= check.criterion_de dl
strong Erfolgskriterien - safe_display(check.external_number) do
p = scs.map(&:number).join(", ") dt WCAG Nummer
dd = _1
- safe_display(check.external_url) do
dt WCAG Link
dd = _1
- safe_display(check.conformity_level) do
dt Konformität
dd = _1
- safe_display(check.conformity_notice_de) do
dt Anmerkung Konformität
dd = _1
- safe_display(check.priority) do
dt Priorität
dd = _1
- safe_display(check.criterion_de) do
dt Kriterium/Grundlage
dd = _1
- safe_display(check.exemption_details_de) do
dt Ausnahmen
dd = _1
- safe_display(check.criterion_details_de) do
dt Verstehen
dd = _1
- safe_display(check.example_de) do
dt Beispiel
dd = _1
- safe_display(check.annotation_de) do
dt Anmerkung
dd = _1
- if check.links.any?
dt Links
dd
- check.links.group_by(&:category).each do |category, links|
strong = category
ul
- links.each do |l|
li = link_to(l.text, l.url)
dt Erfolgskriterien
dd = scs.map(&:number).join(", ")