Add report templates loader and move out templates from the main source tree [SCI-5664]

This commit is contained in:
Oleksii Kriuchykhin 2021-05-03 11:26:29 +02:00
parent 57c90a60c4
commit 96f85aeb3c
14 changed files with 16 additions and 859 deletions

View file

@ -1,321 +0,0 @@
<div class="report-template-index">
<style type="text/css" scoped>
.report-template-index .template-table {
height: 297mm;
width: 100%;
font-size: 12px;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.report-template-index .template-checkbox {
border: 1px solid black;
display: inline-block;
height: 16px;
margin-bottom: -3px;
margin-right: .25em;
position: relative;
width: 16px;
}
.report-template-index .template-checkbox.selected {
background: black;
}
.report-template-index .template-table > tbody > tr > td {
border: 2px solid black;
padding: .25em;
text-align: left;
vertical-align: top;
}
.report-template-index .cell-label {
font-weight: bold;
}
.report-template-index .template-table > tbody > tr > td.title {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
.report-template-index tr.fixed-height {
height: 5em;
}
.report-template-index .seals-table {
height: 100%;
width: 100%;
}
.report-template-index .seals-table td {
font-size: 12px;
line-height: 16px;
vertical-align: top;
}
.report-template-index .net-contents-table {
font-size: 12px;
height: 100%;
width: 100%;
}
.report-template-index .template-table > tbody > tr > td.pagination-cell {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
</style>
<table class="template-table">
<tr class="fixed-height">
<td colspan=4 class="title">
ANALYST WORKSHEET
</td>
<td colspan=7>
<div class="cell-label">
1. PRODUCT
</div>
<div class="cell-value">
<% report_experiment_descriptions(report).each do |description| %>
<%= description %>
<br>
<% end %>
</div>
</td>
<td colspan=5>
<div class="cell-label">
2. SAMPLE NUMBER
</div>
<div class="cell-value">
<%= assigned_to_report_repository_items(report, 'Samples').pluck(:name).join(', ') %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=4>
<table class="seals-table">
<tr>
<td>
<div class="cell-label">
3. SEALS
</div>
</td>
</tr>
<tr>
<%= render Reports::MultiCheckboxInputComponent.new(
report: report,
name: :seals,
label: 'Seals',
items: {
intact: 'INTACT',
broken: 'BROKEN',
none: 'NONE'
}
) %>
</tr>
<tr></tr>
</table>
</td>
<td colspan=3>
<div class="cell-label">
4. DATE RECEIVED
</div>
<div class="cell-value">
<%= render Reports::DateInputComponent.new(report: report, name: :date_recieved, label: 'Date recieved', editing: false) %>
</div>
</td>
<td colspan=4>
<div class="cell-label">
5.RECEIVED FROM
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :recieved_from, label: 'Received from', editing: false) %>
</div>
</td>
<td colspan=5>
<div class="cell-label">
6. DISTRICT OR LABORATORY
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :district_laboratory, label: 'District or laboratory', editing: false) %>
</div>
</td>
</tr>
<tr>
<td colspan=16>
<div class="cell-label">
7. DESCRIPTION OF SAMPLE
</div>
<div class="cell-value">
<%= render Reports::LargeTextInputComponent.new(report: report, name: :sample_description, label: 'Descripton of sample', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=2>
<div class="cell-label">
8. NET CONTENTS
</div>
</td>
<td colspan=7>
<table class="net-contents-table">
<tr>
<td>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :not_applicable, label: 'Not applicable', editing: false) %>
NOT APPLICABLE
</td>
<td>
DECLARE/UNIT <b>
<%= render Reports::TextInputComponent.new(report: report, name: :declare_unit, label: 'Declare unit', editing: false) %>
</b>
</td>
</tr>
<tr>
<td>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :not_determined, label: 'Not determined', editing: false) %>
NOT DETERMINED
</td>
<td>AMOUNT FOUND
<b>
<%= render Reports::TextInputComponent.new(report: report, name: :amount_found, label: 'Amount found', editing: false) %>
</b>
</td>
</tr>
<tr>
<td>
<b>
<%= render Reports::TextInputComponent.new(report: report, name: :units_examined, label: 'Units examined', editing: false) %>
</b> UNITS EXAMINED
</td>
<td>% of DECLARED
<b>
<%= render Reports::TextInputComponent.new(report: report, name: :percent_of_declared, label: 'Percent of declared', editing: false) %>
</b>
</td>
</tr>
</table>
</td>
<td colspan=2>
<div class="cell-label">
9. LABELING
</div>
</td>
<td colspan=5>
<table class="net-contents-table">
<tr>
<td>
<b>
<%= render Reports::TextInputComponent.new(report: report, name: :originals_submitted, label: 'Original(s) submitted', editing: false) %>
</b> ORIGINAL(S) SUBMITTED
</td>
</tr>
<tr>
<td>
<b>
<%= render Reports::TextInputComponent.new(report: report, name: :copies_submitted, label: 'Copies submitted', editing: false) %>
</b> COPIES SUBMITTED
</td>
</tr>
<tr>
<td>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :labeling_none, label: 'None', editing: false) %>
NONE
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan=16>
<div class="cell-label">
10. SUMMARY OF ANALYSIS
</div>
<div class="cell-value">
<%= render Reports::LargeTextInputComponent.new(report: report, name: :analysis_summary, label: 'Summary of analysis', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=16>
<div class="cell-label">
11. RESERVE SAMPLE
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :reserve_sample, label: 'Reserve sample', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=8 rowspan=2>
<div class="cell-label">
12. a. ANALYST SIGNATURE (Broke Seal <%= render Reports::CheckboxInputComponent.new(report: report, name: :analyst_signature_broke, label: 'Broke seal', editing: false) %>)
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_a, label: 'Analyst signature A', editing: false) %>
</div>
</td>
<td colspan=3 rowspan=2>
<div class="cell-label">
13. WORKSHEET CHECK
</div>
</td>
<td colspan=5>
<div class="cell-label">
a. BY
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :worksheet_check_by, label: 'Worksheet check by', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=5>
<div class="cell-label">
b. DATE
</div>
<div class="cell-value">
<%= render Reports::DateInputComponent.new(report: report, name: :worksheet_check_date, label: 'Worksheet check date', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=8>
<div class="cell-label">
b.
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_b, label: 'Analyst signature B', editing: false) %>
</div>
</td>
<td colspan=8>
<div class="cell-label">
13. DATE REPORTED
</div>
<div class="cell-value">
<%= render Reports::DateInputComponent.new(report: report, name: :date_reported, label: 'Date reported', editing: false) %>
</div>
</td>
</tr>
<tr class="fixed-height">
<td colspan=8>
<div class="cell-label">
c.
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_c, label: 'Analyst signature C', editing: false) %>
</div>
</td>
<td colspan=8 class="pagination-cell">
PAGE 1 OF <%= total_pages + 1 %>
</td>
</tr>
</table>
</div>

View file

@ -1,43 +0,0 @@
<% content_for :cover do %>
<%= render Reports::MultiCheckboxInputComponent.new(
report: report,
name: :seals,
label: 'Seals',
items: {
intact: 'Intact',
broken: 'Broken',
none: 'None'
}
) %>
<%= render Reports::DateInputComponent.new(report: report, name: :date_recieved, label: 'Date recieved') %>
<%= render Reports::TextInputComponent.new(report: report, name: :recieved_from, label: 'Received from') %>
<%= render Reports::TextInputComponent.new(report: report, name: :district_laboratory, label: 'District or laboratory') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :sample_description, label: 'Descripton of sample') %>
<%= render Reports::TextInputComponent.new(report: report, name: :units_examined, label: 'Units examined') %>
<%= render Reports::TextInputComponent.new(report: report, name: :declare_unit, label: 'Declare unit') %>
<%= render Reports::TextInputComponent.new(report: report, name: :amount_found, label: 'Amount found') %>
<%= render Reports::TextInputComponent.new(report: report, name: :percent_of_declared, label: 'Percent of declared') %>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :not_applicable, label: 'Not applicable') %>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :not_determined, label: 'Not determined') %>
<%= render Reports::TextInputComponent.new(report: report, name: :originals_submitted, label: 'Original(s) submitted') %>
<%= render Reports::TextInputComponent.new(report: report, name: :copies_submitted, label: 'Copies submitted') %>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :labeling_none, label: 'None') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :analysis_summary, label: 'Summary of analysis') %>
<%= render Reports::TextInputComponent.new(report: report, name: :reserve_sample, label: 'Reserve sample') %>
<%= render Reports::CheckboxInputComponent.new(report: report, name: :analyst_signature_broke, label: 'Broke seal') %>
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_a, label: 'Analyst signature A') %>
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_b, label: 'Analyst signature B') %>
<%= render Reports::TextInputComponent.new(report: report, name: :analyst_signature_c, label: 'Analyst signature C') %>
<%= render Reports::TextInputComponent.new(report: report, name: :worksheet_check_by, label: 'Worksheet check by') %>
<%= render Reports::DateInputComponent.new(report: report, name: :worksheet_check_date, label: 'Worksheet check date') %>
<%= render Reports::DateInputComponent.new(report: report, name: :date_reported, label: 'Date reported') %>
<% end %>
<% content_for :footer do %>
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :analyst, label: 'Analyst') %>
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :analyst_number, label: 'Employee number', displayed_field: :external_id) %>
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :checked_by, label: 'Checked by') %>
<% end %>

View file

@ -1,73 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
border: 2px solid black;
font-size: 12px;
padding: .25em;
text-align: left;
vertical-align: top;
}
table td.pagination {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
.info-row {
height: 15px;
}
.info-row td {
font-weight: bold;
text-align: center;
vertical-align: middle;
}
</style>
<table>
<tr>
<td colspan=3>
<div class="cell-label">
<b>ANALYST(S)</b>
</div>
<div class="cell-value">
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :analyst, label: 'Analyst', editing: false) %>
</div>
</td>
<td colspan=2>
<div class="cell-label">
<b>ANALYST EMPLOYEE NO.</b>
</div>
<div class="cell-value">
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :analyst_number, label: 'Employee number', editing: false, displayed_field: :external_id) %>
</div>
</td>
<td colspan=3>
<div class="cell-label">
<b>CHECKED BY:</b>
</div>
<div class="cell-value">
<%= render Reports::ProjectMembersInputComponent.new(report: report, name: :checked_by, label: 'Checked by', editing: false) %>
</div>
</td>
<td colspan=2 class="pagination" data-page-offset="1">
PAGE <span class="page"></span> OF <span class="topage" ></span>
</td>
</tr>
<tr class="info-row">
<td colspan="10">Single-Sided</td>
</tr>
</table>

View file

@ -1,52 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
border: 2px solid black;
font-size: 12px;
padding: .25em;
text-align: left;
vertical-align: top;
}
table td.title {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
</style>
<table>
<tr>
<td class="title " class="topage">
GENERAL CONTINUATION SHEET
</td>
<td>
<div class="cell-label">
<b>PRODUCT</b>
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :product, label: 'Product', editing: false) %>
</div>
</td>
<td>
<div class="cell-label">
<b>SAMPLE NUMBER</b>
</div>
<div class="cell-value">
<%= render Reports::TextInputComponent.new(report: report, name: :sample_number, label: 'Sample number', editing: false) %>
</div>
</td>
</tr>
</table>

View file

@ -1,118 +0,0 @@
<div class="report-template-index">
<style type="text/css" scoped>
.report-template-index .template-table {
height: 297mm;
width: 100%;
font-size: 16px;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.align-center {
text-align: center;
}
.executive-summary {
height: 170mm;
}
.table-of-contents {
height: 250mm;
}
ul {
list-style-type: none;
padding: 0;
}
li {
padding: .5em 0;
}
.divider {
height: 4px;
background: black;
width: 100%;
}
</style>
<table class="template-table">
<tr>
<td colspan=2 class="logo"></td>
<td colspan=2></td>
</tr>
<tr>
<td colspan=4 class="align-center"><b>Technical Report</b></td>
</tr>
<tr>
<td colspan=4><div class="divider"></div></td>
</tr>
<tr>
<td><b>Date:</b></td>
<td colspan=3><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
<tr>
<td><b>From:</b> </td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_from, label: 'From', editing: false) %></td>
</tr>
<tr>
<td><b>Through:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_through, label: 'Through', editing: false) %></td>
</tr>
<tr>
<td><b>To:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_to, label: 'To', editing: false) %></td>
</tr>
<tr>
<td><b>Subject:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_subject, label: 'Subject', editing: false) %></td>
</tr>
<tr>
<td colspan=4><div class="divider"></div></td>
</tr>
<tr class="executive-summary">
<td colspan=4 style="vertical-align: top;">
<b>EXECUTIVE SUMMARY</b>
<ul>
<li><b>Report file name:&nbsp;</b><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></li>
<li><b>Personnel:&nbsp;</b><%= render Reports::TextInputComponent.new(report: report, name: :report_from, label: 'From', editing: false) %></li>
<li><b>Associated Protocol:&nbsp;</b><%= render Reports::TextInputComponent.new(report: report, name: :associated_protocol, label: 'Associated Protocol', editing: false) %></li>
<li><b>Background:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :report_background, label: 'Summary background', editing: false) %></li>
<li><b>Outcome/Impact:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Outcome/Impact', editing: false) %></li>
<li><b>Conclusion:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Conclusion', editing: false) %></li>
</ul>
</td>
</tr>
<tr style="height: 30px">
<td colspan=1><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></td>
<td colspan=2 class="align-center"><b>Page 1 of <%= total_pages + 2 %></b></td>
<td colspan=1><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
</table>
<div style="page-break-before: always"></div>
<table class="template-table">
<tr>
<td colspan=2 class="logo"></td>
<td colspan=2></td>
</tr>
<tr class="table-of-contents">
<td colspan=4 style="vertical-align: top;">
<ul>
<li><b>Objective&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :objective, label: 'Objective', editing: false) %></li>
<li><b>Background&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :background, label: 'Background ', editing: false) %></li>
<li><b>Materials and Methods&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :materials_and_methods, label: 'Materials and Methods', editing: false) %></li>
<li><b>Results and Discussion&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :results, label: 'Results and Discussion', editing: false) %></li>
<li><b>References&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :references, label: 'References', editing: false) %></li>
<li><b>Records Management Project Name:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :management_project_name, label: 'Records Management Project Name', editing: false) %></li>
</ul>
</td>
</tr>
<tr>
<td colspan=1><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></td>
<td colspan=2 class="align-center"><b>Page 2 of <%= total_pages + 2 %></b></td>
<td colspan=1><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
</table>
</div>

View file

@ -1,18 +0,0 @@
<% content_for :cover do %>
<%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_from, label: 'From') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_through, label: 'Through') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_to, label: 'To') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_subject, label: 'Subject') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name') %>
<%= render Reports::TextInputComponent.new(report: report, name: :associated_protocol, label: 'Associated Protocol') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :report_background, label: 'Summary background') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Outcome/Impact') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Conclusion') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :objective, label: 'Objective') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :background, label: 'Background ') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :materials_and_methods, label: 'Materials and Methods') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :results, label: 'Results and Discussion') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :references, label: 'References') %>
<%= render Reports::TextInputComponent.new(report: report, name: :management_project_name, label: 'Records Management Project Name') %>
<% end %>

View file

@ -1,36 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
font-size: 16px;
padding: .25em;
text-align: left;
vertical-align: middle;
}
table td.pagination {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
</style>
<table>
<tr>
<td colspan=1><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></td>
<td colspan=2 class="pagination" data-page-offset="2">Page <span class="page"></span> of <span class="topage"></span></td>
<td colspan=1><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
</table>

View file

@ -1,26 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
font-size: 16px;
padding: .25em;
text-align: left;
vertical-align: top;
}
</style>
<table>
<tr>
<td colspan=2 class="logo"></td>
<td colspan=2></td>
</tr>
</table>

View file

@ -1,90 +0,0 @@
<div class="report-template-index">
<style type="text/css" scoped>
.report-template-index .template-table {
height: 297mm;
width: 100%;
font-size: 16px;
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.align-center {
text-align: center;
}
.executive-summary {
height: 170mm;
}
ul {
list-style-type: none;
padding: 0;
}
li {
padding: .5em 0;
}
.divider {
height: 4px;
background: black;
width: 100%;
}
</style>
<table class="template-table">
<tr>
<td colspan=2 class="logo"></td>
<td colspan=2></td>
</tr>
<tr>
<td colspan=4 class="align-center"><b>OTR-Short Form Report</b></td>
</tr>
<tr>
<td colspan=4><div class="divider"></div></td>
</tr>
<tr>
<td><b>Date:</b></td>
<td colspan=3><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
<tr>
<td><b>From:</b> </td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_from, label: 'From', editing: false) %></td>
</tr>
<tr>
<td><b>Through:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_through, label: 'Through', editing: false) %></td>
</tr>
<tr>
<td><b>To:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_to, label: 'To', editing: false) %></td>
</tr>
<tr>
<td><b>Subject:</b></td>
<td colspan=3><%= render Reports::TextInputComponent.new(report: report, name: :report_subject, label: 'Subject', editing: false) %></td>
</tr>
<tr>
<td colspan=4><div class="divider"></div></td>
</tr>
<tr class="executive-summary">
<td colspan=4 style="vertical-align: top;">
<ul>
<li><b>Report file name:&nbsp;</b><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></li>
<li><b>Associated Protocol:&nbsp;</b><%= render Reports::TextInputComponent.new(report: report, name: :associated_protocol, label: 'Associated Protocol', editing: false) %></li>
<li><b>Background:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :report_background, label: 'Background', editing: false) %></li>
<li><b>Conclusions:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Conclusions', editing: false) %></li>
<li><b>Results and Discussion&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :results, label: 'Results and Discussion', editing: false) %></li>
<li><b>References (if needed)&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :references, label: 'References (if needed)', editing: false) %></li>
<li><b>Records Management Project Name:&nbsp;</b><%= render Reports::LargeTextInputComponent.new(report: report, name: :management_project_name, label: 'Records Management Project Name', editing: false) %></li>
</ul>
</td>
</tr>
<tr style="height: 30px">
<td colspan=1><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></td>
<td colspan=2 class="align-center">Page 1 of <%= total_pages + 1 %></td>
<td colspan=1><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
</table>
</div>

View file

@ -1,14 +0,0 @@
<% content_for :cover do %>
<%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_from, label: 'From') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_through, label: 'Through') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_to, label: 'To') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_subject, label: 'Subject') %>
<%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name') %>
<%= render Reports::TextInputComponent.new(report: report, name: :associated_protocol, label: 'Associated Protocol') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :report_background, label: 'Background') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :outcome_impact, label: 'Conclusions') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :results, label: 'Results and Discussion') %>
<%= render Reports::LargeTextInputComponent.new(report: report, name: :references, label: 'References (if needed)') %>
<%= render Reports::TextInputComponent.new(report: report, name: :management_project_name, label: 'Records Management Project Name') %>
<% end %>

View file

@ -1,36 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
font-size: 16px;
padding: .25em;
text-align: left;
vertical-align: middle;
}
table td.pagination {
font-size: 14px;
font-weight: bold;
text-align: center;
vertical-align: middle;
white-space: nowrap;
}
</style>
<table>
<tr>
<td colspan=1><%= render Reports::TextInputComponent.new(report: report, name: :report_file_name, label: 'Report file name', editing: false) %></td>
<td colspan=2 class="pagination" data-page-offset="1">Page <span class="page"></span> of <span class="topage"></span></td>
<td colspan=1><%= render Reports::DateInputComponent.new(report: report, name: :report_date, label: 'Date', editing: false) %></td>
</tr>
</table>

View file

@ -1,26 +0,0 @@
<style>
body {
height: 95px;
}
table {
border-collapse: collapse;
border-spacing: 0;
height: 80px;
table-layout: fixed;
width: 100%
}
table td {
font-size: 16px;
padding: .25em;
text-align: left;
vertical-align: top;
}
</style>
<table>
<tr>
<td colspan=2 class="logo"></td>
<td colspan=2></td>
</tr>
</table>

View file

@ -420,10 +420,5 @@ class Extends
{ name: 'Completed', color: '#00b900', consequences: ['MyModuleStatusConsequences::Completion'] }
]
REPORT_TEMPLATES = {
scinote_template: 'scinote_template',
template_1: 'template_1',
template_2: 'template_2',
template_3: 'template_3'
}
REPORT_TEMPLATES = {}
end

View file

@ -0,0 +1,15 @@
# frozen_string_literal: true
Dir.chdir(Rails.root.join('app/views/reports/templates')) do
templates = Dir.glob('*').select { |entry| File.directory?(entry) }
templates.each do |template|
next if Extends::REPORT_TEMPLATES[template.to_sym].present?
Extends::REPORT_TEMPLATES[template.to_sym] =
if File.file?("#{template}/name.txt")
File.open("#{template}/name.txt").read.strip
else
template
end
end
end