Skip to content
GitLab
Explore
Sign in
Commits on Source (1)
Change "latent" to "mark"
· e8c4c207
Marco De Donno
authored
Sep 18, 2019
e8c4c207
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
e8c4c207
...
...
@@ -91,7 +91,7 @@ On the creation of the upload process, the email is sent to the server in clear
### Notes
Some notes can be saved by the submitter for tenprintcard and
latent
images. The notes are encrypted on the client-side using AES with the CSK key.
Some notes can be saved by the submitter for tenprintcard and
mark
images. The notes are encrypted on the client-side using AES with the CSK key.
### Files names
...
...
app/dropzone.css
View file @
e8c4c207
...
...
@@ -6,7 +6,7 @@
color
:
#cccccc
;
}
#icnml_
latent
s_dropzone
{
#icnml_
mark
s_dropzone
{
display
:
grid
;
grid-gap
:
3px
;
grid-template-columns
:
repeat
(
5
,
1
fr
);
...
...
@@ -15,7 +15,7 @@
vertical-align
:
middle
;
line-height
:
100px
;
}
#icnml_
latent
s_dropzone
>
div
{
#icnml_
mark
s_dropzone
>
div
{
border
:
1px
solid
#707070
;
border-radius
:
5px
;
}
...
...
module.py
View file @
e8c4c207
...
...
@@ -1673,7 +1673,7 @@ def dek_delete_fully():
@login_required
def
upload_file
():
"""
Main function dealing with the upload of files (tenprint,
latent
and consent forms).
Main function dealing with the upload of files (tenprint,
mark
and consent forms).
This function accept traditionals images and NIST files for the fingerprint data,
and PDFs for the consent forms.
"""
...
...
@@ -1810,7 +1810,7 @@ def upload_file():
}
)
else
:
if
upload_type
in
[
"
latent
_target
"
,
"
latent
_incidental
"
,
"
tenprint_card_front
"
,
"
tenprint_card_back
"
]:
if
upload_type
in
[
"
mark
_target
"
,
"
mark
_incidental
"
,
"
tenprint_card_front
"
,
"
tenprint_card_back
"
]:
app
.
logger
.
info
(
"
Image file type: {}
"
.
format
(
upload_type
)
)
img
=
Image
.
open
(
fp
)
...
...
@@ -2049,7 +2049,7 @@ def submission_do_new():
@submission_has_access
def
submission_upload_tplp
(
submission_id
):
"""
Serve the page to upload tenprint and
latent
images files.
Serve the page to upload tenprint and
mark
images files.
This page is not accessible if a consent form is not available in the
database for this particular donor.
"""
...
...
@@ -2188,17 +2188,17 @@ def submission_list():
donors
=
donors
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent
/list
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent
/list/<
latent
_type>
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark
/list
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark
/list/<
mark
_type>
"
)
@submission_has_access
def
submission_
latent
_list
(
submission_id
,
latent
_type
=
"
all
"
):
def
submission_
mark
_list
(
submission_id
,
mark
_type
=
"
all
"
):
"""
Get the list of
latent
for a particular submission folder.
Get the list of
mark
for a particular submission folder.
"""
app
.
logger
.
info
(
"
Get the list of
latent
for the submission
'
{}
'"
.
format
(
submission_id
)
)
app
.
logger
.
debug
(
"
latent
_type: {}
"
.
format
(
latent
_type
)
)
app
.
logger
.
info
(
"
Get the list of
mark
for the submission
'
{}
'"
.
format
(
submission_id
)
)
app
.
logger
.
debug
(
"
mark
_type: {}
"
.
format
(
mark
_type
)
)
if
latent
_type
in
[
"
target
"
,
"
incidental
"
,
"
all
"
]:
if
mark
_type
in
[
"
target
"
,
"
incidental
"
,
"
all
"
]:
sql
=
"
SELECT id, nickname FROM submissions WHERE uuid = %s
"
r
=
config
.
db
.
query
(
sql
,
(
submission_id
,
)
)
case_id
,
nickname
=
r
.
fetchone
()
...
...
@@ -2210,12 +2210,12 @@ def submission_latent_list( submission_id, latent_type = "all" ):
LEFT JOIN files_type ON files.type = files_type.id
WHERE folder = %s AND
"""
if
latent
_type
==
"
target
"
:
sql
+=
"
files_type.name =
'
latent
_target
'"
elif
latent
_type
==
"
incidental
"
:
sql
+=
"
files_type.name =
'
latent
_incidental
'"
elif
latent
_type
==
"
all
"
:
sql
+=
"
( files_type.name =
'
latent
_target
'
OR files_type.name =
'
latent
_incidental
'
)
"
if
mark
_type
==
"
target
"
:
sql
+=
"
files_type.name =
'
mark
_target
'"
elif
mark
_type
==
"
incidental
"
:
sql
+=
"
files_type.name =
'
mark
_incidental
'"
elif
mark
_type
==
"
all
"
:
sql
+=
"
( files_type.name =
'
mark
_target
'
OR files_type.name =
'
mark
_incidental
'
)
"
sql
+=
"
ORDER BY files.id DESC
"
r
=
config
.
db
.
query
(
sql
,
(
case_id
,
)
)
...
...
@@ -2225,12 +2225,12 @@ def submission_latent_list( submission_id, latent_type = "all" ):
v
[
"
filename
"
]
=
do_decrypt_user_session
(
v
[
"
filename
"
]
)
v
[
"
size
"
]
=
round
(
(
float
(
v
[
"
size
"
]
)
/
(
1024
*
1024
)
)
*
100
)
/
100
app
.
logger
.
debug
(
"
{}
latent
s for
'
{}
'"
.
format
(
len
(
files
),
submission_id
)
)
app
.
logger
.
debug
(
"
{}
mark
s for
'
{}
'"
.
format
(
len
(
files
),
submission_id
)
)
return
my_render_template
(
"
submission/
latent
_list.html
"
,
"
submission/
mark
_list.html
"
,
submission_id
=
submission_id
,
latent
_type
=
latent
_type
,
mark
_type
=
mark
_type
,
files
=
files
,
nickname
=
nickname
)
...
...
@@ -2238,15 +2238,15 @@ def submission_latent_list( submission_id, latent_type = "all" ):
else
:
return
abort
(
403
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent/<latent
_id>
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark/<mark
_id>
"
)
@submission_has_access
def
submission_
latent
(
submission_id
,
latent
_id
):
def
submission_
mark
(
submission_id
,
mark
_id
):
"""
Serve the page to edit a particular
latent
image.
Serve the page to edit a particular
mark
image.
"""
app
.
logger
.
info
(
"
Serve the
latent
page edit
"
)
app
.
logger
.
info
(
"
Serve the
mark
page edit
"
)
app
.
logger
.
debug
(
"
submission {}
"
.
format
(
submission_id
)
)
app
.
logger
.
debug
(
"
latent
{}
"
.
format
(
latent
_id
)
)
app
.
logger
.
debug
(
"
mark
{}
"
.
format
(
mark
_id
)
)
sql
=
"
SELECT id, nickname FROM submissions WHERE uuid = %s
"
r
=
config
.
db
.
query
(
sql
,
(
submission_id
,
)
)
...
...
@@ -2267,30 +2267,30 @@ def submission_latent( submission_id, latent_id ):
files.uuid = %s
"""
r
=
config
.
db
.
query
(
sql
,
(
submission_folder_id
,
latent
_id
,
)
)
latent
=
r
.
fetchone
()
latent
[
"
size
"
]
=
round
(
100
*
float
(
latent
[
"
size
"
]
)
/
(
1024
*
1024
)
)
/
100
latent
[
"
filename
"
]
=
do_decrypt_user_session
(
latent
[
"
filename
"
]
)
latent
[
"
note
"
]
=
do_decrypt_user_session
(
latent
[
"
note
"
]
)
latent
[
"
file_type
"
]
=
latent
[
"
file_type
"
].
replace
(
"
latent
_
"
,
""
)
r
=
config
.
db
.
query
(
sql
,
(
submission_folder_id
,
mark
_id
,
)
)
mark
=
r
.
fetchone
()
mark
[
"
size
"
]
=
round
(
100
*
float
(
mark
[
"
size
"
]
)
/
(
1024
*
1024
)
)
/
100
mark
[
"
filename
"
]
=
do_decrypt_user_session
(
mark
[
"
filename
"
]
)
mark
[
"
note
"
]
=
do_decrypt_user_session
(
mark
[
"
note
"
]
)
mark
[
"
file_type
"
]
=
mark
[
"
file_type
"
].
replace
(
"
mark
_
"
,
""
)
return
my_render_template
(
"
submission/
latent
.html
"
,
"
submission/
mark
.html
"
,
submission_id
=
submission_id
,
nickname
=
nickname
,
file
=
latent
file
=
mark
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent/<latent
_id>/pfsp
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark/<mark
_id>/pfsp
"
)
@submission_has_access
def
submission_
latent
_pfsp
(
submission_id
,
latent
_id
):
def
submission_
mark
_pfsp
(
submission_id
,
mark
_id
):
"""
Serve the page to set the PFSP information (location on the finger
or the palm print) for the
latent
.
or the palm print) for the
mark
.
"""
app
.
logger
.
info
(
"
Serve the PFSP edit page
"
)
app
.
logger
.
debug
(
"
submission {}
"
.
format
(
submission_id
)
)
app
.
logger
.
debug
(
"
latent
{}
"
.
format
(
latent
_id
)
)
app
.
logger
.
debug
(
"
mark
{}
"
.
format
(
mark
_id
)
)
sql
=
"
SELECT id, nickname FROM submissions WHERE uuid = %s
"
r
=
config
.
db
.
query
(
sql
,
(
submission_id
,
)
)
...
...
@@ -2311,18 +2311,18 @@ def submission_latent_pfsp( submission_id, latent_id ):
files.uuid = %s
"""
r
=
config
.
db
.
query
(
sql
,
(
submission_folder_id
,
latent
_id
,
)
)
latent
=
r
.
fetchone
()
latent
[
"
size
"
]
=
round
(
100
*
float
(
latent
[
"
size
"
]
)
/
(
1024
*
1024
)
)
/
100
latent
[
"
filename
"
]
=
do_decrypt_user_session
(
latent
[
"
filename
"
]
)
latent
[
"
note
"
]
=
do_decrypt_user_session
(
latent
[
"
note
"
]
)
latent
[
"
file_type
"
]
=
latent
[
"
file_type
"
].
replace
(
"
latent
_
"
,
""
)
r
=
config
.
db
.
query
(
sql
,
(
submission_folder_id
,
mark
_id
,
)
)
mark
=
r
.
fetchone
()
mark
[
"
size
"
]
=
round
(
100
*
float
(
mark
[
"
size
"
]
)
/
(
1024
*
1024
)
)
/
100
mark
[
"
filename
"
]
=
do_decrypt_user_session
(
mark
[
"
filename
"
]
)
mark
[
"
note
"
]
=
do_decrypt_user_session
(
mark
[
"
note
"
]
)
mark
[
"
file_type
"
]
=
mark
[
"
file_type
"
].
replace
(
"
mark
_
"
,
""
)
app
.
logger
.
debug
(
"
file size: {}Mo
"
.
format
(
latent
[
"
size
"
]
)
)
app
.
logger
.
debug
(
"
file size: {}Mo
"
.
format
(
mark
[
"
size
"
]
)
)
sql
=
"
SELECT pfsp FROM
latent
_info WHERE uuid = %s
"
sql
=
"
SELECT pfsp FROM
mark
_info WHERE uuid = %s
"
try
:
current_pfsp
=
config
.
db
.
query
(
sql
,
(
latent
_id
,
)
).
fetchone
()[
0
]
current_pfsp
=
config
.
db
.
query
(
sql
,
(
mark
_id
,
)
).
fetchone
()[
0
]
except
:
current_pfsp
=
None
...
...
@@ -2333,34 +2333,34 @@ def submission_latent_pfsp( submission_id, latent_id ):
current_pfsp
=
"
,
"
.
join
(
z
[
"
sel
"
]
)
return
my_render_template
(
"
submission/
latent
_pfsp.html
"
,
"
submission/
mark
_pfsp.html
"
,
submission_id
=
submission_id
,
nickname
=
nickname
,
file
=
latent
,
file
=
mark
,
pfsp_zones
=
pfsp
.
zones
,
current_pfsp
=
current_pfsp
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent/<latent
_id>/set/pfsp
"
,
methods
=
[
"
POST
"
]
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark/<mark
_id>/set/pfsp
"
,
methods
=
[
"
POST
"
]
)
@submission_has_access
def
submission_
latent
_pfsp_set
(
submission_id
,
latent
_id
):
def
submission_
mark
_pfsp_set
(
submission_id
,
mark
_id
):
"""
Save the PFSP information relative to a
latent
.
Save the PFSP information relative to a
mark
.
"""
app
.
logger
.
info
(
"
Save the PFSP for submission
'
{}
'
latent
'
{}
'"
.
format
(
submission_id
,
latent
_id
)
)
app
.
logger
.
info
(
"
Save the PFSP for submission
'
{}
'
mark
'
{}
'"
.
format
(
submission_id
,
mark
_id
)
)
pfsp
=
request
.
form
.
get
(
"
pfsp
"
)
sql
=
"
SELECT id FROM
latent
_info WHERE uuid = %s
"
q
=
config
.
db
.
query
(
sql
,
(
latent
_id
,
)
).
fetchone
()
sql
=
"
SELECT id FROM
mark
_info WHERE uuid = %s
"
q
=
config
.
db
.
query
(
sql
,
(
mark
_id
,
)
).
fetchone
()
if
q
==
None
:
sql
=
utils
.
sql
.
sql_insert_generate
(
"
latent
_info
"
,
[
"
uuid
"
,
"
pfsp
"
]
)
config
.
db
.
query
(
sql
,
(
latent
_id
,
pfsp
,
)
)
sql
=
utils
.
sql
.
sql_insert_generate
(
"
mark
_info
"
,
[
"
uuid
"
,
"
pfsp
"
]
)
config
.
db
.
query
(
sql
,
(
mark
_id
,
pfsp
,
)
)
else
:
sql
=
"
UPDATE
latent
_info SET pfsp = %s WHERE uuid = %s
"
config
.
db
.
query
(
sql
,
(
pfsp
,
latent
_id
,
)
)
sql
=
"
UPDATE
mark
_info SET pfsp = %s WHERE uuid = %s
"
config
.
db
.
query
(
sql
,
(
pfsp
,
mark
_id
,
)
)
config
.
db
.
commit
()
...
...
@@ -2368,20 +2368,20 @@ def submission_latent_pfsp_set( submission_id, latent_id ):
"
error
"
:
False
}
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
latent/<latent
_id>/delete
"
)
@app.route
(
baseurl
+
"
/submission/<submission_id>/
mark/<mark
_id>/delete
"
)
@submission_has_access
def
submission_
latent
_delete
(
submission_id
,
latent
_id
):
def
submission_
mark
_delete
(
submission_id
,
mark
_id
):
"""
Delete a
latent
from the database.
Delete a
mark
from the database.
"""
app
.
logger
.
info
(
"
Delete
latent
'
{}
'
from submission
'
{}
'"
.
format
(
latent
_id
,
submission_id
)
)
app
.
logger
.
info
(
"
Delete
mark
'
{}
'
from submission
'
{}
'"
.
format
(
mark
_id
,
submission_id
)
)
sql
=
"
SELECT id FROM submissions WHERE submitter_id = %s AND uuid = %s
"
q
=
config
.
db
.
query
(
sql
,
(
session
[
"
user_id
"
],
submission_id
,
)
)
if
q
!=
None
:
sql
=
"
DELETE FROM files WHERE creator = %s AND uuid = %s
"
config
.
db
.
query
(
sql
,
(
session
[
"
user_id
"
],
latent
_id
,
)
)
config
.
db
.
query
(
sql
,
(
session
[
"
user_id
"
],
mark
_id
,
)
)
config
.
db
.
commit
()
return
jsonify
(
{
...
...
@@ -3203,8 +3203,8 @@ def user_myprofile_tenprint():
Serve the page to see all the information related to the current user.
This page is the summary of all informations related to the current logged user,
i.e. the tenprint cards and
latent
images. The consent form, beeing mendatory to
upload the tenprint and
latent
images, and beeing encrypted in the database, is
i.e. the tenprint cards and
mark
images. The consent form, beeing mendatory to
upload the tenprint and
mark
images, and beeing encrypted in the database, is
not accessible by the user via this interface. The consent form has been sent the
the donor by email anyways before uploading any of the images.
"""
...
...
sql/install/09-files_type.sql
View file @
e8c4c207
...
...
@@ -66,8 +66,8 @@ ALTER TABLE ONLY public.files_type ALTER COLUMN id SET DEFAULT nextval('public.f
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
0
,
'consent_form'
,
'Consent form'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
1
,
'tenprint_card_front'
,
'Tenprint card front'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
2
,
'tenprint_card_back'
,
'Tenprint card back'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
3
,
'
latent
_target'
,
'
Latent
target'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
4
,
'
latent
_incidental'
,
'
Latent
incidental'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
3
,
'
mark
_target'
,
'
Mark
target'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
4
,
'
mark
_incidental'
,
'
Mark
incidental'
);
INSERT
INTO
public
.
files_type
(
id
,
name
,
"desc"
)
VALUES
(
5
,
'tenprint_nist'
,
'TP NIST file'
);
...
...
sql/install/19-
latent
_info.sql
→
sql/install/19-
mark
_info.sql
View file @
e8c4c207
...
...
@@ -18,23 +18,23 @@ SET default_tablespace = '';
SET
default_with_oids
=
false
;
--
-- Name:
latent
_info; Type: TABLE; Schema: public; Owner: icnml
-- Name:
mark
_info; Type: TABLE; Schema: public; Owner: icnml
--
CREATE
TABLE
public
.
latent
_info
(
CREATE
TABLE
public
.
mark
_info
(
id
integer
NOT
NULL
,
uuid
uuid
NOT
NULL
,
pfsp
character
varying
);
ALTER
TABLE
public
.
latent
_info
OWNER
TO
icnml
;
ALTER
TABLE
public
.
mark
_info
OWNER
TO
icnml
;
--
-- Name:
latent
_info_id_seq; Type: SEQUENCE; Schema: public; Owner: icnml
-- Name:
mark
_info_id_seq; Type: SEQUENCE; Schema: public; Owner: icnml
--
CREATE
SEQUENCE
public
.
latent
_info_id_seq
CREATE
SEQUENCE
public
.
mark
_info_id_seq
AS
integer
START
WITH
1
INCREMENT
BY
1
...
...
@@ -43,20 +43,20 @@ CREATE SEQUENCE public.latent_info_id_seq
CACHE
1
;
ALTER
TABLE
public
.
latent
_info_id_seq
OWNER
TO
icnml
;
ALTER
TABLE
public
.
mark
_info_id_seq
OWNER
TO
icnml
;
--
-- Name:
latent
_info_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: icnml
-- Name:
mark
_info_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: icnml
--
ALTER
SEQUENCE
public
.
latent
_info_id_seq
OWNED
BY
public
.
latent
_info
.
id
;
ALTER
SEQUENCE
public
.
mark
_info_id_seq
OWNED
BY
public
.
mark
_info
.
id
;
--
-- Name:
latent
_info id; Type: DEFAULT; Schema: public; Owner: icnml
-- Name:
mark
_info id; Type: DEFAULT; Schema: public; Owner: icnml
--
ALTER
TABLE
ONLY
public
.
latent
_info
ALTER
COLUMN
id
SET
DEFAULT
nextval
(
'public.
latent
_info_id_seq'
::
regclass
);
ALTER
TABLE
ONLY
public
.
mark
_info
ALTER
COLUMN
id
SET
DEFAULT
nextval
(
'public.
mark
_info_id_seq'
::
regclass
);
--
...
...
templates/submission/add_files.html
View file @
e8c4c207
...
...
@@ -84,17 +84,17 @@
</div>
<div
style=
"text-align: right;"
>
<label
for=
"
latent
s_target"
>
Latent
(s)
<br
/>
target
</label>
<label
for=
"
mark
s_target"
>
Mark
(s)
<br
/>
target
</label>
</div>
<div>
<div
id=
"
latent
s_target_dropzone"
class=
"dropzone"
></div>
<div
id=
"
mark
s_target_dropzone"
class=
"dropzone"
></div>
</div>
<div
style=
"text-align: right;"
>
<label
for=
"
latent
s_incidental"
>
Latent
(s)
<br
/>
incidental
</label>
<label
for=
"
mark
s_incidental"
>
Mark
(s)
<br
/>
incidental
</label>
</div>
<div>
<div
id=
"
latent
s_incidental_dropzone"
class=
"dropzone"
></div>
<div
id=
"
mark
s_incidental_dropzone"
class=
"dropzone"
></div>
</div>
</div>
...
...
@@ -105,12 +105,12 @@
<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
class=
"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only icnml_next_button"
id=
"
mark
_target_button"
role=
"button"
aria-disabled=
"false"
>
<span
class=
"ui-button-text"
>
Mark
(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>
<a
class=
"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only icnml_next_button"
id=
"
mark
_incidental_button"
role=
"button"
aria-disabled=
"false"
>
<span
class=
"ui-button-text"
>
Mark
(s) incidental
</span>
</a>
</div>
</div>
...
...
@@ -216,13 +216,13 @@
$
(
function
()
{
new
Dropzone
(
"
#
latent
s_target_dropzone
"
,
"
#
mark
s_target_dropzone
"
,
{
url
:
"
{{ url_for( 'upload_file' ) }}
"
,
timeout
:
600000
,
createImageThumbnails
:
false
,
params
:
{
"
upload_type
"
:
"
latent
_target
"
,
"
upload_type
"
:
"
mark
_target
"
,
"
submission_id
"
:
submission_id
},
renameFile
:
function
(
file
)
...
...
@@ -237,7 +237,7 @@
var
ext
=
"
.
"
+
file
.
name
.
split
(
"
.
"
).
pop
();
this
.
options
.
params
[
"
extension
"
]
=
ext
;
$
(
"
#
latent
s_target_dropzone > .dz-default.dz-message
"
).
remove
();
$
(
"
#
mark
s_target_dropzone > .dz-default.dz-message
"
).
remove
();
}
)
.
on
(
"
success
"
,
function
(
p
)
{
var
response
=
JSON
.
parse
(
p
.
xhr
.
response
);
...
...
@@ -253,13 +253,13 @@
$
(
function
()
{
new
Dropzone
(
"
#
latent
s_incidental_dropzone
"
,
"
#
mark
s_incidental_dropzone
"
,
{
url
:
"
{{ url_for( 'upload_file' ) }}
"
,
timeout
:
600000
,
createImageThumbnails
:
false
,
params
:
{
"
upload_type
"
:
"
latent
_incidental
"
,
"
upload_type
"
:
"
mark
_incidental
"
,
"
submission_id
"
:
submission_id
},
renameFile
:
function
(
file
)
...
...
@@ -274,7 +274,7 @@
var
ext
=
"
.
"
+
file
.
name
.
split
(
"
.
"
).
pop
();
this
.
options
.
params
[
"
extension
"
]
=
ext
;
$
(
"
#
latent
s_incidental_dropzone > .dz-default.dz-message
"
).
remove
();
$
(
"
#
mark
s_incidental_dropzone > .dz-default.dz-message
"
).
remove
();
}
)
.
on
(
"
success
"
,
function
(
p
)
{
var
response
=
JSON
.
parse
(
p
.
xhr
.
response
);
...
...
@@ -295,14 +295,14 @@
window
.
location
=
"
{{ url_for( 'submission_tenprint_list', submission_id = submission_id ) }}
"
;
}
);
$
(
"
#
latent
_target_button
"
).
on
(
"
click
"
,
function
()
$
(
"
#
mark
_target_button
"
).
on
(
"
click
"
,
function
()
{
window
.
location
=
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id,
latent
_type = 'target' ) }}
"
;
window
.
location
=
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id,
mark
_type = 'target' ) }}
"
;
}
);
$
(
"
#
latent
_incidental_button
"
).
on
(
"
click
"
,
function
()
$
(
"
#
mark
_incidental_button
"
).
on
(
"
click
"
,
function
()
{
window
.
location
=
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id,
latent
_type = 'incidental' ) }}
"
;
window
.
location
=
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id,
mark
_type = 'incidental' ) }}
"
;
}
);
$
(
"
#icnml_navigation_updatedonor
"
)
...
...
templates/submission/
latent
.html
→
templates/submission/
mark
.html
View file @
e8c4c207
...
...
@@ -35,7 +35,7 @@
note
=
encrypt
(
note
,
password_local
);
$
.
ajax
(
{
url
:
"
{{ url_for( 'submission_file_set_note', submission_id = submission_id, tenprint_id = file[ 'uuid' ], file_type = '
latent
' ) }}
"
,
url
:
"
{{ url_for( 'submission_file_set_note', submission_id = submission_id, tenprint_id = file[ 'uuid' ], file_type = '
mark
' ) }}
"
,
dataType
:
"
json
"
,
method
:
"
POST
"
,
data
:
{
...
...
@@ -46,27 +46,27 @@
var
next_information
=
function
()
{
window
.
location
=
"
{{ url_for( 'submission_
latent
_pfsp', submission_id = submission_id,
latent
_id = file[ 'uuid' ] ) }}
"
;
window
.
location
=
"
{{ url_for( 'submission_
mark
_pfsp', submission_id = submission_id,
mark
_id = file[ 'uuid' ] ) }}
"
;
}
var
delete_
latent
=
function
()
var
delete_
mark
=
function
()
{
$
(
"
<div />
"
)
.
attr
(
"
id
"
,
"
delete_confirmation
"
)
.
text
(
"
Do you really want to delete this
latent
?
"
)
.
text
(
"
Do you really want to delete this
mark
?
"
)
.
dialog
(
{
title
:
"
Confirm
latent
deletion
"
,
title
:
"
Confirm
mark
deletion
"
,
modal
:
true
,
buttons
:
{
"
OK
"
:
function
()
{
$
.
ajax
(
{
url
:
"
{{ url_for( 'submission_
latent
_delete', submission_id = submission_id,
latent
_id = file[ 'uuid' ] ) }}
"
,
url
:
"
{{ url_for( 'submission_
mark
_delete', submission_id = submission_id,
mark
_id = file[ 'uuid' ] ) }}
"
,
dataType
:
"
json
"
,
success
:
function
(
data
)
{
$
(
"
#delete_confirmation
"
).
remove
();
window
.
location
=
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id,
latent
_type = file[ 'file_type' ] ) }}
"
;
window
.
location
=
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id,
mark
_type = file[ 'file_type' ] ) }}
"
;
},
error
:
function
(
data
)
{
...
...
@@ -143,7 +143,7 @@
</div>
<div
id=
"delete_button_div"
>
<a
class=
"ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
id=
"delete_button"
>
<span
class=
"ui-button-text"
id=
"delete_button_span_text"
>
Delete
latent
</span>
<span
class=
"ui-button-text"
id=
"delete_button_span_text"
>
Delete
mark
</span>
</a>
</div>
</div>
...
...
@@ -164,7 +164,7 @@
.
text
(
moment
.
utc
(
"
{{ file[ 'creation_time' ] }}
"
).
local
().
format
(
"
MMMM Do YYYY, HH:mm:ss
"
)
);
$
(
"
#next_button
"
).
on
(
"
click
"
,
next_information
);
$
(
"
#delete_button
"
).
on
(
"
click
"
,
delete_
latent
);
$
(
"
#delete_button
"
).
on
(
"
click
"
,
delete_
mark
);
$
(
"
#icnml_navigation_updatedonor
"
)
.
addClass
(
"
activated
"
);
...
...
@@ -187,8 +187,8 @@
)
.
append
(
$
(
"
<a />
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id ) }}
"
)
.
text
(
"
Latent
s
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id ) }}
"
)
.
text
(
"
Mark
s
"
)
)
.
append
(
$
(
"
<span />
"
).
text
(
"
>
"
)
...
...
templates/submission/
latent
_list.html
→
templates/submission/
mark
_list.html
View file @
e8c4c207
...
...
@@ -16,25 +16,25 @@
var
password_local
=
decrypt
(
sessionStorage
.
getItem
(
"
session_key
"
),
"
{{ session_security_key }}
"
);
var
nickname
=
decrypt
(
"
{{ nickname }}
"
,
password_local
);
var
latent
s_list
=
new
Array
();
var
mark
s_list
=
new
Array
();
{
%
for
file
in
files
%
}
latent
s_list
.
push
(
"
{{ file[ 'uuid' ] }}
"
);
mark
s_list
.
push
(
"
{{ file[ 'uuid' ] }}
"
);
{
%
endfor
%
}
update_search_result
=
function
()
{
var
searched
=
$
(
"
#search_bar
"
).
val
();
for
(
var
i
=
0
;
i
<
latent
s_list
.
length
;
i
++
)
for
(
var
i
=
0
;
i
<
mark
s_list
.
length
;
i
++
)
{
var
uuid
=
latent
s_list
[
i
];
var
filename
=
$
(
"
#
latent
_
"
+
uuid
+
"
_filename
"
).
text
();
var
uuid
=
mark
s_list
[
i
];
var
filename
=
$
(
"
#
mark
_
"
+
uuid
+
"
_filename
"
).
text
();
if
(
filename
.
indexOf
(
searched
)
>=
0
)
{
$
(
"
#
latent
_
"
+
uuid
).
show
();
$
(
"
#
mark
_
"
+
uuid
).
show
();
}
else
{
$
(
"
#
latent
_
"
+
uuid
).
hide
();
$
(
"
#
mark
_
"
+
uuid
).
hide
();
}
}
}
...
...
@@ -81,11 +81,11 @@
<div
class=
"icnml_lp_list"
>
{% for file in files %}
<div
id=
"
latent
_{{ file[ 'uuid' ] }}"
>
<div
class=
"ui-widget-header ui-corner-top icnml_box_top"
id=
"
latent
_{{ file[ 'uuid' ] }}_filename"
>
-
</div>
<div
id=
"
mark
_{{ file[ 'uuid' ] }}"
>
<div
class=
"ui-widget-header ui-corner-top icnml_box_top"
id=
"
mark
_{{ file[ 'uuid' ] }}_filename"
>
-
</div>
<div
class=
"ui-widget-content ui-corner-bottom icnml_box_content"
>
<div
class=
"icnml_img"
>
<a
id=
"edit_{{ file[ 'id' ] }}"
href=
"{{ url_for( 'submission_
latent
', submission_id = submission_id,
latent
_id = file[ 'uuid' ] ) }}"
>
<a
id=
"edit_{{ file[ 'id' ] }}"
href=
"{{ url_for( 'submission_
mark
', submission_id = submission_id,
mark
_id = file[ 'uuid' ] ) }}"
>
<img
src=
"{{ url_for( 'image_file_serve', file_id = file[ 'uuid' ] ) }}"
>
</a>
</div>
...
...
@@ -105,7 +105,7 @@
.
addClass
(
"
activated
"
);
{
%
for
file
in
files
%
}
$
(
"
#
latent
_{{ file[ 'uuid' ] }}_filename
"
)
$
(
"
#
mark
_{{ file[ 'uuid' ] }}_filename
"
)
.
text
(
decrypt
(
"
{{ file[ 'filename' ] }}
"
,
password_local
)
);
{
%
endfor
%
}
...
...
@@ -127,14 +127,14 @@
)
.
append
(
$
(
"
<a />
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id,
latent
_type = 'all' ) }}
"
)
.
text
(
"
Latent
s
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id,
mark
_type = 'all' ) }}
"
)
.
text
(
"
Mark
s
"
)
)
.
append
(
$
(
"
<span />
"
).
text
(
"
>
"
)
)
.
append
(
$
(
"
<span />
"
).
text
(
"
{{
latent
_type }}
"
)
$
(
"
<span />
"
).
text
(
"
{{
mark
_type }}
"
)
);
</script>
</body>
...
...
templates/submission/
latent
_pfsp.html
→
templates/submission/
mark
_pfsp.html
View file @
e8c4c207
...
...
@@ -80,7 +80,7 @@
var
update_pfsp_db
=
function
(
data
)
{
$
.
ajax
(
{
url
:
"
{{ url_for( 'submission_
latent
_pfsp_set', submission_id = submission_id,
latent
_id = file[ 'uuid' ] ) }}
"
,
url
:
"
{{ url_for( 'submission_
mark
_pfsp_set', submission_id = submission_id,
mark
_id = file[ 'uuid' ] ) }}
"
,
dataType
:
"
json
"
,
method
:
"
POST
"
,
data
:
{
...
...
@@ -211,8 +211,8 @@
)
.
append
(
$
(
"
<a />
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
latent
_list', submission_id = submission_id ) }}
"
)
.
text
(
"
Latent
s
"
)
.
attr
(
"
href
"
,
"
{{ url_for( 'submission_
mark
_list', submission_id = submission_id ) }}
"
)
.
text
(
"
Mark
s
"
)
)
.
append
(
$
(
"
<span />
"
).
text
(
"
>
"
)
...
...
templates/users/profile/dek.html
View file @
e8c4c207
...
...
@@ -182,7 +182,7 @@
</p>
<p>
This imply that your data, in particular all biometric information (tenprint and
latent
marks) are not available as part of the ICNML data.
This imply that your data, in particular all biometric information (tenprint and marks) are not available as part of the ICNML data.
</p>
<p>
...
...