Further work on import functions
This commit is contained in:
parent
593efcedfa
commit
9096bef00d
9 changed files with 382 additions and 0 deletions
43
templates/admin/import/get_add.html.ep
Normal file
43
templates/admin/import/get_add.html.ep
Normal file
|
@ -0,0 +1,43 @@
|
|||
% layout 'admin';
|
||||
% title 'Import';
|
||||
% content_for javascript => begin
|
||||
% end
|
||||
% if ( my $error = flash 'error' ) {
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<strong>Error!</strong> <%= $error %>
|
||||
</div>
|
||||
% } elsif ( my $success = flash 'success' ) {
|
||||
<div class="alert alert-success" role="alert">
|
||||
<strong>Success!</strong> <%= $success %>
|
||||
</div>
|
||||
% }
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3>Add CSV Import</h3>
|
||||
<p>
|
||||
Copy and paste a CSV in to import it. The first line should contain the
|
||||
headers The following headers are recognised:
|
||||
</p>
|
||||
<ul>
|
||||
<li>user</li>
|
||||
<li>value</li>
|
||||
<li>date</li>
|
||||
<li>organisation</li>
|
||||
</ul>
|
||||
<p>
|
||||
Any columns which are not in the list above will be ignored and can be
|
||||
called anything you want, as long as they are not in the list above. They
|
||||
must also be unique.
|
||||
</p>
|
||||
<p>
|
||||
For date format, consult <a href="https://metacpan.org/pod/DateTime::Format::Strptime#STRPTIME-PATTERN-TOKENS">here</a> for the patterns
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<form action="<%= url_for %>" method="post">
|
||||
<input type="text" class="form-control mb-3" name="date_format" required value="<%=flash 'date_format' %>"/>
|
||||
<textarea class="form-control mb-3" rows="15" name="csv"><%= flash 'csv_data' %></textarea>
|
||||
<button class="btn btn-success btn-block" type="submit">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
0
templates/admin/import/get_value.html.ep
Normal file
0
templates/admin/import/get_value.html.ep
Normal file
45
templates/admin/import/index.html.ep
Normal file
45
templates/admin/import/index.html.ep
Normal file
|
@ -0,0 +1,45 @@
|
|||
% layout 'admin';
|
||||
% title 'Import';
|
||||
% content_for javascript => begin
|
||||
% end
|
||||
% if ( my $error = flash 'error' ) {
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<strong>Error!</strong> <%= $error %>
|
||||
</div>
|
||||
% } elsif ( my $success = flash 'success' ) {
|
||||
<div class="alert alert-success" role="alert">
|
||||
<strong>Success!</strong> <%= $success %>
|
||||
</div>
|
||||
% }
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<h3 class="card-header">
|
||||
CSV Import
|
||||
<a href="<%= url_for . '/add' %>" class="btn btn-success" style="float: right">Import Data</a>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
% for my $import ( $import_rs->all ) {
|
||||
<div class="col col-md-4 mb-3">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<span class="font-bold"><%= $import->id %></span>
|
||||
%= format_human_datetime $import->date;
|
||||
</div>
|
||||
<div class="card-body">
|
||||
</div>
|
||||
<div class="card-footer text-right">
|
||||
<a href="<%= url_for . '/' . $import->id %>" class="card-link">
|
||||
Edit Import
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
%= bootstrap_pagination( $c->param('page') || 1, $import_rs->pager->last_page, { class => 'justify-content-center' } );
|
||||
</div>
|
||||
</div>
|
102
templates/admin/import/list.html.ep
Normal file
102
templates/admin/import/list.html.ep
Normal file
|
@ -0,0 +1,102 @@
|
|||
% layout 'admin';
|
||||
% title 'Import';
|
||||
% content_for javascript => begin
|
||||
% end
|
||||
% if ( my $error = flash 'error' ) {
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<strong>Error!</strong> <%= $error %>
|
||||
</div>
|
||||
% } elsif ( my $success = flash 'success' ) {
|
||||
<div class="alert alert-success" role="alert">
|
||||
<strong>Success!</strong> <%= $success %>
|
||||
</div>
|
||||
% }
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-6 mb-3">
|
||||
<div class="card">
|
||||
<h3 class="card-header">
|
||||
User Assignments
|
||||
</h3>
|
||||
<div class="card-body">
|
||||
Unique users in this Import, and their assigned entity
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
% for my $user ( $import_users_rs->all ) {
|
||||
<div class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
%= $user->user_name
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="text-muted font-italic">Unassigned</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<a class="btn btn-primary">Select</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-6 mb-3">
|
||||
<div class="card">
|
||||
<h3 class="card-header">
|
||||
Org Assignments
|
||||
</h3>
|
||||
<div class="card-body">
|
||||
Unique orgs in this Import, and their assigned entity
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
% for my $org ( $import_org_rs->all ) {
|
||||
<div class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
%= $org->org_name
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<span class="text-muted font-italic">Unassigned</span>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<a class="btn btn-primary">Select</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<h3 class="card-header">
|
||||
%= format_human_datetime $import_set->date;
|
||||
</h3>
|
||||
<div class="card-body">
|
||||
Content listed in original order of import
|
||||
</div>
|
||||
<div class="list-group list-group-flush">
|
||||
% for my $import_value ( $import_value_rs->all ) {
|
||||
<div class="list-group-item">
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
<%= $import_value->user_name %>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<%= format_human_datetime $import_value->purchase_date %>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<%= $import_value->purchase_value %>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<%= $import_value->org_name %>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<a href="#" class="btn btn-danger">Ignore</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
% }
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in a new issue