diff --git a/app.py b/app.py
index a2154adc..0666c81d 100644
--- a/app.py
+++ b/app.py
@@ -19,7 +19,6 @@
from fileviewer.fileviewer import fileviewer_bp
from general.general import general_bp
from group_manager.group_manager import group_manager_bp
-from intake.intake import intake_bp
from monitor import Monitor
from open_search.open_search import open_search_bp
from research.research import research_bp
@@ -99,10 +98,6 @@ def load_admin_setting() -> Dict[str, Any]:
app.config['modules'].append(
{'name': 'Deposit', 'function': 'deposit_bp.index'}
)
-if app.config.get('INTAKE_ENABLED'):
- app.config['modules'].append(
- {'name': 'Intake', 'function': 'intake_bp.index'}
- )
if app.config.get('DATAREQUEST_ENABLED'):
app.config['modules'].append(
{'name': 'Datarequest', 'function': 'datarequest_bp.index'}
@@ -153,8 +148,6 @@ def load_admin_setting() -> Dict[str, Any]:
app.register_blueprint(deposit_bp, url_prefix='/deposit')
if app.config.get('OPEN_SEARCH_ENABLED'):
app.register_blueprint(open_search_bp, url_prefix='/open_search')
- if app.config.get('INTAKE_ENABLED'):
- app.register_blueprint(intake_bp, url_prefix='/intake')
if app.config.get('DATAREQUEST_ENABLED'):
app.register_blueprint(datarequest_bp, url_prefix='/datarequest/')
diff --git a/group_manager/templates/group_manager/index.html b/group_manager/templates/group_manager/index.html
index 25a2d57f..5b7843c5 100644
--- a/group_manager/templates/group_manager/index.html
+++ b/group_manager/templates/group_manager/index.html
@@ -107,15 +107,11 @@
diff --git a/intake/intake.py b/intake/intake.py
deleted file mode 100644
index 983765d6..00000000
--- a/intake/intake.py
+++ /dev/null
@@ -1,311 +0,0 @@
-#!/usr/bin/env python3
-
-__copyright__ = 'Copyright (c) 2021-2024, Utrecht University'
-__license__ = 'GPLv3, see LICENSE'
-
-import time
-from typing import Any, Dict
-
-from flask import (
- Blueprint,
- g,
- make_response,
- render_template,
- request,
- Response,
- session,
-)
-
-import api
-
-intake_bp = Blueprint('intake_bp', __name__,
- template_folder='templates',
- static_folder='static/intake',
- static_url_path='/assets')
-
-
-@intake_bp.route('/', methods=['GET'])
-def index() -> Response:
- study_id = request.args.get('studyID')
- study_folder = request.args.get('studyFolder')
- alert_nr = request.args.get('alertNr')
- if alert_nr is None or len(alert_nr) == 0:
- alert_nr = ''
-
- studies = api.call('intake_list_studies')['data']
-
- if study_id is None or len(study_id) == 0:
- try:
- study_id = session['study_id']
- except Exception:
- # find a study from available studies.
- for study in studies:
- # Only take a study that is permitted
- temp_permissions = get_intake_study_permissions(study)
- if temp_permissions['manager'] or temp_permissions['assistant']:
- study_id = study
- break
- # If not default study can be found - NO ACCESS
- if study_id is None or len(study_id) == 0:
- alert_nr = 100 # NO ACCESS
-
- # check whether user is part of the study-group but only of a study id has been found
- # if not, stop access
- qualified_study_id = ""
- if alert_nr != 100:
- permissions = get_intake_study_permissions(study_id)
-
- # determine whether group prefix is intake or grp-intake
- qualified_study_id = permissions['group_path'] + study_id
-
- if not (permissions['manager'] or permissions['assistant']):
- alert_nr = 100 # NO ACCESS
-
- if alert_nr == 100:
- permissions = {}
- intake_path = ''
- valid_folders = []
- datasets = []
- total_dataset_files = 0
- data_erroneous_files = []
- total_file_count = 0
- study_folder = ''
- full_path = ''
- study_title = ''
- else:
- # Store in current session for purpose when study_id is missing in requests
- session['study_id'] = study_id
-
- intake_path = '/' + g.irods.zone + '/home/' + qualified_study_id # permissions['group_path'] + study_id
-
- result = api.call('browse_collections', {'coll': intake_path,
- 'sort_on': 'name',
- 'sort_order': 'asc',
- 'offset': 0,
- 'limit': 1000,
- 'space': 'Space.INTAKE'})
-
- valid_folders = result['data']['items']
-
- coll = intake_path
- if study_folder:
- coll += '/' + study_folder
-
- datasets = api.call('intake_list_datasets', {"coll": coll})['data']
-
- # get the total of dataset files
- total_dataset_files = 0
- for dataset in datasets:
- total_dataset_files += dataset['objects']
-
- data_erroneous_files = api.call('intake_list_unrecognized_files', {"coll": coll})['data']
-
- total_file_count = api.call('intake_count_total_files', {"coll": coll})['data']
-
- study_title = study_id
- full_path = intake_path
- if study_folder:
- full_path += '/' + study_folder
- study_title += '/' + study_folder
- else:
- study_folder = ''
-
- return render_template('/intake/intake.html',
- activeModule='intake',
- permissions=permissions,
- studies=studies,
- intakePath=intake_path,
- alertNr=alert_nr,
- selectableScanFolders=valid_folders,
- dataSets=datasets,
- totalDatasetFiles=total_dataset_files,
- dataErroneousFiles=data_erroneous_files,
- totalErrorCount=len(data_erroneous_files),
- totalFileCount=total_file_count,
- study_id=study_id,
- qualified_study_id=qualified_study_id,
- study_folder=study_folder,
- full_path=full_path,
- title='Study ' + study_title)
-
-
-def get_intake_study_permissions(study_id: str) -> Dict[str, Any]:
- # Two types of groupnames 1) grp-intake- and 2) intake-
- group_path = 'grp-intake-'
- assistant_access = False
- if api.call('group_user_is_member',
- {'username': g.user, 'group_name': 'grp-intake-' + study_id})['data']:
- assistant_access = True
- elif api.call('group_user_is_member',
- {'username': g.user, 'group_name': 'intake-' + study_id})['data']:
- assistant_access = True
- group_path = 'intake-'
-
- return {'assistant': assistant_access,
- 'group_path': group_path,
- 'manager': api.call('group_user_is_member',
- {'username': g.user, 'group_name': 'grp-datamanager-' + study_id})['data']}
-
-
-@intake_bp.route('getDatasetDetailView', methods=['POST'])
-def get_dataset_detail_view() -> Response:
- path = request.form.get('path')
- tbl_id = request.form.get('tbl_id')
- dataset_id = request.form.get('datasetID')
-
- result = api.call('intake_dataset_get_details',
- {"coll": path, "dataset_id": dataset_id})
-
- path_items = result['data']['files']
-
- datasetErrors = result['data']['dataset_errors']
- datasetWarnings = result['data']['dataset_warnings']
- datasetComments = result['data']['comments']
-
- list_comments = []
- for comment in datasetComments:
- parts = comment.split(':')
- list_comments.append({'name': parts[0],
- 'time': time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(int(parts[1]))),
- 'comment': parts[2]})
- scan_data = result['data']['scanned'].split(':')
- scan_data[1] = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime(int(scan_data[1])))
-
- table_definition = render_template('intake/dataset_detail_view.html',
- path_nodes_ordered=sorted(path_items.keys()),
- pathItems=path_items,
- tbl_id=tbl_id,
- datasetPath=path,
- scannedByWhen=scan_data,
- datasetErrors=datasetErrors,
- datasetWarnings=datasetWarnings,
- datasetComments=list_comments,
- datasetID=dataset_id)
-
- return {'output': table_definition,
- 'hasError': False}
-
-
-@intake_bp.route('download', methods=['GET'])
-def export() -> Response:
- # Datamanager only!
- study_id = request.args.get('studyID')
-
- permissions = get_intake_study_permissions(study_id)
- if not permissions['manager']:
- content = ''
- output = make_response(content)
- size = 0
-
- output.headers['Content-Disposition'] = 'attachment; filename="no_access_to_study.csv"'
- output.headers['Content-Type'] = 'application/octet'
- output.headers['Content-Length'] = size
-
- return output
-
- result = api.call('intake_report_export_study_data', {'study_id': study_id})
-
- export_data = result['data']
-
- content = '"Study",'
- content += '"Wave",'
- content += '"ExpType",'
- content += '"Pseudo",'
- content += '"Version",'
- content += '"ToVaultDay",'
- content += '"ToVaultMonth",'
- content += '"ToVaultYear",'
- content += '"DatasetSize",'
- content += '"DatasetFiles"'
- content += "\r\n"
-
- for data_row in export_data:
- data = export_data[data_row]
- content += "'" + study_id + "',"
- content += "'" + data['wave'] + "',"
- content += "'" + data['experiment_type'] + "',"
- content += "'" + data['pseudocode'] + "',"
- content += "'" + data['version'] + "',"
- try:
- created = time.localtime(int(data['dataset_date_created']))
- content += "'" + time.strftime('%d', created) + "',"
- content += "'" + time.strftime('%m', created) + "',"
- content += "'" + time.strftime('%Y', created) + "',"
- except Exception:
- content += "'',"
- content += "'',"
- content += "'',"
-
- content += str(data['totalFileSize']) + "',"
- content += str(data['totalFiles']) + "',"
- content += "\r\n"
-
- output = make_response(content)
- size = len(content)
-
- output.headers['Content-Disposition'] = f'attachment; filename="{study_id}.csv"'
- output.headers['Content-Type'] = 'application/octet'
- output.headers['Content-Length'] = size
-
- return output
-
-
-# public function index($studyID=null)
-@intake_bp.route('reports')
-@intake_bp.route('/reports/')
-def reports() -> Response:
- access_denied = True
- study_id = request.args.get('studyID')
-
- studies = api.call('intake_list_studies')['data']
-
- if study_id is None or len(study_id) == 0:
- try:
- study_id = session['study_id']
- except Exception:
- # find a study from available studies.
- for study in studies:
- # Only take a study that is permitted
- temp_permissions = get_intake_study_permissions(study)
- if temp_permissions['manager']:
- study_id = study
- break
-
- # check whether user is part of the study-group.
- # if not, stop access
- permissions = get_intake_study_permissions(study_id)
- if permissions['manager']:
- access_denied = False
-
- intake_path = ''
- counts = {}
- aggregated_info = {}
- title_translate = {}
-
- if not access_denied:
- # Wat wordt hiermee gedaan dan??
- intake_path = '/' + g.irods.zone + '/home/grp-vault-' + study_id
-
- counts = api.call('intake_report_vault_dataset_counts_per_study', {'study_id': study_id})['data']
-
- aggregated_info = api.call('intake_report_vault_aggregated_info', {'study_id': study_id})['data']
-
- # Translation table for the frontend
- title_translate = {'totalDatasets': 'Total datasets',
- 'totalFiles': 'Total files',
- 'totalFileSize': 'Total file size',
- 'totalFileSizeMonthGrowth': 'File size growth in a month',
- 'datasetsMonthGrowth': 'Datasets growth in a month',
- 'distinctPseudoCodes': 'Pseudocodes'}
-
- return render_template('/intake/reports.html',
- access_denied=access_denied,
- activeModule='intake',
- studies=studies,
- study_id=study_id,
- studyFolder='',
- intakePath=intake_path,
- datasetTypeCounts=counts,
- aggregatedInfo=aggregated_info,
- title_translate=title_translate,
- title='VAULT: Study ' + study_id)
diff --git a/intake/static/intake/css/datatables.bootstrap.min.css b/intake/static/intake/css/datatables.bootstrap.min.css
deleted file mode 100644
index 14781d73..00000000
--- a/intake/static/intake/css/datatables.bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * angular-datatables - v0.4.0
- * https://github.com/l-lin/angular-datatables
- * License: MIT
- */
-
-div.dataTables_length label{font-weight:400;float:left;text-align:left}div.dataTables_length select{width:75px}div.dataTables_filter label{font-weight:400;float:right}div.dataTables_filter input{width:16em}div.dataTables_info{padding-top:8px}div.dataTables_paginate{float:right;margin:0}div.dataTables_paginate ul.pagination{margin:2px}table.table{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important}table.table thead .sorting,table.table thead .sorting_asc,table.table thead .sorting_asc_disabled,table.table thead .sorting_desc,table.table thead .sorting_desc_disabled{cursor:pointer}table.table thead .sorting:before{content:' ';position:relative;left:-5px}table.table thead .sorting_desc:before{content:"\25BE";padding-right:5px}table.table thead .sorting_asc:before{content:"\25B4";padding-right:5px}table.dataTable th:active{outline:0}.dataTables_wrapper .row{margin-top:20px}div.dataTables_scrollHead table{margin-bottom:0!important;border-bottom-left-radius:0;border-bottom-right-radius:0}div.dataTables_scrollHead table thead tr:last-child td:first-child,div.dataTables_scrollHead table thead tr:last-child th:first-child{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}div.dataTables_scrollBody table{border-top:0;margin-bottom:0!important}div.dataTables_scrollBody tbody tr:first-child td,div.dataTables_scrollBody tbody tr:first-child th,div.dataTables_scrollFoot table{border-top:0}table.DTTT_selectable tbody tr{cursor:pointer}div.DTTT .btn{color:#333!important}div.DTTT .btn:hover{text-decoration:none!important}ul.DTTT_dropdown.dropdown-menu{z-index:2003}ul.DTTT_dropdown.dropdown-menu a{color:#333!important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff!important}div.DTTT_collection_background{z-index:2002}div.DTTT_print_info.modal{height:150px;margin-top:-75px;text-align:center}div.DTTT_print_info h6{font-weight:400;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftFootWrapper table,div.DTFC_LeftHeadWrapper table,div.DTFC_RightFootWrapper table,div.DTFC_RightHeadWrapper table,table.DTFC_Cloned tr.even{background-color:#fff}div.DTFC_LeftHeadWrapper table,div.DTFC_RightHeadWrapper table{margin-bottom:0!important;border-top-right-radius:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child,div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}div.DTFC_LeftBodyWrapper table,div.DTFC_RightBodyWrapper table{border-top:0;margin-bottom:0!important}div.DTFC_LeftBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftFootWrapper table,div.DTFC_RightBodyWrapper tbody tr:first-child td,div.DTFC_RightBodyWrapper tbody tr:first-child th,div.DTFC_RightFootWrapper table{border-top:0}ul.ColVis_collection{width:auto!important}
\ No newline at end of file
diff --git a/intake/static/intake/css/intake.css b/intake/static/intake/css/intake.css
deleted file mode 100755
index 18294f98..00000000
--- a/intake/static/intake/css/intake.css
+++ /dev/null
@@ -1,83 +0,0 @@
-#dataset_detail_view {
- padding: 10px;
- background:#F0E68C;
-}
-.dropdown-menu {
- width:300px;
- padding:5px;
-}
-
-#select-study,#select-study-folder tbody tr {
- cursor:pointer;
-}
-table.table-outside-borders {
- border-style: solid;
- border-width: 1px;
- border-color: #c0c0c0;
-}
-table.tbl-fullwidth {
- width:100%;
-}
-td.details-control {
- background: url('../images/datatables/triangle_details_open.png') no-repeat center center;
- background-size: 20px 20px;
- width:20px;
- height:20px;
- cursor: pointer;
-}
-tr.shown td.details-control {
- background: url('../images/datatables/triangle_details_close.png') no-repeat center center;
- background-size: 20px 20px;
- width:20px;
- height:20px;
- cursor: pointer;
-}
-
-div.datasetstatus_frozen{
- background: url('../images/datatables/status_frozen.png') no-repeat center center;
- background-size: 20px 20px;
- width:20px;
- height:20px;
-}
-div.datasetstatus_locked{
- background: url('../images/datatables/status_locked.png') no-repeat center center;
- background-size: 20px 20px;
- width:20px;
- height:20px;
-}
-div.datasetstatus_scanned{
- background: url('../images/datatables/status_scanned.png') no-repeat center center;
- background-size: 20px 20px;
- width:20px;
- height:20px;
-}
-
-#datatable tbody tr.detailrow {
- cursor:pointer;
-}
-#datatable_unrecognised tbody tr {
- cursor:pointer;
-}
-
-.ellipseDivText {
- overflow:hidden;
- text-overflow-multiline:ellipsis;
-}
-
-.select-generic-iframe {
- height:350px; width:99%;
-}
-
-.w5px { width: 5px; }
-.w10px { width: 10px; }
-.w20px { width: 20px; }
-.w30px { width: 30px; }
-.w50px { width: 50px; }
-.w80px { width: 80px; }
-.w100px { width: 100px; }
-.w135px { width: 135px; }
-.w150px { width: 150px; }
-.w200px { width: 250px; }
-.w250px { width: 250px; }
-.w300px { width: 300px; }
-.w500px { width: 500px; }
diff --git a/intake/static/intake/css/jquery.dataTables.css b/intake/static/intake/css/jquery.dataTables.css
deleted file mode 100644
index 4e6fbe38..00000000
--- a/intake/static/intake/css/jquery.dataTables.css
+++ /dev/null
@@ -1,476 +0,0 @@
-/*
- * Table styles
- */
-table.dataTable {
- width: 100%;
- margin: 0 auto;
- clear: both;
- border-collapse: separate;
- border-spacing: 0;
- /*
- * Header and footer styles
- */
- /*
- * Body styles
- */
-}
-table.dataTable thead th,
-table.dataTable tfoot th {
- font-weight: bold;
-}
-table.dataTable thead th,
-table.dataTable thead td {
- padding: 10px 18px;
- border-bottom: 1px solid #111111;
-}
-table.dataTable thead th:active,
-table.dataTable thead td:active {
- outline: none;
-}
-table.dataTable tfoot th,
-table.dataTable tfoot td {
- padding: 10px 18px 6px 18px;
- border-top: 1px solid #111111;
-}
-table.dataTable thead .sorting_asc,
-table.dataTable thead .sorting_desc,
-table.dataTable thead .sorting {
- cursor: pointer;
- *cursor: hand;
-}
-table.dataTable thead .sorting {
- background: url("../images/sort_both.png") no-repeat center right;
-}
-table.dataTable thead .sorting_asc {
- background: url("../images/sort_asc.png") no-repeat center right;
-}
-table.dataTable thead .sorting_desc {
- background: url("../images/sort_desc.png") no-repeat center right;
-}
-table.dataTable thead .sorting_asc_disabled {
- background: url("../images/sort_asc_disabled.png") no-repeat center right;
-}
-table.dataTable thead .sorting_desc_disabled {
- background: url("../images/sort_desc_disabled.png") no-repeat center right;
-}
-table.dataTable tbody tr {
- background-color: white;
-}
-table.dataTable tbody tr.selected {
- background-color: #b0bed9;
-}
-table.dataTable tbody th,
-table.dataTable tbody td {
- padding: 8px 10px;
-}
-table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
- border-top: 1px solid #dddddd;
-}
-table.dataTable.row-border tbody tr:first-child th,
-table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
-table.dataTable.display tbody tr:first-child td {
- border-top: none;
-}
-table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
- border-top: 1px solid #dddddd;
- border-right: 1px solid #dddddd;
-}
-table.dataTable.cell-border tbody tr th:first-child,
-table.dataTable.cell-border tbody tr td:first-child {
- border-left: 1px solid #dddddd;
-}
-table.dataTable.cell-border tbody tr:first-child th,
-table.dataTable.cell-border tbody tr:first-child td {
- border-top: none;
-}
-table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
- background-color: #f9f9f9;
-}
-table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
- background-color: #abb9d3;
-}
-table.dataTable.hover tbody tr:hover,
-table.dataTable.hover tbody tr.odd:hover,
-table.dataTable.hover tbody tr.even:hover, table.dataTable.display tbody tr:hover,
-table.dataTable.display tbody tr.odd:hover,
-table.dataTable.display tbody tr.even:hover {
- background-color: whitesmoke;
-}
-table.dataTable.hover tbody tr:hover.selected,
-table.dataTable.hover tbody tr.odd:hover.selected,
-table.dataTable.hover tbody tr.even:hover.selected, table.dataTable.display tbody tr:hover.selected,
-table.dataTable.display tbody tr.odd:hover.selected,
-table.dataTable.display tbody tr.even:hover.selected {
- background-color: #a9b7d1;
-}
-table.dataTable.order-column tbody tr > .sorting_1,
-table.dataTable.order-column tbody tr > .sorting_2,
-table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
-table.dataTable.display tbody tr > .sorting_2,
-table.dataTable.display tbody tr > .sorting_3 {
- background-color: #f9f9f9;
-}
-table.dataTable.order-column tbody tr.selected > .sorting_1,
-table.dataTable.order-column tbody tr.selected > .sorting_2,
-table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
-table.dataTable.display tbody tr.selected > .sorting_2,
-table.dataTable.display tbody tr.selected > .sorting_3 {
- background-color: #acbad4;
-}
-table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
- background-color: #f1f1f1;
-}
-table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
- background-color: #f3f3f3;
-}
-table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
- background-color: whitesmoke;
-}
-table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
- background-color: #a6b3cd;
-}
-table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
- background-color: #a7b5ce;
-}
-table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
- background-color: #a9b6d0;
-}
-table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
- background-color: #f9f9f9;
-}
-table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
- background-color: #fbfbfb;
-}
-table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
- background-color: #fdfdfd;
-}
-table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
- background-color: #acbad4;
-}
-table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
- background-color: #adbbd6;
-}
-table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
- background-color: #afbdd8;
-}
-table.dataTable.display tbody tr:hover > .sorting_1,
-table.dataTable.display tbody tr.odd:hover > .sorting_1,
-table.dataTable.display tbody tr.even:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1,
-table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_1,
-table.dataTable.order-column.hover tbody tr.even:hover > .sorting_1 {
- background-color: #eaeaea;
-}
-table.dataTable.display tbody tr:hover > .sorting_2,
-table.dataTable.display tbody tr.odd:hover > .sorting_2,
-table.dataTable.display tbody tr.even:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2,
-table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_2,
-table.dataTable.order-column.hover tbody tr.even:hover > .sorting_2 {
- background-color: #ebebeb;
-}
-table.dataTable.display tbody tr:hover > .sorting_3,
-table.dataTable.display tbody tr.odd:hover > .sorting_3,
-table.dataTable.display tbody tr.even:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3,
-table.dataTable.order-column.hover tbody tr.odd:hover > .sorting_3,
-table.dataTable.order-column.hover tbody tr.even:hover > .sorting_3 {
- background-color: #eeeeee;
-}
-table.dataTable.display tbody tr:hover.selected > .sorting_1,
-table.dataTable.display tbody tr.odd:hover.selected > .sorting_1,
-table.dataTable.display tbody tr.even:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1,
-table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_1,
-table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_1 {
- background-color: #a1aec7;
-}
-table.dataTable.display tbody tr:hover.selected > .sorting_2,
-table.dataTable.display tbody tr.odd:hover.selected > .sorting_2,
-table.dataTable.display tbody tr.even:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2,
-table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_2,
-table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_2 {
- background-color: #a2afc8;
-}
-table.dataTable.display tbody tr:hover.selected > .sorting_3,
-table.dataTable.display tbody tr.odd:hover.selected > .sorting_3,
-table.dataTable.display tbody tr.even:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3,
-table.dataTable.order-column.hover tbody tr.odd:hover.selected > .sorting_3,
-table.dataTable.order-column.hover tbody tr.even:hover.selected > .sorting_3 {
- background-color: #a4b2cb;
-}
-table.dataTable.no-footer {
- border-bottom: 1px solid #111111;
-}
-table.dataTable.nowrap th, table.dataTable.nowrap td {
- white-space: nowrap;
-}
-table.dataTable.compact thead th,
-table.dataTable.compact thead td {
- padding: 5px 9px;
-}
-table.dataTable.compact tfoot th,
-table.dataTable.compact tfoot td {
- padding: 5px 9px 3px 9px;
-}
-table.dataTable.compact tbody th,
-table.dataTable.compact tbody td {
- padding: 4px 5px;
-}
-table.dataTable th.dt-left,
-table.dataTable td.dt-left {
- text-align: left;
-}
-table.dataTable th.dt-center,
-table.dataTable td.dt-center,
-table.dataTable td.dataTables_empty {
- text-align: center;
-}
-table.dataTable th.dt-right,
-table.dataTable td.dt-right {
- text-align: right;
-}
-table.dataTable th.dt-justify,
-table.dataTable td.dt-justify {
- text-align: justify;
-}
-table.dataTable th.dt-nowrap,
-table.dataTable td.dt-nowrap {
- white-space: nowrap;
-}
-table.dataTable thead th.dt-head-left,
-table.dataTable thead td.dt-head-left,
-table.dataTable tfoot th.dt-head-left,
-table.dataTable tfoot td.dt-head-left {
- text-align: left;
-}
-table.dataTable thead th.dt-head-center,
-table.dataTable thead td.dt-head-center,
-table.dataTable tfoot th.dt-head-center,
-table.dataTable tfoot td.dt-head-center {
- text-align: center;
-}
-table.dataTable thead th.dt-head-right,
-table.dataTable thead td.dt-head-right,
-table.dataTable tfoot th.dt-head-right,
-table.dataTable tfoot td.dt-head-right {
- text-align: right;
-}
-table.dataTable thead th.dt-head-justify,
-table.dataTable thead td.dt-head-justify,
-table.dataTable tfoot th.dt-head-justify,
-table.dataTable tfoot td.dt-head-justify {
- text-align: justify;
-}
-table.dataTable thead th.dt-head-nowrap,
-table.dataTable thead td.dt-head-nowrap,
-table.dataTable tfoot th.dt-head-nowrap,
-table.dataTable tfoot td.dt-head-nowrap {
- white-space: nowrap;
-}
-table.dataTable tbody th.dt-body-left,
-table.dataTable tbody td.dt-body-left {
- text-align: left;
-}
-table.dataTable tbody th.dt-body-center,
-table.dataTable tbody td.dt-body-center {
- text-align: center;
-}
-table.dataTable tbody th.dt-body-right,
-table.dataTable tbody td.dt-body-right {
- text-align: right;
-}
-table.dataTable tbody th.dt-body-justify,
-table.dataTable tbody td.dt-body-justify {
- text-align: justify;
-}
-table.dataTable tbody th.dt-body-nowrap,
-table.dataTable tbody td.dt-body-nowrap {
- white-space: nowrap;
-}
-
-table.dataTable,
-table.dataTable th,
-table.dataTable td {
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-}
-
-/*
- * Control feature layout
- */
-.dataTables_wrapper {
- position: relative;
- clear: both;
- *zoom: 1;
- zoom: 1;
-}
-.dataTables_wrapper .dataTables_length {
- float: left;
-}
-.dataTables_wrapper .dataTables_filter {
- float: right;
- text-align: right;
-}
-.dataTables_wrapper .dataTables_filter input {
- margin-left: 0.5em;
-}
-.dataTables_wrapper .dataTables_info {
- clear: both;
- float: left;
- padding-top: 0.755em;
-}
-.dataTables_wrapper .dataTables_paginate {
- float: right;
- text-align: right;
- padding-top: 0.25em;
-}
-.dataTables_wrapper .dataTables_paginate .paginate_button {
- box-sizing: border-box;
- display: inline-block;
- min-width: 1.5em;
- padding: 0.5em 1em;
- margin-left: 2px;
- text-align: center;
- text-decoration: none !important;
- cursor: pointer;
- *cursor: hand;
- color: #333333 !important;
- border: 1px solid transparent;
-}
-.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
- color: #333333 !important;
- border: 1px solid #cacaca;
- background-color: white;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, gainsboro));
- /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, white 0%, gainsboro 100%);
- /* Chrome10+,Safari5.1+ */
- background: -moz-linear-gradient(top, white 0%, gainsboro 100%);
- /* FF3.6+ */
- background: -ms-linear-gradient(top, white 0%, gainsboro 100%);
- /* IE10+ */
- background: -o-linear-gradient(top, white 0%, gainsboro 100%);
- /* Opera 11.10+ */
- background: linear-gradient(to bottom, white 0%, gainsboro 100%);
- /* W3C */
-}
-.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
- cursor: default;
- color: #666 !important;
- border: 1px solid transparent;
- background: transparent;
- box-shadow: none;
-}
-.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
- color: white !important;
- border: 1px solid #111111;
- background-color: #585858;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111111));
- /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #585858 0%, #111111 100%);
- /* Chrome10+,Safari5.1+ */
- background: -moz-linear-gradient(top, #585858 0%, #111111 100%);
- /* FF3.6+ */
- background: -ms-linear-gradient(top, #585858 0%, #111111 100%);
- /* IE10+ */
- background: -o-linear-gradient(top, #585858 0%, #111111 100%);
- /* Opera 11.10+ */
- background: linear-gradient(to bottom, #585858 0%, #111111 100%);
- /* W3C */
-}
-.dataTables_wrapper .dataTables_paginate .paginate_button:active {
- outline: none;
- background-color: #2b2b2b;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
- /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
- /* Chrome10+,Safari5.1+ */
- background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
- /* FF3.6+ */
- background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
- /* IE10+ */
- background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
- /* Opera 11.10+ */
- background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
- /* W3C */
- box-shadow: inset 0 0 3px #111;
-}
-.dataTables_wrapper .dataTables_processing {
- position: absolute;
- top: 50%;
- left: 50%;
- width: 100%;
- height: 40px;
- margin-left: -50%;
- margin-top: -25px;
- padding-top: 20px;
- text-align: center;
- font-size: 1.2em;
- background-color: white;
- background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
- /* Chrome,Safari4+ */
- background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
- /* Chrome10+,Safari5.1+ */
- background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
- /* FF3.6+ */
- background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
- /* IE10+ */
- background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
- /* Opera 11.10+ */
- background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
- /* W3C */
-}
-.dataTables_wrapper .dataTables_length,
-.dataTables_wrapper .dataTables_filter,
-.dataTables_wrapper .dataTables_info,
-.dataTables_wrapper .dataTables_processing,
-.dataTables_wrapper .dataTables_paginate {
- color: #333333;
-}
-.dataTables_wrapper .dataTables_scroll {
- clear: both;
-}
-.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
- *margin-top: -1px;
- -webkit-overflow-scrolling: touch;
-}
-.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
-.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
- height: 0;
- overflow: hidden;
- margin: 0 !important;
- padding: 0 !important;
-}
-.dataTables_wrapper.no-footer .dataTables_scrollBody {
- border-bottom: 1px solid #111111;
-}
-.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
-.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
- border-bottom: none;
-}
-.dataTables_wrapper:after {
- visibility: hidden;
- display: block;
- content: "";
- clear: both;
- height: 0;
-}
-
-@media screen and (max-width: 767px) {
- .dataTables_wrapper .dataTables_info,
- .dataTables_wrapper .dataTables_paginate {
- float: none;
- text-align: center;
- }
- .dataTables_wrapper .dataTables_paginate {
- margin-top: 0.5em;
- }
-}
-@media screen and (max-width: 640px) {
- .dataTables_wrapper .dataTables_length,
- .dataTables_wrapper .dataTables_filter {
- float: none;
- text-align: center;
- }
- .dataTables_wrapper .dataTables_filter {
- margin-top: 0.5em;
- }
-}
diff --git a/intake/static/intake/css/treetable/jquery.treetable.css b/intake/static/intake/css/treetable/jquery.treetable.css
deleted file mode 100644
index 4e95bfd3..00000000
--- a/intake/static/intake/css/treetable/jquery.treetable.css
+++ /dev/null
@@ -1,28 +0,0 @@
-table.treetable span.indenter {
- display: inline-block;
- margin: 0;
- padding: 0;
- text-align: right;
-
- /* Disable text selection of nodes (for better D&D UX) */
- user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -o-user-select: none;
- -webkit-user-select: none;
-
- /* Force content-box box model for indenter (Bootstrap compatibility) */
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-
- width: 19px;
-}
-
-table.treetable span.indenter a {
- background-position: left center;
- background-repeat: no-repeat;
- display: inline-block;
- text-decoration: none;
- width: 19px;
-}
diff --git a/intake/static/intake/css/treetable/jquery.treetable.theme.default.css b/intake/static/intake/css/treetable/jquery.treetable.theme.default.css
deleted file mode 100644
index a01d6361..00000000
--- a/intake/static/intake/css/treetable/jquery.treetable.theme.default.css
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
-table.treetable {
- border: 1px solid #888;
- border-collapse: collapse;
- font-size: .8em;
- line-height: 1;
- margin: .6em 0 1.8em 0;
- width: 100%;
-}
-
-table.treetable caption {
- font-size: .9em;
- font-weight: bold;
- margin-bottom: .2em;
-}
-
-table.treetable thead {
- background: #aaa url(data:image/png;base64,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) repeat-x top left;
- font-size: .9em;
-}
-
-table.treetable thead tr th {
- border: 1px solid #888;
- font-weight: normal;
- padding: .3em 1em .1em 1em;
- text-align: left;
-}
-
-table.treetable tbody tr td {
- cursor: default;
- padding: .3em 1em;
-}
-
-table.treetable span {
- background-position: center left;
- background-repeat: no-repeat;
- padding: .2em 0 .2em 1.5em;
-}
-*/
-
-table.treetable span.file {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADoSURBVBgZBcExblNBGAbA2ceegTRBuIKOgiihSZNTcC5LUHAihNJR0kGKCDcYJY6D3/77MdOinTvzAgCw8ysThIvn/VojIyMjIyPP+bS1sUQIV2s95pBDDvmbP/mdkft83tpYguZq5Jh/OeaYh+yzy8hTHvNlaxNNczm+la9OTlar1UdA/+C2A4trRCnD3jS8BB1obq2Gk6GU6QbQAS4BUaYSQAf4bhhKKTFdAzrAOwAxEUAH+KEM01SY3gM6wBsEAQB0gJ+maZoC3gI6iPYaAIBJsiRmHU0AALOeFC3aK2cWAACUXe7+AwO0lc9eTHYTAAAAAElFTkSuQmCC);
-}
-
-table.treetable span.folder {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLxZO7ihRBFIa/6u0ZW7GHBUV0UQQTZzd3QdhMQxOfwMRXEANBMNQX0MzAzFAwEzHwARbNFDdwEd31Mj3X7a6uOr9BtzNjYjKBJ6nicP7v3KqcJFaxhBVtZUAK8OHlld2st7Xl3DJPVONP+zEUV4HqL5UDYHr5xvuQAjgl/Qs7TzvOOVAjxjlC+ePSwe6DfbVegLVuT4r14eTr6zvA8xSAoBLzx6pvj4l+DZIezuVkG9fY2H7YRQIMZIBwycmzH1/s3F8AapfIPNF3kQk7+kw9PWBy+IZOdg5Ug3mkAATy/t0usovzGeCUWTjCz0B+Sj0ekfdvkZ3abBv+U4GaCtJ1iEm6ANQJ6fEzrG/engcKw/wXQvEKxSEKQxRGKE7Izt+DSiwBJMUSm71rguMYhQKrBygOIRStf4TiFFRBvbRGKiQLWP29yRSHKBTtfdBmHs0BUpgvtgF4yRFR+NUKi0XZcYjCeCG2smkzLAHkbRBmP0/Uk26O5YnUActBp1GsAI+S5nRJJJal5K1aAMrq0d6Tm9uI6zjyf75dAe6tx/SsWeD//o2/Ab6IH3/h25pOAAAAAElFTkSuQmCC);
-}
-
-
-
-table.treetable tr.collapsed span.indenter a {
- background-image: url(data:image/png;base64,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);
-}
-
-table.treetable tr.expanded span.indenter a {
- background-image: url(data:image/png;base64,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);
-}
-
-/*
-
-table.treetable tr.branch {
- background-color: #f9f9f9;
-}
-
-table.treetable tr.selected {
- background-color: #3875d7;
- color: #fff;
-}
-
-table.treetable tr span.indenter a {
- outline: none; */
-/* Expander shows outline after upgrading to 3.0 (#141) *//*
-
-}
-
-table.treetable tr.collapsed.selected span.indenter a {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAFpJREFUeNpi/P//PwMlgHHADWD4//8/NtyAQxwD45KAAQdKDfj//////fgMIsYAZIMw1DKREFwODAwM/4kNRKq64AADA4MjFDOQ6gKyY4HodMA49PMCxQYABgAVYHsjyZ1x7QAAAABJRU5ErkJggg==);
-}
-
-table.treetable tr.expanded.selected span.indenter a {
- background-image: url(data:image/png;base64,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);
-}
-
-table.treetable tr.accept {
- background-color: #a3bce4;
- color: #fff
-}
-
-table.treetable tr.collapsed.accept td span.indenter a {
- background-image: url(data:image/x-png;base64,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);
-}
-
-table.treetable tr.expanded.accept td span.indenter a {
- background-image: url(data:image/x-png;base64,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);
-}
-*/
diff --git a/intake/static/intake/images/Thumbs.db b/intake/static/intake/images/Thumbs.db
deleted file mode 100644
index 514fd18d..00000000
Binary files a/intake/static/intake/images/Thumbs.db and /dev/null differ
diff --git a/intake/static/intake/images/ajax-loader.gif b/intake/static/intake/images/ajax-loader.gif
deleted file mode 100644
index 3c2f7c05..00000000
Binary files a/intake/static/intake/images/ajax-loader.gif and /dev/null differ
diff --git a/intake/static/intake/images/back_disabled.png b/intake/static/intake/images/back_disabled.png
deleted file mode 100644
index 881de797..00000000
Binary files a/intake/static/intake/images/back_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/back_enabled.png b/intake/static/intake/images/back_enabled.png
deleted file mode 100644
index c608682b..00000000
Binary files a/intake/static/intake/images/back_enabled.png and /dev/null differ
diff --git a/intake/static/intake/images/back_enabled_hover.png b/intake/static/intake/images/back_enabled_hover.png
deleted file mode 100644
index d300f106..00000000
Binary files a/intake/static/intake/images/back_enabled_hover.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/Sorting icons.psd b/intake/static/intake/images/datatables/Sorting icons.psd
deleted file mode 100644
index 53b2e068..00000000
Binary files a/intake/static/intake/images/datatables/Sorting icons.psd and /dev/null differ
diff --git a/intake/static/intake/images/datatables/back_disabled.png b/intake/static/intake/images/datatables/back_disabled.png
deleted file mode 100644
index 881de797..00000000
Binary files a/intake/static/intake/images/datatables/back_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/back_enabled.png b/intake/static/intake/images/datatables/back_enabled.png
deleted file mode 100644
index c608682b..00000000
Binary files a/intake/static/intake/images/datatables/back_enabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/back_enabled_hover.png b/intake/static/intake/images/datatables/back_enabled_hover.png
deleted file mode 100644
index d300f106..00000000
Binary files a/intake/static/intake/images/datatables/back_enabled_hover.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/details_close.gif b/intake/static/intake/images/datatables/details_close.gif
deleted file mode 100644
index d91c37af..00000000
Binary files a/intake/static/intake/images/datatables/details_close.gif and /dev/null differ
diff --git a/intake/static/intake/images/datatables/details_open.gif b/intake/static/intake/images/datatables/details_open.gif
deleted file mode 100644
index 6d1d2134..00000000
Binary files a/intake/static/intake/images/datatables/details_open.gif and /dev/null differ
diff --git a/intake/static/intake/images/datatables/favicon.ico b/intake/static/intake/images/datatables/favicon.ico
deleted file mode 100644
index 6eeaa2a0..00000000
Binary files a/intake/static/intake/images/datatables/favicon.ico and /dev/null differ
diff --git a/intake/static/intake/images/datatables/forward_disabled.png b/intake/static/intake/images/datatables/forward_disabled.png
deleted file mode 100644
index 6a6ded7d..00000000
Binary files a/intake/static/intake/images/datatables/forward_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/forward_enabled.png b/intake/static/intake/images/datatables/forward_enabled.png
deleted file mode 100644
index a4e6b538..00000000
Binary files a/intake/static/intake/images/datatables/forward_enabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/forward_enabled_hover.png b/intake/static/intake/images/datatables/forward_enabled_hover.png
deleted file mode 100644
index fc46c5eb..00000000
Binary files a/intake/static/intake/images/datatables/forward_enabled_hover.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/old_details_close.png b/intake/static/intake/images/datatables/old_details_close.png
deleted file mode 100644
index 9c7d6982..00000000
Binary files a/intake/static/intake/images/datatables/old_details_close.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/old_details_open.png b/intake/static/intake/images/datatables/old_details_open.png
deleted file mode 100644
index c0edf448..00000000
Binary files a/intake/static/intake/images/datatables/old_details_open.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/sort_asc.png b/intake/static/intake/images/datatables/sort_asc.png
deleted file mode 100644
index a88d7975..00000000
Binary files a/intake/static/intake/images/datatables/sort_asc.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/sort_asc_disabled.png b/intake/static/intake/images/datatables/sort_asc_disabled.png
deleted file mode 100644
index 4e144cf0..00000000
Binary files a/intake/static/intake/images/datatables/sort_asc_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/sort_both.png b/intake/static/intake/images/datatables/sort_both.png
deleted file mode 100644
index 18670406..00000000
Binary files a/intake/static/intake/images/datatables/sort_both.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/sort_desc.png b/intake/static/intake/images/datatables/sort_desc.png
deleted file mode 100644
index def071ed..00000000
Binary files a/intake/static/intake/images/datatables/sort_desc.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/sort_desc_disabled.png b/intake/static/intake/images/datatables/sort_desc_disabled.png
deleted file mode 100644
index 7824973c..00000000
Binary files a/intake/static/intake/images/datatables/sort_desc_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/status_frozen.png b/intake/static/intake/images/datatables/status_frozen.png
deleted file mode 100644
index 9fb35e65..00000000
Binary files a/intake/static/intake/images/datatables/status_frozen.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/status_locked.png b/intake/static/intake/images/datatables/status_locked.png
deleted file mode 100644
index 168aa1a4..00000000
Binary files a/intake/static/intake/images/datatables/status_locked.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/status_scanned.png b/intake/static/intake/images/datatables/status_scanned.png
deleted file mode 100644
index db88283f..00000000
Binary files a/intake/static/intake/images/datatables/status_scanned.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/triangle_details_close.png b/intake/static/intake/images/datatables/triangle_details_close.png
deleted file mode 100644
index f7fbc84f..00000000
Binary files a/intake/static/intake/images/datatables/triangle_details_close.png and /dev/null differ
diff --git a/intake/static/intake/images/datatables/triangle_details_open.png b/intake/static/intake/images/datatables/triangle_details_open.png
deleted file mode 100644
index b54d94ad..00000000
Binary files a/intake/static/intake/images/datatables/triangle_details_open.png and /dev/null differ
diff --git a/intake/static/intake/images/forward_disabled.png b/intake/static/intake/images/forward_disabled.png
deleted file mode 100644
index 6a6ded7d..00000000
Binary files a/intake/static/intake/images/forward_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/forward_enabled.png b/intake/static/intake/images/forward_enabled.png
deleted file mode 100644
index a4e6b538..00000000
Binary files a/intake/static/intake/images/forward_enabled.png and /dev/null differ
diff --git a/intake/static/intake/images/forward_enabled_hover.png b/intake/static/intake/images/forward_enabled_hover.png
deleted file mode 100644
index fc46c5eb..00000000
Binary files a/intake/static/intake/images/forward_enabled_hover.png and /dev/null differ
diff --git a/intake/static/intake/images/sort_asc.png b/intake/static/intake/images/sort_asc.png
deleted file mode 100644
index a88d7975..00000000
Binary files a/intake/static/intake/images/sort_asc.png and /dev/null differ
diff --git a/intake/static/intake/images/sort_asc_disabled.png b/intake/static/intake/images/sort_asc_disabled.png
deleted file mode 100644
index 4e144cf0..00000000
Binary files a/intake/static/intake/images/sort_asc_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/sort_both.png b/intake/static/intake/images/sort_both.png
deleted file mode 100644
index 18670406..00000000
Binary files a/intake/static/intake/images/sort_both.png and /dev/null differ
diff --git a/intake/static/intake/images/sort_desc.png b/intake/static/intake/images/sort_desc.png
deleted file mode 100644
index def071ed..00000000
Binary files a/intake/static/intake/images/sort_desc.png and /dev/null differ
diff --git a/intake/static/intake/images/sort_desc_disabled.png b/intake/static/intake/images/sort_desc_disabled.png
deleted file mode 100644
index 7824973c..00000000
Binary files a/intake/static/intake/images/sort_desc_disabled.png and /dev/null differ
diff --git a/intake/static/intake/images/uu-logo-footer.svg b/intake/static/intake/images/uu-logo-footer.svg
deleted file mode 100644
index d2509486..00000000
--- a/intake/static/intake/images/uu-logo-footer.svg
+++ /dev/null
@@ -1,788 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/intake/static/intake/images/uu-logo.svg b/intake/static/intake/images/uu-logo.svg
deleted file mode 100644
index 2aaa38e2..00000000
--- a/intake/static/intake/images/uu-logo.svg
+++ /dev/null
@@ -1,329 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/intake/static/intake/images/yoda/yoda-kleur.png b/intake/static/intake/images/yoda/yoda-kleur.png
deleted file mode 100644
index 9d5352ee..00000000
Binary files a/intake/static/intake/images/yoda/yoda-kleur.png and /dev/null differ
diff --git a/intake/static/intake/images/yoda/yoda-man.png b/intake/static/intake/images/yoda/yoda-man.png
deleted file mode 100644
index c2fc97c5..00000000
Binary files a/intake/static/intake/images/yoda/yoda-man.png and /dev/null differ
diff --git a/intake/static/intake/scripts/controllers/intake.js b/intake/static/intake/scripts/controllers/intake.js
deleted file mode 100755
index 45e31be2..00000000
--- a/intake/static/intake/scripts/controllers/intake.js
+++ /dev/null
@@ -1,383 +0,0 @@
-$(function() {
- var tableUnrecognised = $('#datatable_unrecognised').DataTable({
- "language": {
- "sEmptyTable": "No data found",
- "sInfo": "Total files:
_TOTAL_ ",
- "sInfoEmpty": "No files present",
- "sLoadingRecords": "Loading...",
- "sProcessing": "Processing...",
- "sSearch": "Search",
- "sZeroRecords": "No data found",
- "oPaginate": {
- "sFirst": "First",
- "sLast": "Last",
- "sNext": "Next",
- "sPrevious": "Previous"
- }
- },
- "bSort": [],
- "columns": [
- { "data": "date" },
- { "data": "name" },
- { "data": "pseudo" },
- { "data": "type" },
- { "data": "wave" },
- { "data": "version" },
- { "data": "status" },
- { "data": "creator" }
- ],
- "iDisplayLength": 50,
- "bPaginate": false,
- "bLengthChange": false,
- "bFilter": false,
- "order": [[ 6, "desc" ]],
- "sDom": "<'row'<'col-sm-6'T><'col-sm-6'f>r>t<'row'<'col-sm-6'i><'col-sm-6'p>>",
- "sPaginationType": "bootstrap",
- "fnInitComplete": function(oSettings, json) {
- //$('.dataTables_info span').text($('#totalSignups').text());
- }
- });
-
- $('#btn-start-scan').on('click', function (){
- var study_id = $('#studyID').val();
- var study_folder = $("#studyFolder").val();
- var collection_to_scan = Yoda.basePath + '/' + study_id;
- if (study_folder) {
- collection_to_scan += "/" + study_folder;
- }
- $(this).prop('disabled', true).addClass('disabled');
- inProgressStart('Scanning in progress...');
- Yoda.call('intake_scan_for_datasets',
- {coll: collection_to_scan }).then((data) => {
- console.log(data);
- if (data.proc_status=='OK') {
- reload_page_with_alert('5');
- }
- else {
- reload_page_with_alert('6')
- }
- })
- });
-
- // datamanager only
- $('#btn-lock').on('click', function (){
- var datasets = [],
- intake_path = Yoda.basePath + '/' + $('#studyID').val();
- inProgressStart('Locking in progress...');
-
- $('.cbDataSet').each(function(){
- if($(this).prop('checked')){
- datasets.push($(this).parent().parent().data('dataset-id'));
- }
- });
- handleLockingAndAlerts(intake_path, datasets);
- });
-
- // datamanager only
- $('#btn-unlock').on('click', function (){
- var datasets = [],
- intake_path = Yoda.basePath + '/' + $('#studyID').val();
- inProgressStart('Locking in progress...');
-
- $('.cbDataSet').each(function(){
- if($(this).prop('checked')){
- datasets.push($(this).parent().parent().data('dataset-id'));
- }
- });
- handleUnlockingAndAlerts(intake_path, datasets);
- });
-
- async function handleLockingAndAlerts(intake_path, dataset_ids)
- {
- const batchSize = 50;
- for (let i = 0; i < dataset_ids.length; i += batchSize) {
- const batch = dataset_ids.slice(i, i + batchSize).toString();
- let result = await Yoda.call('intake_lock_dataset', {"path": intake_path, "dataset_ids": batch });
- console.log(result);
- if (result.proc_status!='OK') {
- alert(result.error_msg);
- reload_page_with_alert('2');
- return;
- }
-Â }
- reload_page_with_alert('1');
- }
-
- async function handleUnlockingAndAlerts(intake_path, dataset_ids)
- {
- const batchSize = 50;
- for (let i = 0; i < dataset_ids.length; i += batchSize) {
- const batch = dataset_ids.slice(i, i + batchSize).toString();
- let result = await Yoda.call('intake_unlock_dataset', {"path": intake_path, "dataset_ids": batch });
- console.log(result);
- if (result.proc_status!='OK') {
- alert(result.error_msg);
- reload_page_with_alert('4');
- return;
- }
-Â }
- reload_page_with_alert('3');
- }
-
- function addCommentToDataset(studyId, table, datasetId, comment)
- {
- if(comment.length==0){
- alert('Please enter a comment first.');
- }
- else{
- Yoda.call('intake_dataset_add_comment',
- {"study_id": studyId,
- "dataset_id": datasetId,
- "comment": comment}).then((data) => {
- console.log(data);
- $('tr:last', table).before(
- '
' + $('').text(data.user).html()
- + '
' + $('').text(data.timestamp).html()
- + '
' + $('').text(data.comment).html()
- + '
'
- );
- $('input[name="comments"]', table).val('');
- })
-
- return;
-
- $.post(
- Yoda.baseUrl + ['intake','saveDatasetComment'].join('/'),
- { "studyID": study,
- "datasetID":datasetId,
- "comment": comment,
- "csrf_yoda": csrf_key
- },
- function (data) {
- if(!data.hasError){
- console.log(data);
- $('tr:last', table).before(
- '
' + $('').text(data.output.user).html()
- + '
' + $('').text(data.output.timestamp).html()
- + '
' + $('').text(data.output.comment).html()
- + '
'
- );
- $('input[name="comments"]', table).val('');
- }
- else{
- alert('Your comment could not be processed. Please try again.');
- }
- }
- );
- }
- }
-
- $('#datatable').on('keypress', 'input[name="comments"]', function(e) {
- if (e.which == 13) {
- var study = $('#studyID').val();
- var table = $(this).closest('table');
- var datasetId = table.data('dataset-id');
- var comment = $(this).val();
-
- addCommentToDataset(study, table, datasetId, comment);
- return false;
- }
- });
-
- $('#datatable').on('click', '.btn-add-comment', function(e) {
- var study = $('#studyID').val();
- var table = $(this).closest('table');
- var datasetId = table.data('dataset-id');
- var comment = $('input[name="comments"]', table).val();
-
- addCommentToDataset(study, table, datasetId, comment);
- });
-
- // hiding of alert panel
- $("[data-hide]").on("click", function(){
- $(this).closest("." + $(this).attr("data-hide")).hide();
- });
-
- $('#datatable_unrecognised tbody').on('click', 'tr', function () {
- var bodyText = $(this).data('path');
- if(bodyText) {
- informDialog($(this).data('error'), bodyText);
- }
- });
-
- $('#select-study tr').on('click', function (){
- document.location = $(this).data('study-url');
- });
- $('#select-study-folder tr').on('click', function (){
- document.location = $(this).data('study-folder-url');
- });
-
- msg = ''
- // Alert Handling after reload
- if (alertNr=='1') {
- msg = 'Successfully locked the selected dataset(s).';
- alertType = 'success';
- }
- else if (alertNr=='2') {
- msg = 'There was a problem locking the selected dataset(s).';
- alertType = 'danger';
- }
- else if (alertNr=='3') {
- msg = 'Successfully unlocked the selected dataset(s).';
- alertType = 'success';
- }
- else if (alertNr=='4') {
- msg = 'There was a problem unlocking the selected dataset(s)';
- alertType = 'danger';
- }
- else if (alertNr=='5') {
- msg = 'Successfully scanned for datasets.';
- alertType = 'success';
- }
- else if (alertNr=='6') {
- msg = 'There was a problem during the scanning process.';
- alertType = 'danger';
- }
-
- if (msg.length) {
- $('#messages').html('
' + msg + '
');
- }
-
- console.log($("#studyID").val())
- console.log($("#studyFolder").val());
- console.log(window.location.origin);
- console.log(window.location.pathname);
-
-});
-
-function reload_page_with_alert(alertNr) {
- console.log($("#studyID").val())
- console.log($("#studyFolder").val());
- var studyID = $("#studyID").val(),
- studyFolder= $("#studyFolder").val();
-
- // bring back to study-id alone without group qualification
- parts = studyID.split('-');
- // take last only to get to study
- params = '?studyID=' + parts[parts.length-1]
- if (studyFolder) {
- params += '&studyFolder=' + studyFolder;
- }
- window.location.replace(window.location.origin + window.location.pathname + params + '&alertNr=' + alertNr);
-}
-
-function datasetRowClickForDetails(obj, mainTable)
-{
- var tr = obj.closest('tr');
- var row = mainTable.row( tr );
-
- if ( row.child.isShown() ) {
- // This row is already open - close it
- row.child.hide();
- tr.removeClass('shown');
- }
- else {
- // Open this row
- var tbl_id = tr.data('row-id'),
- url = Yoda.baseUrl + ['intake','getDatasetDetailView'].join('/'),
- csrf_key = $('input[name="csrf_yoda"]').val();
-
- //return;
- //
- // "csrf_token": Yoda.csrf.tokenValue
- url = 'getDatasetDetailView'
- $.post(
- url,
- { tbl_id: tbl_id,
- path: tr.data('ref-path'),
- studyID: $('#studyID').val(),
- datasetID: tr.data('dataset-id'),
-// csrf_yoda: csrf_key,
- "csrf_token": Yoda.csrf.tokenValue
- },
- function (data) {
- if(!data.hasError){
- html_tree = data.output;
-
- row.child( html_tree ).show();
-
- $("#tree"+tbl_id).treetable({
- expandable: true
- });
- $("#tree"+tbl_id).treetable("expandAll");
-
- tr.addClass('shown');
- }
- }
- );
- }
-}
-
-function inProgressStart(progressText)
-{
- $('.progress_indicator h1').text(progressText);
- $('.progress_indicator').show();
-}
-
-function inProgressEnd()
-{
- $('.progress_indicator').hide();
-}
-
-function informationPanel(alertClass, message)
-{
- $('.alert').removeClass('alert-danger').removeClass('alert-success').addClass('alert-'+alertClass);
- $('.alert .info_text').text(message);
- $('.alert').show();
-}
-
-function informDialog(title, bodytext)
-{
- var modal = $('#dialog-ok');
-
- $('.modal-header h3', modal).text(title);
- $('.modal-body .item', modal).text(bodytext);
-
- modal.modal('show');
-}
-
-function modalDialog(title, url)
-{
- var modal = $('#select-generic-modal'),
- iframeDocument = $('iframe', modal).get(0).contentWindow.document;
-
- $('.modal-header h3', modal).text(title);
-
- iframeDocument.location.href = url;
-
- $('.modal-body iframe', modal).show();
- $('#select-generic-modal').modal('show');
-}
-
-async function get_studies()
-{
- let result = await Yoda.call('intake_list_studies', {});
- console.log(result);
-}
-
-async function get_studies_dm()
-{
- let result = await Yoda.call('intake_list_dm_studies', {});
- console.log(result);
-}
-
-async function get_datasets(coll)
-{
- let result = await Yoda.call('intake_list_datasets',
- {
- coll: Yoda.basePath + '/' + 'grp-intake-initial'
- })
-
- console.log(result);
-}
-
-
-async function get_unrecognized_files(coll)
-{
- let result = await Yoda.call('intake_list_unrecognized_files',
- {
- coll: Yoda.basePath + '/' + 'grp-intake-initial'
- })
-
- console.log(result);
-}
diff --git a/intake/static/intake/scripts/controllers/intake_tree.js b/intake/static/intake/scripts/controllers/intake_tree.js
deleted file mode 100644
index 8a702f2b..00000000
--- a/intake/static/intake/scripts/controllers/intake_tree.js
+++ /dev/null
@@ -1,66 +0,0 @@
-$(function() {
- $("#youthdata-intake-tree").treetable({
- expandable: true
- });
-
- $('#btn-meta-data').on('click', function (){
- var path = $('#helper').text();
- getMetaDataOnPath( path );
- });
-
- $("#youthdata-intake-tree tbody").on("mousedown", "tr", function() {
-
- var strNode = $(this).attr('data-tt-id');
-
- $('#helper').text( getFullPathOnNode(strNode) );
-
- });
-});
-
-function getMetaDataOnPath(strPath){
- var url = 'https://localhost/uu/yodaportal/intake/getMetaData';
-
- $.post(
- url,
- {path:strPath},
- function (data) {
- if(!data.hasError){
- var strMeta='';
- if(data.allMetaData.length){
- for(i=0;i
'+data.allMetaData[i]['value']+'\n';
- }
- alert(strMeta);
- }
- }
- else{
- alert('error');
- }
- }
- );
-}
-
-function getFullPathOnNode(strNode){
- var arNodes = strNode.split(".")
- ,strPath=''
- ,home_dir = $('#home-dir').text()
- ,nodeId='';
-
- for(i=1; i0){
- nodeId += '.'+ arNodes[n];
- }else{
- nodeId = arNodes[n]
- }
- }
-
- var tableRow = $("#youthdata-intake-tree tbody tr").filter(function() {
- return $(this).attr('data-tt-id') == nodeId;
- });
-
- strPath += '/' + tableRow.attr('data-target');
- }
- return home_dir + strPath;
-}
diff --git a/intake/static/intake/scripts/controllers/main.js b/intake/static/intake/scripts/controllers/main.js
deleted file mode 100644
index 7878b114..00000000
--- a/intake/static/intake/scripts/controllers/main.js
+++ /dev/null
@@ -1,15 +0,0 @@
-$(function() {
- $( ".datepicker" ).datepicker();
-
- // Modal - delete
- $('#confirm-delete').on('show.bs.modal', function(e) {
- var item = $(e.relatedTarget).attr('value');
- $(this).find('.item').text(item);
-
- var url = $(e.relatedTarget).attr('data-url');
- if (url)
- {
- $(this).find('.btn-ok').attr('href', url);
- }
- });
-});
diff --git a/intake/static/intake/scripts/controllers/reports.js b/intake/static/intake/scripts/controllers/reports.js
deleted file mode 100755
index 003c8bd7..00000000
--- a/intake/static/intake/scripts/controllers/reports.js
+++ /dev/null
@@ -1,9 +0,0 @@
-$(function() {
- $('#select-study tr').on('click', function (){
- document.location = $(this).data('study-url');
- });
-
- $('#export-data').on('click', function (){
- alert('This is not implemented yet.');
- });
-});
diff --git a/intake/static/intake/scripts/dataTables.bootstrap.js b/intake/static/intake/scripts/dataTables.bootstrap.js
deleted file mode 100644
index e7781df6..00000000
--- a/intake/static/intake/scripts/dataTables.bootstrap.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/*! DataTables Bootstrap 3 integration
- * ©2011-2014 SpryMedia Ltd - datatables.net/license
- */
-
-/**
- * DataTables integration for Bootstrap 3. This requires Bootstrap 3 and
- * DataTables 1.10 or newer.
- *
- * This file sets the defaults and adds options to DataTables to style its
- * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap
- * for further information.
- */
-(function(window, document, undefined){
-
-var factory = function( $, DataTable ) {
-"use strict";
-
-
-/* Set the defaults for DataTables initialisation */
-$.extend( true, DataTable.defaults, {
- dom:
- "<'row'<'col-sm-6'l><'col-sm-6'f>>" +
- "<'row'<'col-sm-12'tr>>" +
- "<'row'<'col-sm-6'i><'col-sm-6'p>>",
- renderer: 'bootstrap'
-} );
-
-
-/* Default class modification */
-$.extend( DataTable.ext.classes, {
- sWrapper: "dataTables_wrapper dt-bootstrap",
- sFilterInput: "form-control input-sm",
- sLengthSelect: "form-control input-sm"
-} );
-
-
-/* Bootstrap paging button renderer */
-DataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {
- var api = new DataTable.Api( settings );
- var classes = settings.oClasses;
- var lang = settings.oLanguage.oPaginate;
- var btnDisplay, btnClass;
-
- var attach = function( container, buttons ) {
- var i, ien, node, button;
- var clickHandler = function ( e ) {
- e.preventDefault();
- if ( !$(e.currentTarget).hasClass('disabled') ) {
- api.page( e.data.action ).draw( false );
- }
- };
-
- for ( i=0, ien=buttons.length ; i 0 ?
- '' : ' disabled');
- break;
-
- case 'previous':
- btnDisplay = lang.sPrevious;
- btnClass = button + (page > 0 ?
- '' : ' disabled');
- break;
-
- case 'next':
- btnDisplay = lang.sNext;
- btnClass = button + (page < pages-1 ?
- '' : ' disabled');
- break;
-
- case 'last':
- btnDisplay = lang.sLast;
- btnClass = button + (page < pages-1 ?
- '' : ' disabled');
- break;
-
- default:
- btnDisplay = button + 1;
- btnClass = page === button ?
- 'active' : '';
- break;
- }
-
- if ( btnDisplay ) {
- node = $('', {
- 'class': classes.sPageButton+' '+btnClass,
- 'aria-controls': settings.sTableId,
- 'tabindex': settings.iTabIndex,
- 'id': idx === 0 && typeof button === 'string' ?
- settings.sTableId +'_'+ button :
- null
- } )
- .append( $('', {
- 'href': '#'
- } )
- .html( btnDisplay )
- )
- .appendTo( container );
-
- settings.oApi._fnBindAction(
- node, {action: button}, clickHandler
- );
- }
- }
- }
- };
-
- attach(
- $(host).empty().html('').children('ul'),
- buttons
- );
-};
-
-
-/*
- * TableTools Bootstrap compatibility
- * Required TableTools 2.1+
- */
-if ( DataTable.TableTools ) {
- // Set the classes that TableTools uses to something suitable for Bootstrap
- $.extend( true, DataTable.TableTools.classes, {
- "container": "DTTT btn-group",
- "buttons": {
- "normal": "btn btn-default",
- "disabled": "disabled"
- },
- "collection": {
- "container": "DTTT_dropdown dropdown-menu",
- "buttons": {
- "normal": "",
- "disabled": "disabled"
- }
- },
- "print": {
- "info": "DTTT_print_info"
- },
- "select": {
- "row": "active"
- }
- } );
-
- // Have the collection use a bootstrap compatible drop down
- $.extend( true, DataTable.TableTools.DEFAULTS.oTags, {
- "collection": {
- "container": "ul",
- "button": "li",
- "liner": "a"
- }
- } );
-}
-
-}; // /factory
-
-
-// Define as an AMD module if possible
-if ( typeof define === 'function' && define.amd ) {
- define( ['jquery', 'datatables'], factory );
-}
-else if ( typeof exports === 'object' ) {
- // Node/CommonJS
- factory( require('jquery'), require('datatables') );
-}
-else if ( jQuery ) {
- // Otherwise simply initialise as normal, stopping multiple evaluation
- factory( jQuery, jQuery.fn.dataTable );
-}
-
-
-})(window, document);
diff --git a/intake/static/intake/scripts/dataTables.bootstrapPagination-3.js b/intake/static/intake/scripts/dataTables.bootstrapPagination-3.js
deleted file mode 100644
index 52dabcf6..00000000
--- a/intake/static/intake/scripts/dataTables.bootstrapPagination-3.js
+++ /dev/null
@@ -1,117 +0,0 @@
-/* API method to get paging information */
-$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
-{
- return {
- "iStart": oSettings._iDisplayStart,
- "iEnd": oSettings.fnDisplayEnd(),
- "iLength": oSettings._iDisplayLength,
- "iTotal": oSettings.fnRecordsTotal(),
- "iFilteredTotal": oSettings.fnRecordsDisplay(),
- "iPage": oSettings._iDisplayLength === -1 ?
- 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
- "iTotalPages": oSettings._iDisplayLength === -1 ?
- 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
- };
-}
-
-/* Bootstrap style pagination control */
-$.extend( $.fn.dataTableExt.oPagination, {
- "bootstrap": {
- "fnInit": function( oSettings, nPaging, fnDraw ) {
- var oLang = oSettings.oLanguage.oPaginate;
- var fnClickHandler = function ( e ) {
- e.preventDefault();
- if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
- fnDraw( oSettings );
- }
- };
-
- $(nPaging).append(
- ''
- );
- var els = $('a', nPaging);
- $(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
- $(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
- },
-
- "fnUpdate": function ( oSettings, fnDraw ) {
- var iListLength = 5;
- var oPaging = oSettings.oInstance.fnPagingInfo();
- var an = oSettings.aanFeatures.p;
- var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
-
- if ( oPaging.iTotalPages < iListLength) {
- iStart = 1;
- iEnd = oPaging.iTotalPages;
- }
- else if ( oPaging.iPage <= iHalf ) {
- iStart = 1;
- iEnd = iListLength;
- } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
- iStart = oPaging.iTotalPages - iListLength + 1;
- iEnd = oPaging.iTotalPages;
- } else {
- iStart = oPaging.iPage - iHalf + 1;
- iEnd = iStart + iListLength - 1;
- }
-
- for ( i=0, iLen=an.length ; i'+j+' ')
- .insertBefore( $('li:last', an[i])[0] )
- .bind('click', function (e) {
- e.preventDefault();
- oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
- fnDraw( oSettings );
- } );
- }
-
- // Add / remove disabled classes from the static elements
- if ( oPaging.iPage === 0 ) {
- $('li:first', an[i]).addClass('disabled');
- } else {
- $('li:first', an[i]).removeClass('disabled');
- }
-
- if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
- $('li:last', an[i]).addClass('disabled');
- } else {
- $('li:last', an[i]).removeClass('disabled');
- }
- }
- }
- }
-} );
-
-$(function(){
- $('.datatable').each(function(){
- var datatable = $(this);
- // SEARCH - Add the placeholder for Search and Turn this into in-line formcontrol
- var search_input = datatable.closest('.dataTables_wrapper').find('div[id$=_filter] input');
- search_input.attr('placeholder', 'Search')
- search_input.addClass('form-control input-small')
- search_input.css('width', '250px')
-
- // SEARCH CLEAR - Use an Icon
- var clear_input = datatable.closest('.dataTables_wrapper').find('div[id$=_filter] a');
- clear_input.html(' ')
- clear_input.css('margin-left', '5px')
-
- // LENGTH - Inline-Form control
- var length_sel = datatable.closest('.dataTables_wrapper').find('div[id$=_length] select');
- length_sel.addClass('form-control input-small')
- length_sel.css('width', '75px')
-
- // LENGTH - Info adjust location
- var length_sel = datatable.closest('.dataTables_wrapper').find('div[id$=_info]');
- length_sel.css('margin-top', '18px')
- });
-});
diff --git a/intake/static/intake/scripts/datatables/intake_overview.js b/intake/static/intake/scripts/datatables/intake_overview.js
deleted file mode 100644
index dddf6824..00000000
--- a/intake/static/intake/scripts/datatables/intake_overview.js
+++ /dev/null
@@ -1,153 +0,0 @@
-$(document).ready(function() {
- var mainTable = $('#datatable').DataTable({
- "stateSave":true,
- "language": {
- "sEmptyTable": "No data found",
- "sInfo": "Total datasets: _TOTAL_ ",
- "sInfoEmpty": "No datasets present",
- "sLoadingRecords": "Loading...",
- "sProcessing": "Processing...",
- "sSearch": "Search",
- "sZeroRecords": "No data found",
- "oPaginate": {
- "sFirst": "First",
- "sLast": "Last",
- "sNext": "Next",
- "sPrevious": "Previous"
- }
- },
- "bSort": [],
- "columns": [
- { "data": "user"},
- {
- "data": null,
- "orderable": false,
- "defaultContent": ' '
- },
- {
- "className": 'details-control',
- "orderable": false,
- "data": null,
- "defaultContent": ''
- },
- { "data": "date" },
- { "data": "pseudo" },
- { "data": "type" },
- { "data": "wave" },
- { "data": "version" },
- { "data": "file_count" },
- { "data": "minfo" },
- { "data": "comment" },
- { "data": "status" },
- { "data": "creator" }
- ],
- "iDisplayLength": 50,
- "bPaginate": false,
- "bLengthChange": false,
- "bFilter": false,
- "columnDefs": [
- { "visible": false, "targets": 0 },
- { "type": "alt-string", "targets": 3 }
- ],
- "drawCallback": function ( settings ) {
- var api = this.api();
- var rows = api.rows( ).nodes(); //{page:'current'}
- var last=null;
-
- api.column(0).data().each( function ( group, i ) {
- if ( last !== group ) {
- groupname = '
Scanned datasets ';
- chbtext = '';
- if(group=='LOCKED'){
- groupname= '
Submitted for transportation to vault - can be undone ';
- chbtext = ' ';
- }
- if(group=='FROZEN'){
- groupname='
Frozen for transportation to vault - cannot be undone ';
- }
- //$(rows).eq( i ).before(
- // '' + chbtext + '' + groupname + ' '
- //);
-
- last = group;
- }
- });
-
- // Required as every time page changes, this effect was lost.
- $('.cbDataSet').on('click', function (event){
- event.stopPropagation();
- handleVaultButtonStatus();
- });
-
- },
- "order": [[ 3, "desc" ]],
- "sDom": "<'row'<'col-sm-6'T><'col-sm-6'f>r>t<'row'<'col-sm-6'i><'col-sm-6'p>>",
- "sPaginationType": "bootstrap",
- "fnInitComplete": function(oSettings, json) {
- //$('.dataTables_info span').text($('#totalSignups').text());
- }
- });
-
- $('#datatable tbody tr .cbDataSet').each(function(){
- if($(this).parent().parent().data('error-count')){
- $(this).parent().html('');
- }
- });
-
- // remove the checkboxes from columns that hold frozen datasets
- $('tr[data-target="FROZEN"] .cbDataSet').parent().html('');
-
-
- $('#datatable tbody').on('click', 'tr', function () {
- datasetRowClickForDetails($(this), mainTable);
- });
-
- // 1) prevent opening of dataset details when clicking on row.
- // 2) enable lock/unlock buttons as to make the relation between the checkboxes and buttons more evident
- $('.cbDataSet').on('click', function (event){
- event.stopPropagation();
- handleVaultButtonStatus();
- });
-
- // 1) check all checkboxes belonging to the group
- // 2) lock/unlock buttons as to make the relation between the checkboxes and buttons more evident
- $('#datatable tbody tr .group').on('click', function (){
- $('#datatable tbody tr[data-target="'+$(this).data('target')+'"] .cbDataSet').prop('checked',$(this).prop('checked'));
- handleVaultButtonStatus();
- });
-
- $('.control-all-cbDataSets').on('click', function (){
- $('.cbDataSet').prop('checked',$(this).prop('checked'));
- handleVaultButtonStatus();
- });
-
- // Initialize buttons
- $('#btn-lock').prop('disabled', true).addClass('disabled');
- $('#btn-unlock').prop('disabled', true).addClass('disabled');
-} );
-
-function handleVaultButtonStatus()
-{
- // if no checkbox selected disable the buttons
- var anyChecked=false;
- $('.cbDataSet').each(function(){
- if($(this).prop('checked')){
- anyChecked=true;
- return false;
- }
- });
-
- if(anyChecked){
- //$('#btn-lock').prop('disabled', false);
-// $('#btn-lock').prop('disabled', false).removeClass('btn-default').removeClass('disabled').addClass('btn-primary');
-// $('#btn-unlock').prop('disabled', false).removeClass('btn-default').removeClass('disabled').addClass('btn-warning');
- $('#btn-lock').prop('disabled', false).addClass('btn-info').removeClass('disabled'); //.removeClass('btn-default').addClass('btn-primary');
- $('#btn-unlock').prop('disabled', false).addClass('btn-warning').removeClass('disabled'); //.removeClass('btn-default').addClass('btn-warning');
- }
- else{
- // $('#btn-lock').prop('disabled', true).removeClass('btn-primary').addClass('disabled').addClass('btn-default');
- // $('#btn-unlock').prop('disabled', true).removeClass('btn-warning').addClass('disabled').addClass('btn-default');
- $('#btn-lock').prop('disabled', true).removeClass('btn-info').addClass('disabled'); //.removeClass('btn-primary').addClass('btn-default');
- $('#btn-unlock').prop('disabled', true).removeClass('btn-warning').addClass('disabled');// .removeClass('btn-warning').addClass('btn-default');
- }
-}
diff --git a/intake/static/intake/scripts/datatables/intake_overview_assistant.js b/intake/static/intake/scripts/datatables/intake_overview_assistant.js
deleted file mode 100644
index 8c6457b0..00000000
--- a/intake/static/intake/scripts/datatables/intake_overview_assistant.js
+++ /dev/null
@@ -1,84 +0,0 @@
-$(document).ready(function() {
- var mainTable = $('#datatable').DataTable({
- "stateSave":true,
- "language": {
- "sEmptyTable": "No data found",
- "sInfo": "Total datasets: _TOTAL_ ",
- "sInfoEmpty": "No datasets present",
- "sLoadingRecords": "Loading...",
- "sProcessing": "Processing...",
- "sSearch": "Search",
- "sZeroRecords": "No data found",
- "oPaginate": {
- "sFirst": "First",
- "sLast": "Last",
- "sNext": "Next",
- "sPrevious": "Previous"
- }
- },
- "bSort": [],
- "columns": [
- { "data": "user"},
- {
- "className": 'details-control',
- "orderable": false,
- "data": null,
- "defaultContent": ''
- },
- { "data": "date" },
- { "data": "pseudo" },
- { "data": "type" },
- { "data": "wave" },
- { "data": "version" },
- { "data": "file_count" },
- { "data": "minfo" },
- { "data": "comment" },
- { "data": "status" },
- { "data": "creator" }
- ],
- "iDisplayLength": 50,
- "bPaginate": false,
- "bLengthChange": false,
- "bFilter": false,
- "columnDefs": [
- { "visible": false, "targets": 0 },
- { "type": "alt-string", "targets": 2 }
- ],
- "drawCallback": function ( settings ) {
- var api = this.api();
- var rows = api.rows( ).nodes(); //{page:'current'}
- var last=null;
-
- api.column(0).data().each( function ( group, i ) {
- if ( last !== group ) {
- groupname = '
Scanned datasets ';
- if(group=='LOCKED'){
- groupname= '
Submitted for transportation to vault - can be undone ';
- }
- if(group=='FROZEN'){
- groupname='
Frozen for transportation to vault - cannot be undone ';
- }
- //$(rows).eq( i ).before(
- // '' + ' ' + groupname + ' '
- //);
-
- last = group;
- }
- });
- },
- "order": [[ 2, "desc" ]],
- "sDom": "<'row'<'col-sm-6'T><'col-sm-6'f>r>t<'row'<'col-sm-6'i><'col-sm-6'p>>",
- "sPaginationType": "bootstrap",
- "fnInitComplete": function(oSettings, json) {
- //$('.dataTables_info span').text($('#totalSignups').text());
- }
- });
-
- $('#datatable tbody').on('click', 'tr', function () {
- datasetRowClickForDetails($(this), mainTable);
- });
- // prevent opening of dataset details when clicking on row.
- $('.cbDataSet').on('click', function (event){
- event.stopPropagation();
- });
-} );
diff --git a/intake/static/intake/scripts/datatables/plugin_sort_on_image.js b/intake/static/intake/scripts/datatables/plugin_sort_on_image.js
deleted file mode 100644
index 1624ddfb..00000000
--- a/intake/static/intake/scripts/datatables/plugin_sort_on_image.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-This plugin is derived from http://cdn.datatables.net/plug-ins/1.10.6/sorting/alt-string.js
-It makes sorting on the title of an html element possible.
-In this case the div's that reside in the cells of a table column.
- */
-
-jQuery.extend( jQuery.fn.dataTableExt.oSort, {
- "alt-string-pre": function ( a ) {
- return a.match(/title="(.*?)"/)[1].toLowerCase();
- },
-
- "alt-string-asc": function( a, b ) {
- return ((a < b) ? -1 : ((a > b) ? 1 : 0));
- },
-
- "alt-string-desc": function(a,b) {
- return ((a < b) ? 1 : ((a > b) ? -1 : 0));
- }
-});
diff --git a/intake/static/intake/scripts/jquery.dataTables.min.js b/intake/static/intake/scripts/jquery.dataTables.min.js
deleted file mode 100644
index 2c64e9ce..00000000
--- a/intake/static/intake/scripts/jquery.dataTables.min.js
+++ /dev/null
@@ -1,158 +0,0 @@
-/*! DataTables 1.10.5
- * ©2008-2015 SpryMedia Ltd - datatables.net/license
- */
-(function(Ea,P,k){var O=function(h){function V(a){var b,c,e={};h.each(a,function(d){if((b=d.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=d.replace(b[0],b[2].toLowerCase()),e[c]=d,"o"===b[1]&&V(a[d])});a._hungarianMap=e}function H(a,b,c){a._hungarianMap||V(a);var e;h.each(b,function(d){e=a._hungarianMap[d];if(e!==k&&(c||b[e]===k))"o"===e.charAt(0)?(b[e]||(b[e]={}),h.extend(!0,b[e],b[d]),H(a[e],b[e],c)):b[e]=b[d]})}function O(a){var b=o.defaults.oLanguage,c=a.sZeroRecords;
-!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&E(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&E(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&db(a)}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");
-A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");if(a=a.aoSearchCols)for(var b=0,c=a.length;b").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("
").css({position:"absolute",top:1,left:1,width:100,
-overflow:"scroll"}).append(h('
').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function hb(a,b,c,e,d,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;e!==d;)a.hasOwnProperty(e)&&(g=j?b(g,a[e],e,a):a[e],j=!0,e+=f);return g}function Fa(a,b){var c=o.defaults.column,e=a.aoColumns.length,c=h.extend({},o.models.oColumn,c,{nTh:b?b:P.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
-"",aDataSort:c.aDataSort?c.aDataSort:[e],mData:c.mData?c.mData:e,idx:e});a.aoColumns.push(c);c=a.aoPreSearchCols;c[e]=h.extend({},o.models.oSearch,c[e]);ka(a,e,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],e=a.oClasses,d=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=d.attr("width")||null;var f=(d.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),H(o.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),
-c.className&&!c.sClass&&(c.sClass=c.className),h.extend(b,c),E(b,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&(b.aDataSort=[c.iDataSort]),E(b,c,"aDataSort"));var g=b.mData,j=W(g),i=b.mRender?W(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var e=j(a,b,k,c);return i&&b?i(e,b,a,c):e};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=
-!0);a.oFeatures.bSort||(b.bSortable=!1,d.addClass(e.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=e.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=e.sSortableAsc,b.sSortingClassJUI=e.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=e.sSortableDesc,b.sSortingClassJUI=e.sSortJUIDescAllowed):(b.sSortingClass=e.sSortable,b.sSortingClassJUI=e.sSortJUI)}function X(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;
-Ga(a);for(var c=0,e=b.length;cp[f])e(l.length+p[f],m);else if("string"===typeof p[f]){j=0;for(i=l.length;jb&&a[d]--; -1!=e&&c===k&&a.splice(e,1)}function ca(a,b,c,e){var d=a.aoData[b],f,g=function(c,f){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=y(a,b,f,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===d.src)d._aData=na(a,d,e,e===k?k:d._aData).data;else{var j=d.anCells;if(j)if(e!==k)g(j[e],e);else{c=0;for(f=j.length;c ").appendTo(g));b=0;for(c=l.length;btr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(m.sHeaderTH);
-h(j).find(">tr>th, >tr>td").addClass(m.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,m=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!kb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:m;for(j=j?0:g;j ",{"class":d?e[0]:""}).append(h(" ",{valign:"top",colSpan:aa(a),"class":a.oClasses.sRowEmpty}).html(c))[0];w(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],La(a),g,m,i]);w(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],La(a),g,m,i]);e=h(a.nTBody);e.children().detach();e.append(h(b));w(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=
-!1}}function N(a,b){var c=a.oFeatures,e=c.bFilter;c.bSort&&lb(a);e?fa(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;M(a);a._drawHold=!1}function mb(a){var b=a.oClasses,c=h(a.nTable),c=h("
").insertBefore(c),e=a.oFeatures,d=h("
",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=d[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,m,l,p,n=0;n ")[0];m=f[n+1];if("'"==m||'"'==m){l="";for(p=2;f[n+p]!=m;)l+=f[n+p],p++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(m=l.split("."),i.id=m[0].substr(1,m[0].length-1),i.className=m[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;n+=p}d.append(i);d=h(i)}else if(">"==j)d=d.parent();else if("l"==j&&e.bPaginate&&e.bLengthChange)g=nb(a);else if("f"==j&&e.bFilter)g=ob(a);else if("r"==j&&e.bProcessing)g=pb(a);else if("t"==j)g=qb(a);else if("i"==
-j&&e.bInfo)g=rb(a);else if("p"==j&&e.bPaginate)g=sb(a);else if(0!==o.ext.feature.length){i=o.ext.feature;p=0;for(m=i.length;p ',j=e.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("
",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h(" ").append(j)),f=function(){var b=!this.value?"":this.value;b!=d.sSearch&&(fa(a,{sSearch:b,bRegex:d.bRegex,
-bSmart:d.bSmart,bCaseInsensitive:d.bCaseInsensitive}),a._iDisplayStart=0,M(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===B(a)?400:0,i=h("input",b).val(d.sSearch).attr("placeholder",e.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?ua(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==P.activeElement&&i.val(d.sSearch)}catch(f){}});return b[0]}function fa(a,b,c){var e=
-a.oPreviousSearch,d=a.aoPreSearchCols,f=function(a){e.sSearch=a.sSearch;e.bRegex=a.bRegex;e.bSmart=a.bSmart;e.bCaseInsensitive=a.bCaseInsensitive};Ha(a);if("ssp"!=B(a)){vb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b=b.length)a.aiDisplay=f.slice();else{if(g||c||d.length>
-b.length||0!==b.indexOf(d)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)e.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Qa(a,b,c,e){a=b?a:va(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',"")}).join(")(?=.*?")+").*$");return RegExp(a,e?"i":"")}function va(a){return a.replace(Yb,"\\$1")}function yb(a){var b=a.aoColumns,c,e,d,f,g,j,i,h,l=o.ext.type.search;c=!1;e=
-0;for(f=a.aoData.length;e",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Bb,sName:"information"}),e.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return e[0]}function Bb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,e=a._iDisplayStart+
-1,d=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Cb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,e,d,f,g,j));h(b).html(j)}}function Cb(a,b){var c=a.fnFormatNumber,e=a._iDisplayStart+1,d=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===d;return b.replace(/_START_/g,c.call(a,e)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,
-f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(e/d))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/d)))}function ga(a){var b,c,e=a.iInitDisplayStart,d=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){mb(a);jb(a);ea(a,a.aoHeader);ea(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Ga(a);b=0;for(c=d.length;b",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g ").addClass(b.sLength);
-a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",d[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Ra(a,h(this).val());M(a)});h(a.nTable).bind("length.dt.DT",function(b,c,f){a===c&&h("select",i).val(f)});return i[0]}function sb(a){var b=a.sPaginationType,c=o.ext.pager[b],e="function"===typeof c,d=function(a){M(a)},b=h("