mirror of
https://github.com/datahub-project/datahub.git
synced 2025-08-20 23:28:01 +00:00
Decommissions legacy play views
This commit is contained in:
parent
d2a6ae9564
commit
de3df3c7f5
@ -1,712 +0,0 @@
|
|||||||
@(user: String, isInternal:Boolean, piwikSiteId: Integer)
|
|
||||||
@main(user, "", isInternal, piwikSiteId) {
|
|
||||||
<div id="content">
|
|
||||||
<script type="text/x-handlebars" id="dashboard">
|
|
||||||
<div id="schemaView" class="container-fluid">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<h3>Metadata Dashboard</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 well well-sm">
|
|
||||||
<ul class="breadcrumbs">
|
|
||||||
{{#each breadcrumbs as |crumb|}}
|
|
||||||
<li>
|
|
||||||
<a href={{crumb.urn}} title={{crumb.title }}>
|
|
||||||
{{ crumb.title }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{#if platforms}}
|
|
||||||
<div class="row platform-filter">
|
|
||||||
<span class="col-xs-1">Platforms:</span>
|
|
||||||
|
|
||||||
{{#each platforms as |platform|}}
|
|
||||||
{{#link-to "user" (query-params platform=platform) class="btn btn-default"}}
|
|
||||||
{{capitalize platform}}
|
|
||||||
{{/link-to}}
|
|
||||||
{{/each}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
<ul id="dashboardtabs" class="nav nav-tabs">
|
|
||||||
<li id="ownershippage">
|
|
||||||
<a id="ownershiplink" data-toggle="tab" href="#ownershiptab">Ownership</a>
|
|
||||||
</li>
|
|
||||||
<li id="descriptionpage">
|
|
||||||
<a id="descriptionlink" data-toggle="tab" href="#descriptiontab">Description</a>
|
|
||||||
</li>
|
|
||||||
<li id="idpcpage">
|
|
||||||
<a id="idpctablink" data-toggle="tab" href="#idpctab">IDPC Compliance</a>
|
|
||||||
</li>
|
|
||||||
<li id="confidentialpage">
|
|
||||||
<a id="confidentiallink" data-toggle="tab" href="#confidentialtab">Confidential Fields</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="ownershiptab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>Dataset Ownership for {{ currentOwnershipUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Datasets</th>
|
|
||||||
<th class="text-center">Confirmed Datasets</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{currentOwnershipUser.iconUrl}} title={{currentOwnershipUser.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{currentOwnershipUser.userName}}' title={{currentOwnershipUser.displayName}}>
|
|
||||||
{{ currentOwnershipUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ currentOwnershipUser.completed }}%</td>
|
|
||||||
<td class="text-center">{{ currentOwnershipUser.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ currentOwnershipUser.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<h4>Ticket Roll-Up for Individual User</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Datasets</th>
|
|
||||||
<th class="text-center">Confirmed Datasets</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if userNoOwnershipMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each ownershipMembers as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.completed }}%</td>
|
|
||||||
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ user.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of Datasets</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 headerBarFilter">
|
|
||||||
<form class="form-inline">
|
|
||||||
<select id="ownerShowOption" class="form-control" {{action "ownerOptionChanged" on="change"}}>
|
|
||||||
{{#each ownershipOptions as |option index|}}
|
|
||||||
{{#if index}}
|
|
||||||
<option value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{else}}
|
|
||||||
<option selected value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
|
||||||
</select>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div id="ownerPie" class="col-xs-5"></div>
|
|
||||||
</div>
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless ownerFirst}}
|
|
||||||
<li class="previous">
|
|
||||||
<a {{ action "prevOwnerPage" }}>
|
|
||||||
← Prev
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ ownershipDatasets.count }} datasets - page {{ ownershipDatasets.page }} of {{ ownershipDatasets.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless ownerLast}}
|
|
||||||
<li class="next">
|
|
||||||
<a {{ action "nextOwnerPage" }}>
|
|
||||||
Next →
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Dataset</th>
|
|
||||||
<th class="text-center">Owners</th>
|
|
||||||
<th class="text-center">Confirmed Owners</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if ownerInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoOwnershipFields}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no datasets with confirmed owners.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each ownershipDatasets.datasets as |dataset|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
||||||
{{ dataset.datasetName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
||||||
<td class="text-center">{{ dataset.confirmedOwnerId }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="descriptiontab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>Dataset Description for {{ currentDescriptionUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Datasets</th>
|
|
||||||
<th class="text-center">Has Description</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{currentDescriptionUser.iconUrl}} title={{currentDescriptionUser.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{currentDescriptionUser.userName}}' title={{currentDescriptionUser.displayName}}>
|
|
||||||
{{ currentDescriptionUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ currentDescriptionUser.completed }}%</td>
|
|
||||||
<td class="text-center">{{ currentDescriptionUser.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ currentDescriptionUser.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<h4>Ticket Roll-Up for Individual User</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Datasets</th>
|
|
||||||
<th class="text-center">Has Description</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if userNoDescMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each descriptionOwners as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.completed }}%</td>
|
|
||||||
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ user.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of Datasets</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 headerBarFilter">
|
|
||||||
<form class="form-inline">
|
|
||||||
<select id="descShowOption" class="form-control" {{action "optionChanged" on="change"}}>
|
|
||||||
{{#each descriptionOptions as |option index|}}
|
|
||||||
{{#if index}}
|
|
||||||
<option value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{else}}
|
|
||||||
<option selected value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
|
||||||
</select>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div id="pie" class="col-xs-5"></div>
|
|
||||||
<div id="barchart" class="col-xs-7"></div>
|
|
||||||
</div>
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless descFirst}}
|
|
||||||
<li class="previous">
|
|
||||||
<a {{ action "prevDescPage" }}>
|
|
||||||
← Prev
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ descriptionDatasets.count }} datasets {{ descriptionDatasets.description }} - page {{ descriptionDatasets.page }} of {{ descriptionDatasets.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless descLast}}
|
|
||||||
<li class="next">
|
|
||||||
<a {{ action "nextDescPage" }}>
|
|
||||||
Next →
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Dataset</th>
|
|
||||||
{{#if descriptionDatasets.isDatasetLevel}}
|
|
||||||
<th class="text-center">Description</th>
|
|
||||||
{{else}}
|
|
||||||
<th class="text-center">Fields With Description</th>
|
|
||||||
{{/if}}
|
|
||||||
<th class="text-center">Owners</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if descInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoDescriptionFields}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no datasets with confidential fields.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each descriptionDatasets.datasets as |dataset|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
||||||
{{ dataset.datasetName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center" style="word-break: break-all;">
|
|
||||||
{{ dataset.fields }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="idpctab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>IDPC Compliance for {{ currentComplianceUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Potential</th>
|
|
||||||
<th class="text-center">Has Purge Option</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{currentComplianceUser.iconUrl}} title={{currentComplianceUser.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{currentComplianceUser.userName}}' title={{currentComplianceUser.displayName}}>
|
|
||||||
{{ currentComplianceUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ currentComplianceUser.completed }}%</td>
|
|
||||||
<td class="text-center">{{ currentComplianceUser.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ currentComplianceUser.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<h4>Ticket Roll-Up for Individual User</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Potential</th>
|
|
||||||
<th class="text-center">Has Purge Option</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if userNoIdpcMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each complianceOwners as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.completed }}%</td>
|
|
||||||
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ user.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of Datasets</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 headerBarFilter">
|
|
||||||
<form class="form-inline">
|
|
||||||
<select id="idpcShowOption" class="form-control" {{action "idpcOptionChanged" on="change"}}>
|
|
||||||
{{#each idpcOptions as |option index|}}
|
|
||||||
{{#if index}}
|
|
||||||
<option value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{else}}
|
|
||||||
<option selected value={{option.option}}>{{option.value}}
|
|
||||||
</option>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
|
||||||
</select>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless idpcFirst}}
|
|
||||||
<li class="previous">
|
|
||||||
<a {{ action "prevIdpcPage" }}>
|
|
||||||
← Prev
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ complianceDatasets.count }} datasets - page {{ complianceDatasets.page }} of {{ complianceDatasets.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless idpcLast}}
|
|
||||||
<li class="next">
|
|
||||||
<a {{ action "nextIdpcPage" }}>
|
|
||||||
Next →
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Dataset</th>
|
|
||||||
<th class="text-center">Purge Option</th>
|
|
||||||
<th class="text-center">Owners</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if idpcInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoComplianceFields}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no datasets with IDPC compliance information.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each complianceDatasets.datasets as |dataset|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
||||||
{{ dataset.datasetName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
{{ dataset.fields }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="confidentialtab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>Confidential Fields for {{ currentConfidentialFieldsUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Potential</th>
|
|
||||||
<th class="text-center">Confirmed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{currentConfidentialFieldsUser.iconUrl}} title={{currentConfidentialFieldsUser.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{currentConfidentialFieldsUser.userName}}' title={{currentConfidentialFieldsUser.displayName}}>
|
|
||||||
{{ currentConfidentialFieldsUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ currentConfidentialFieldsUser.completed }}%</td>
|
|
||||||
<td class="text-center">{{ currentConfidentialFieldsUser.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ currentConfidentialFieldsUser.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<h4>Ticket Roll-Up for Individual User</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total Potential</th>
|
|
||||||
<th class="text-center">Confirmed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if userNoCfMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each confidentialFieldsOwners as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href='metadata#/dashboard/{{user.userName}}' title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.completed }}%</td>
|
|
||||||
<td class="text-center">{{ user.potentialDatasets }}</td>
|
|
||||||
<td class="text-center">{{ user.confirmed }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of Potential Datasets</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless cfFirst}}
|
|
||||||
<li class="previous">
|
|
||||||
<a {{ action "prevCfPage" }}>
|
|
||||||
← Prev
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ confidentialFieldsDatasets.count }} datasets - page {{ confidentialFieldsDatasets.page }} of {{ confidentialFieldsDatasets.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless cfLast}}
|
|
||||||
<li class="next">
|
|
||||||
<a {{ action "nextCfPage" }}>
|
|
||||||
Next →
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Dataset</th>
|
|
||||||
<th class="text-center">Fields</th>
|
|
||||||
<th class="text-center">Owners</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if cfInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoConfidentialFields}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no datasets with confidential fields.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each confidentialFieldsDatasets.datasets as |dataset|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<a href="/#/datasets/{{dataset.datasetId}}">
|
|
||||||
{{ dataset.datasetName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
{{ dataset.fields }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ dataset.ownerId }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember-template-compiler.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/lib/d3.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/d3pie-0.18/d3pie-customized.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/dashboard.js")" type="text/javascript"></script>
|
|
||||||
}
|
|
@ -1,387 +0,0 @@
|
|||||||
@(user: String, isInternal:Boolean, piwikSiteId: Integer)
|
|
||||||
@main(user, "", isInternal, piwikSiteId) {
|
|
||||||
<div id="content">
|
|
||||||
<script type="text/x-handlebars" id="jira">
|
|
||||||
<div id="schemaView" class="container-fluid">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<h3>Jira - Closed Account Auto Purge</h3>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 well well-sm">
|
|
||||||
<ul class="breadcrumbs">
|
|
||||||
{{#each breadcrumbs as |crumb|}}
|
|
||||||
<li>
|
|
||||||
<a href={{crumb.urn}} title={{crumb.title }}>
|
|
||||||
{{ crumb.title }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<ul id="jiratabs" class="nav nav-tabs">
|
|
||||||
<li id="headlesspage">
|
|
||||||
<a id="headlesstablink" data-toggle="tab" href="#headlesstab">Headless</a>
|
|
||||||
</li>
|
|
||||||
<li id="userpage">
|
|
||||||
<a id="usertablink" data-toggle="tab" href="#usertab">User</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="headlesstab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>Tickets for {{ selectedUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total</th>
|
|
||||||
<th class="text-center">Open</th>
|
|
||||||
<th class="text-center">Closed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{selectedUser.iconUrl}} title={{selectedUser.displayName }}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href={{selectedUser.url}} title={{selectedUser.displayName}}>
|
|
||||||
{{ selectedUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ selectedUser.headlessTicketsCompletion }}%</td>
|
|
||||||
<td class="text-center">{{ selectedUser.totalHeadlessTickets }}</td>
|
|
||||||
<td class="text-center">{{ selectedUser.openedHeadlessTickets }}</td>
|
|
||||||
<td class="text-center">{{ selectedUser.closedHeadlessTickets }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<h4>Tickets Roll-Up for Headless Group</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total</th>
|
|
||||||
<th class="text-center">Open</th>
|
|
||||||
<th class="text-center">Closed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if membersInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each members as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href={{user.url}} title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.headlessTicketsCompletion }}%</td>
|
|
||||||
<td class="text-center">{{ user.totalHeadlessTickets }}</td>
|
|
||||||
<td class="text-center">{{ user.openedHeadlessTickets }}</td>
|
|
||||||
<td class="text-center">{{ user.closedHeadlessTickets }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of Headless Group Tickets</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 headerBarFilter">
|
|
||||||
<form class="form-inline">
|
|
||||||
<div class="form-group">
|
|
||||||
<label>Sort Options</label>
|
|
||||||
<select class="form-control">
|
|
||||||
{{#each sortOptions as |option|}}
|
|
||||||
<option value={{option}}>{{option}}
|
|
||||||
</option>
|
|
||||||
{{/each}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Assignee</th>
|
|
||||||
<th class="text-center">Ticket</th>
|
|
||||||
<th class="text-center">Status</th>
|
|
||||||
<th class="text-center">HDFS Name</th>
|
|
||||||
<th class="text-center">Directory Path</th>
|
|
||||||
<th class="text-center">Total Size (MB)</th>
|
|
||||||
<th class="text-center"># of Files</th>
|
|
||||||
<th class="text-center">Last Update Time</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if ticketsInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if headlessNoTickets}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no tickets.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each headlessTickets as |ticket|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{ticket.assigneeIconUrl}} title={{ticket.assigneeDisplayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
{{ ticket.assigneeDisplayName }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
<a href={{ticket.jiraKeyUrl}} title={{ticket.ticketKey}} target="_blank">
|
|
||||||
{{ ticket.ticketKey }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ ticket.ticketStatus }}</td>
|
|
||||||
<td class="text-center">{{ ticket.ticketHdfsName }}</td>
|
|
||||||
<td class="text-left">{{ ticket.ticketDirectoryPath }}</td>
|
|
||||||
<td class="text-right">{{ ticket.ticketTotalSize }}</td>
|
|
||||||
<td class="text-right">{{ ticket.ticketNumOfFiles}}</td>
|
|
||||||
<td class="text-center">{{ ticket.jiraLastUpdatedTime }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="usertab" class="tab-pane">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-4">
|
|
||||||
<h4>Tickets for {{ selectedUser.displayName }}</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total</th>
|
|
||||||
<th class="text-center">Open</th>
|
|
||||||
<th class="text-center">Closed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{selectedUser.iconUrl}} title={{selectedUser.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href={{selectedUser.orgHierarchyUrl}} title={{selectedUser.displayName}}>
|
|
||||||
{{ selectedUser.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ selectedUser.userCompletion }}%</td>
|
|
||||||
<td class="text-center">{{ selectedUser.userTotalTickets }}</td>
|
|
||||||
<td class="text-center">{{ selectedUser.userOpenTickets }}</td>
|
|
||||||
<td class="text-center">{{ selectedUser.userClosedTickets }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<h4>Ticket Roll-Up for Individual User</h4>
|
|
||||||
<table class="table table-bordered table-condensed table-hover">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Name</th>
|
|
||||||
<th class="text-center">Completion</th>
|
|
||||||
<th class="text-center">Total</th>
|
|
||||||
<th class="text-center">Open</th>
|
|
||||||
<th class="text-center">Closed</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if membersInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoMembers}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no one that reports to them.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each members as |user|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{user.iconUrl}} title={{user.displayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
<a href={{user.orgHierarchyUrl}} title={{user.displayName}}>
|
|
||||||
{{ user.displayName }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ user.userCompletion }}%</td>
|
|
||||||
<td class="text-center">{{ user.userTotalTickets }}</td>
|
|
||||||
<td class="text-center">{{ user.userOpenTickets }}</td>
|
|
||||||
<td class="text-center">{{ user.userClosedTickets }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-md-8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-9">
|
|
||||||
<h4>List of User Tickets</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 headerBarFilter">
|
|
||||||
<form class="form-inline">
|
|
||||||
<div class="form-group">
|
|
||||||
<label>Sort Options</label>
|
|
||||||
<select class="form-control">
|
|
||||||
{{#each sortOptions as |option|}}
|
|
||||||
<option value={{option }}>{{option}}
|
|
||||||
</option>
|
|
||||||
{{/each}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="table table-bordered table-condensed table-hover table-striped">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="text-center">Assignee</th>
|
|
||||||
<th class="text-center">Ticket</th>
|
|
||||||
<th class="text-center">Status</th>
|
|
||||||
<th class="text-center">HDFS Name</th>
|
|
||||||
<th class="text-center">Directory Path</th>
|
|
||||||
<th class="text-center">Total Size (Mb)</th>
|
|
||||||
<th class="text-center"># of Files</th>
|
|
||||||
<th class="text-center">Last Update Time</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#if ticketsInProgress}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8" class="text-center">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<i class="fa fa-spinner spinning fa-4x">
|
|
||||||
</i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#if userNoTickets}}
|
|
||||||
<tr>
|
|
||||||
<td colspan="8">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 text-center">
|
|
||||||
This user has no tickets.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{else}}
|
|
||||||
{{#each userTickets as |ticket|}}
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img src={{ticket.currentAssigneeIconUrl}}
|
|
||||||
title={{ticket.currentAssigneeDisplayName}}
|
|
||||||
width="25px"
|
|
||||||
height="25px"/>
|
|
||||||
{{ ticket.assigneeDisplayName }}
|
|
||||||
</td>
|
|
||||||
<td class="text-center">
|
|
||||||
<a href={{ticket.jiraKeyUrl}} title={{ticket.jiraKey}} target="_blank">
|
|
||||||
{{ ticket.ticketKey }}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="text-center">{{ ticket.ticketStatus }}</td>
|
|
||||||
<td class="text-center">{{ ticket.ticketHdfsName }}</td>
|
|
||||||
<td class="text-left">{{ ticket.ticketDirectoryPath }}</td>
|
|
||||||
<td class="text-right">{{ ticket.ticketTotalSize }}</td>
|
|
||||||
<td class="text-right">{{ ticket.ticketNumOfFiles}}</td>
|
|
||||||
<td class="text-center">{{ ticket.jiraLastUpdatedTime }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember-template-compiler.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/idpc.js")" type="text/javascript"></script>
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,65 +0,0 @@
|
|||||||
@(user: String, isInternal:Boolean, lineageType: String, lineageID: Integer, application: String, project: String, flow:String, piwikSiteId: Integer)
|
|
||||||
@main(user, "", isInternal, piwikSiteId) {
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/lineage.css")">
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/lineage-search.css")">
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("vendors/dagre-d3/css/tipsy.css")">
|
|
||||||
|
|
||||||
<div id="mainSplitter" ng-app="myModule" ng-controller="treeController">
|
|
||||||
<div id="graphSplitter" class="splitter-panel">
|
|
||||||
<div style="height:100%; width:100%;position:relative;min-height:800px; overflow:hidden;">
|
|
||||||
@if(lineageType != "chains" && lineageType != "azkaban" && lineageType != "appworx"){
|
|
||||||
<button id="uplevelbtn" title="next level of upstream" style="background-color: transparent;opacity: 0.5;" class="btn pull-left"><i class="fa fa-caret-square-o-left"></i></button>
|
|
||||||
<button id="downlevelbtn" title="next level of downstream" style="background-color: transparent;opacity: 0.5;" class="btn pull-left"><i class="fa fa-caret-square-o-right"></i></button>
|
|
||||||
}
|
|
||||||
|
|
||||||
<button id="chainselectorbtn" title="select the chains" ng-click="toggleChains()" style="display:none;background-color: transparent;opacity: 0.5;" class="btn pull-left"><i class="fa fa-random"></i></button>
|
|
||||||
<button id="rotationgraphbtn" title="rotate the graph" style="background-color: transparent;opacity: 0.5;" class="btn pull-left"><i class="fa fa-repeat"></i></button>
|
|
||||||
<h4 id="title"></h4>
|
|
||||||
<input id="lineageType" style="display: none;" value=@lineageType>
|
|
||||||
<input id="lineageID" style="display: none;" value=@lineageID>
|
|
||||||
<input id="application" style="display: none;" value=@application>
|
|
||||||
<input id="project" style="display: none;" value=@project>
|
|
||||||
<input id="flow" style="display: none;" value=@flow>
|
|
||||||
<div id="controls" class="search">
|
|
||||||
<input id="searchfield" title="Search" tabindex="1" class="search-field" type="text">
|
|
||||||
<i class="search-icon fa fa-search"></i>
|
|
||||||
<i id="search-clear" title="Clear search" tabindex="1" class="search-clear">✕<span class="description">Clear search</span></i>
|
|
||||||
<i title="Submit search" tabindex="1" style="display:none;" class="search-submit fa fa-arrow-right"><span class="description">Submit search</span></i>
|
|
||||||
</div>
|
|
||||||
<div id="loading" style="position:absolute;top:12px;left:500px;display: none;"><i class="fa fa-spinner spinning fa-4x"></i></div>
|
|
||||||
@if(lineageType == "chains") {
|
|
||||||
<div id='chainComboBox'></div>
|
|
||||||
}
|
|
||||||
<div id="canvas" tabindex="0" style="width: 100%;">
|
|
||||||
<svg id="svg-canvas" width="1024"></svg>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="nodeInfoSplitter">
|
|
||||||
<ul id="nodeInfoTab" class="nav nav-tabs">
|
|
||||||
<li id="datatabpage"><a id="datatablink" data-toggle="tab" href="#datanodestab">Data</a></li>
|
|
||||||
<li id="jobtabpage"><a id="jobtablink" data-toggle="tab" href="#jobnodestab">Job</a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="datanodestab" class="tab-pane">
|
|
||||||
<table id="lineagedatatable" class="table table-bordered">
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div id="jobnodestab" class="tab-pane">
|
|
||||||
<table id="lineagejobtable" class="table table-bordered">
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/lib/lodash.min.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/lib/d3.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/js/utility.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/js/dagre-d3.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/js/tipsy.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/dagre-d3/js/jquery.contextMenu.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/search.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/lineage.js")" type="text/javascript"></script>
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
@(csrfToken: String, isInternal:Boolean, piwikSiteId: Integer)
|
|
||||||
@main(null, csrfToken, isInternal, piwikSiteId) {
|
|
||||||
@if(play.mvc.Controller.flash().containsKey("error")) {
|
|
||||||
<div class="alert alert-danger alert-dismissible" role="alert">
|
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
||||||
@play.mvc.Controller.flash().get("error")
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
@if(play.mvc.Controller.flash().containsKey("success")) {
|
|
||||||
<div class="alert alert-success alert-dismissible" role="alert">
|
|
||||||
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
||||||
@play.mvc.Controller.flash().get("success")
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
<p style="text-align:center;"><img style="opacity:0.75;" src ="@routes.Assets.at("images/login_screen_bckgrd.png")"></p>
|
|
||||||
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
@ -1,118 +0,0 @@
|
|||||||
@(user: String, isInternal:Boolean, piwikSiteId: Integer)
|
|
||||||
@main(user, "", isInternal, piwikSiteId) {
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("vendors/jsondiffpatch-master/html.css")">
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("vendors/jsondiffpatch-master/annotated.css")">
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/scriptFinder.css")">
|
|
||||||
<div id="content">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<form class="form-inline">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="name">Name</label>
|
|
||||||
<input id="name" type="text" class="form-control" placeholder="Filter by Name"/>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script type="text/x-handlebars" id="schemas">
|
|
||||||
<div id="schemaView" class="container-fluid">
|
|
||||||
<div class="row-fluid">
|
|
||||||
<div class="span9">
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless first}}
|
|
||||||
<li class="previous">
|
|
||||||
{{#link-to 'page' previousPage}}
|
|
||||||
← Prev
|
|
||||||
{{/link-to}}
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ model.data.count }} scripts - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless last}}
|
|
||||||
<li class="next">
|
|
||||||
{{#link-to 'page' nextPage}}
|
|
||||||
Next →
|
|
||||||
{{/link-to}}
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table id="schematable" class="table table-bordered table-hover search-results">
|
|
||||||
<thead>
|
|
||||||
<tr class="results-header">
|
|
||||||
<th class="span3">Dataset Name</th>
|
|
||||||
<th class="span6">Dataset URN</th>
|
|
||||||
<th class="span3">Last Modified Date</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#each model.data.datasets as |dataset| }}
|
|
||||||
<tr {{action 'onSelect' dataset this}} class="schema-row">
|
|
||||||
<td class="dataset-info">
|
|
||||||
{{dataset.name}}
|
|
||||||
</td>
|
|
||||||
<td >{{ dataset.urn }}</td>
|
|
||||||
<td>{{ dataset.lastModified }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="span9">
|
|
||||||
{{outlet}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<ul id="historytabs" class="nav nav-tabs">
|
|
||||||
<li id="timelinepage"><a id="timelinetablink" data-toggle="tab" href="#timelinetab">Timeline</a></li>
|
|
||||||
<li id="diffviewpage"><a id="diffviewtablink" data-toggle="tab" href="#diffviewtab">Schema</a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="timelinetab" class="tab-pane">
|
|
||||||
<div id="timeline"></div>
|
|
||||||
</div>
|
|
||||||
<div id="diffviewtab" class="tab-pane">
|
|
||||||
<div class="col-xs-10">
|
|
||||||
<div class="control-group">
|
|
||||||
<div class="controls">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-1 text-right">
|
|
||||||
<label>Source</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3">
|
|
||||||
<select id="leftSchemaSelector" class="col-xs-8 form-control">
|
|
||||||
<option value="na">-- choose a date --</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-1 text-right">
|
|
||||||
<label>Target</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3">
|
|
||||||
<select id="rightSchemaSelector" class="col-xs-8 form-control">
|
|
||||||
<option value="na">-- choose a date --</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="schemaContent">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember-template-compiler.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/jsondiffpatch-master/diff_match_patch_uncompressed.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/jsondiffpatch-master/jsondiffpatch.min.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/jsondiffpatch-master/jsondiffpatch-formatters.min.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/highcharts.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/search.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/schemaHistory.js")" type="text/javascript"></script>
|
|
||||||
}
|
|
@ -1,128 +0,0 @@
|
|||||||
@(user: String, isInternal:Boolean, piwikSiteId: Integer)
|
|
||||||
@main(user, "", isInternal, piwikSiteId) {
|
|
||||||
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/scriptFinder.css")">
|
|
||||||
<div id="content">
|
|
||||||
<script type="text/x-handlebars" id="scripts">
|
|
||||||
<div id="scriptView" class="container-fluid">
|
|
||||||
<div class="row-fluid">
|
|
||||||
<div class="span9">
|
|
||||||
<div class="search-pagination">
|
|
||||||
<ul class="pager">
|
|
||||||
{{#unless first}}
|
|
||||||
<li class="previous">
|
|
||||||
{{#link-to 'page' previousPage}}
|
|
||||||
← Prev
|
|
||||||
{{/link-to}}
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
<li>
|
|
||||||
{{ model.data.count }} scripts - page {{ model.data.page }} of {{ model.data.totalPages }}
|
|
||||||
</li>
|
|
||||||
{{#unless last}}
|
|
||||||
<li class="next">
|
|
||||||
{{#link-to 'page' nextPage}}
|
|
||||||
Next →
|
|
||||||
{{/link-to}}
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<table id="scriptstable" class="table table-bordered table-hover search-results">
|
|
||||||
<thead>
|
|
||||||
<tr class="results-header">
|
|
||||||
<th class="span2">Script Name</th>
|
|
||||||
<th class="span2">Script Path</th>
|
|
||||||
<th class="span1">Type</th>
|
|
||||||
<th class="span2">Chain Name</th>
|
|
||||||
<th class="span2">Job Name</th>
|
|
||||||
<th class="span1">Committer Name</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr {{action 'onSelect' script this}} class="script-row">
|
|
||||||
<td>
|
|
||||||
<input id="scriptName" type="text" class="script-filter form-control" placeholder="Filter by Script Name"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input id="scriptPath" type="text" class="script-filter form-control" placeholder="Filter by Script Path"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input id="scriptType" type="text" class="script-filter form-control" placeholder="Filter by Script Type"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input id="chainName" type="text" class="script-filter form-control" placeholder="Filter by Chain Name"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input id="jobName" type="text" class="script-filter form-control" placeholder="Filter by Job Name"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input id="committerName" type="text" class="script-filter form-control" placeholder="Filter by Committer Name"/>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{{#each model.data.scripts as |script|}}
|
|
||||||
<tr {{action 'onSelect' script this}} class="script-row">
|
|
||||||
<td class="dataset-info">
|
|
||||||
<a href={{script.scriptUrl}}>
|
|
||||||
{{{script.scriptName}}}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td>{{ script.scriptPath }}</td>
|
|
||||||
<td>{{ script.scriptType }}</td>
|
|
||||||
<td>{{ script.chainName }}</td>
|
|
||||||
<td>{{ script.jobName }}</td>
|
|
||||||
<td>{{ script.committerName }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
|
||||||
<div id="runtime" config="runtime"></div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-12 col-sm-12 col-md-6">
|
|
||||||
<h4>Lineage</h4>
|
|
||||||
<table class="table table-bordered search-results">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Object Name</th>
|
|
||||||
<th>Source/Target</th>
|
|
||||||
<th>Storage Type</th>
|
|
||||||
<th>Operation</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{#each lineages as |lineage|}}
|
|
||||||
<tr ng-repeat="row in lineages">
|
|
||||||
<td>{{ lineage.abstractedObjectName }}</td>
|
|
||||||
<td>{{ lineage.sourceTargetType }}</td>
|
|
||||||
<td>{{ lineage.storageType }}</td>
|
|
||||||
<td>{{ lineage.operation }}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="span9">
|
|
||||||
{{outlet}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember-template-compiler.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/ember-2.6.2/ember.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("vendors/highcharts/highcharts.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/search.js")" type="text/javascript"></script>
|
|
||||||
<script src="@routes.Assets.at("javascripts/scriptFinder.js")" type="text/javascript"></script>
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user