Skip to content
add_files.html 11.8 KiB
Newer Older
<!DOCTYPE html>
<html>
    <head>
        {% for src in js %}
            <script type="text/javascript" src="{{ src }}"></script>
        {% endfor %}
        {% for src in css %}
            <link type="text/css" rel="stylesheet" href="{{ src }}">
        {% endfor %}
        
        <script type="text/javascript" src="{{ url_for( 'send_app_files', subpath = 'functions.js' ) }}"></script>
        <link type="text/css" rel="stylesheet" href="{{ url_for( 'send_app_files', subpath = 'app.css' ) }}">
        <link type="text/css" rel="stylesheet" href="{{ url_for( 'send_app_files', subpath = 'dropzone.css' ) }}">
        
        <script type="text/javascript">
            baseurl = "{{ baseurl }}";
            upload_id = "{{ upload_id }}";
            var password_local = decrypt( sessionStorage.getItem( "session_key" ), "{{ session_security_key }}" );
Marco De Donno's avatar
Marco De Donno committed
            var nickname = decrypt( "{{ nickname }}", password_local );
Marco De Donno's avatar
Marco De Donno committed
                var nickname = encrypt( $( '#upload_nickname' ).val() || null, password_local );
                
                $.ajax( {
                    url: "{{ url_for( 'submission_update_nickname', id = upload_id ) }}",
                    dataType: 'json',
                    method: 'POST',
                    data: {
                        nickname: nickname
                    }
                } );
        
        <style type="text/css">
            .icnml_next_buttons {
                margin-top: 20px;
                padding-left: 50px;
                padding-right: 50px;
            }
            .icnml_next_button {
                width: 100%;
                margin-bottom: 5px;
            }
        </style>
    </head>
    <body class="icnml_main_layout">
        {% include "header.html" %}
        {% include "navigations/submitter.html" %}
        <div class="icnml_content">
            <form id="icnml_submission_form">
                <div class="ui-widget-header ui-corner-top icnml_box_top">Submission form</div>
                <div class="ui-widget-content ui-corner-bottom icnml_box_content">
                    <div class="icnml_box_fields">
                        <div style="text-align: right;">
                            <label for="upload_nickname">Submission nickname</label>
                        </div>
                        <div>
                            <input id="upload_nickname" name="upload_nickname" type="text" value="" />
                        </div>
                        
                        <div style="text-align: right;">
                            <label for="email">Donor e-mail</label>
                        </div>
                        <div>
                            <input id="email" name="email" type="text" value="{{ email }}" readonly />
                        </div>
                        
                        <div style="text-align: right;">
                            <label for="tenprint_card_front">Tenprint card(s)<br />fingers</label>
                        </div>
                        <div>
                            <div id="tenprint_card_front_dropzone" class="dropzone"></div>
                        </div>
                        
                        <div style="text-align: right;">
                            <label for="tenprint_card_back">Tenprint card(s)<br />palms</label>
                        </div>
                        <div>
                            <div id="tenprint_card_back_dropzone" class="dropzone"></div>
                        </div>
                        
                        <div style="text-align: right;">
                            <label for="latents_target">Latent(s)<br />target</label>
                            <div id="latents_target_dropzone" class="dropzone"></div>
                        </div>
                        
                        <div style="text-align: right;">
                            <label for="latents_incidental">Latent(s)<br />incidental</label>
                        </div>
                        <div>
                            <div id="latents_incidental_dropzone" class="dropzone"></div>
                    <div id="icnml_sub_error" class="icnml_box_error"></div>
                    <div class="icnml_button icnml_next_buttons">
                        <a class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only icnml_next_button" id="next_front_button" role="button" aria-disabled="false">
                            <span class="ui-button-text">Tenprint card(s)</span>
                        </a>
                        <br />
                        <a class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only icnml_next_button" id="latent_target_button" role="button" aria-disabled="false">
                            <span class="ui-button-text">Latent(s) target</span>
                        </a>
                        <br />
                        <a class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only icnml_next_button" id="latent_incidental_button" role="button" aria-disabled="false">
                            <span class="ui-button-text">Latent(s) incidental</span>
        
        <script type="text/javascript">
            Dropzone.autoDiscover = false;
            function sleep( ms ) {
                return new Promise( resolve => setTimeout( resolve, ms ) );
            }
Marco De Donno's avatar
Marco De Donno committed
            
                    "#tenprint_card_front_dropzone",
                    {
                        url: "{{ url_for( 'upload_file' ) }}",
                        createImageThumbnails: false,
Marco De Donno's avatar
Marco De Donno committed
                        parallelUploads: 1,
Marco De Donno's avatar
Marco De Donno committed
                            'upload_type': 'tenprint_card_front',
                            'upload_id': upload_id
                        },
                        renameFile: function( file )
                        {
                            var newName = encrypt( file.name, password_local );
                            return newName;
                        }
Marco De Donno's avatar
Marco De Donno committed
                    $( '#tenprint_card_front_dropzone > .dz-default.dz-message' ).remove();
                } )
                .on( "success", function( p ) {
                    var response = JSON.parse( p.xhr.response );
                } )
                .on( "error", function( p )
                {
                    toastr.error( "Error" );
                } );
            } );
            
            $( function()
            {
                new Dropzone(
                    "#tenprint_card_back_dropzone",
                        url: "{{ url_for( 'upload_file' ) }}",
Marco De Donno's avatar
Marco De Donno committed
                        parallelUploads: 1,
                        createImageThumbnails: false,
Marco De Donno's avatar
Marco De Donno committed
                            'upload_type': 'tenprint_card_back',
                            'upload_id': upload_id
                        },
                        renameFile: function( file )
                        {
                            var newName = encrypt( file.name, password_local );
                            return newName;
                        }
                    }
                )
                .on( 'addedfile', function( file )
                {
Marco De Donno's avatar
Marco De Donno committed
                    $( '#tenprint_card_back_dropzone > .dz-default.dz-message' ).remove();
                } )
                .on( "success", function( p ) {
                    var response = JSON.parse( p.xhr.response );
                } )
                .on( "error", function( p )
                {
                    toastr.error( "Error" );
                } );
            } );
Marco De Donno's avatar
Marco De Donno committed
            
                        url: "{{ url_for( 'upload_file' ) }}",
                        createImageThumbnails: false,
Marco De Donno's avatar
Marco De Donno committed
                            'upload_type': 'latent_target',
                            'upload_id': upload_id
                        },
                        renameFile: function( file )
                        {
                            var newName = encrypt( file.name, password_local );
                            return newName;
                        }
                    }
                )
                .on( 'addedfile', function( file )
                {
Marco De Donno's avatar
Marco De Donno committed
                    $( '#latents_target_dropzone > .dz-default.dz-message' ).remove();
                } )
                .on( "success", function( p ) {
                    var response = JSON.parse( p.xhr.response );
                } )
                .on( "error", function( p )
                {
                    toastr.error( "Error" );
                } );
            } );
            
            $( function()
            {
                new Dropzone(
                    "#latents_incidental_dropzone",
                    {
                        url: "{{ url_for( 'upload_file' ) }}",
                        timeout: 600000,
                        createImageThumbnails: false,
                        params: {
Marco De Donno's avatar
Marco De Donno committed
                            'upload_type': 'latent_incidental',
                            'upload_id': upload_id
                        },
                        renameFile: function( file )
                        {
                            var newName = encrypt( file.name, password_local );
                            return newName;
                        }
Marco De Donno's avatar
Marco De Donno committed
                    $( '#latents_incidental_dropzone > .dz-default.dz-message' ).remove();
                } )
                .on( "success", function( p ) {
                    var response = JSON.parse( p.xhr.response );
                } )
                .on( "error", function( p )
                {
                    toastr.error( "Error" );
                } );
            } );
            $( '#upload_nickname' ).val( nickname );
            $( '#upload_nickname' ).on( 'change', update_nickname );
            
Marco De Donno's avatar
Marco De Donno committed
            {
                window.location = "{{ url_for( 'submission_tenprint_list', id = upload_id ) }}";
            } );
            $( '#latent_target_button' ).on( 'click', function()
Marco De Donno's avatar
Marco De Donno committed
            {
                window.location = "{{ url_for( 'submission_latent_list', id = upload_id, ltype = 'target' ) }}";
            } );
            
            $( '#latent_incidental_button' ).on( 'click', function()
Marco De Donno's avatar
Marco De Donno committed
            {
                window.location = "{{ url_for( 'submission_latent_list', id = upload_id, ltype = 'incidental' ) }}";
            } );
Marco De Donno's avatar
Marco De Donno committed
            $( '#icnml_navigation_updatedonor' )
Marco De Donno's avatar
Marco De Donno committed
                .addClass( 'activated' );
            
            $( '#navloc' ).append(
Marco De Donno's avatar
Marco De Donno committed
                $( '<a />' )    
                    .attr( 'href', "{{ url_for( 'submission_list' ) }}" )
                    .text( "Submissions" )
            )
            .append(
                $( '<span />' ).text( ">" )
            )
            .append(
                $( '<span />' ).text( nickname )
            );