Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
third-party
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
2
Merge Requests
2
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cooperatic-foodcoops
third-party
Commits
904551d7
Commit
904551d7
authored
Jul 02, 2021
by
Damien Moulard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prevent multiple clicks & pouchdb fix
parent
842c4578
Pipeline
#1139
passed with stage
in 1 minute 21 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
133 additions
and
112 deletions
+133
-112
orders_helper.js
orders/static/js/orders_helper.js
+133
-112
No files found.
orders/static/js/orders_helper.js
View file @
904551d7
...
@@ -635,56 +635,59 @@ function generate_inventory() {
...
@@ -635,56 +635,59 @@ function generate_inventory() {
* Event fct: on click on an order button
* Event fct: on click on an order button
*/
*/
function
order_pill_on_click
()
{
function
order_pill_on_click
()
{
clicked_order_pill
=
$
(
this
);
if
(
is_time_to
(
'order_pill_on_click'
))
{
let
order_name_container
=
clicked_order_pill
.
find
(
'.pill_order_name'
);
clicked_order_pill
=
$
(
this
);
let
doc_id
=
$
(
order_name_container
).
text
();
let
order_name_container
=
clicked_order_pill
.
find
(
'.pill_order_name'
);
let
doc_id
=
$
(
order_name_container
).
text
();
dbc
.
get
(
doc_id
).
then
((
doc
)
=>
{
if
(
doc
.
last_update
.
fingerprint
!==
fingerprint
)
{
dbc
.
get
(
doc_id
).
then
((
doc
)
=>
{
time_diff
=
dates_diff
(
new
Date
(
doc
.
last_update
.
timestamp
),
new
Date
());
if
(
doc
.
last_update
.
fingerprint
!==
fingerprint
)
{
diff_str
=
``
;
time_diff
=
dates_diff
(
new
Date
(
doc
.
last_update
.
timestamp
),
new
Date
());
diff_str
=
``
;
if
(
time_diff
.
days
!==
0
)
{
diff_str
+=
`
${
time_diff
.
days
}
jour(s), `
;
if
(
time_diff
.
days
!==
0
)
{
}
diff_str
+=
`
${
time_diff
.
days
}
jour(s), `
;
if
(
time_diff
.
hours
!==
0
)
{
}
diff_str
+=
`
${
time_diff
.
hours
}
heure(s), `
;
if
(
time_diff
.
hours
!==
0
)
{
}
diff_str
+=
`
${
time_diff
.
hours
}
heure(s), `
;
if
(
time_diff
.
min
!==
0
)
{
}
diff_str
+=
`
${
time_diff
.
min
}
min, `
;
if
(
time_diff
.
min
!==
0
)
{
}
diff_str
+=
`
${
time_diff
.
min
}
min, `
;
diff_str
+=
`
${
time_diff
.
sec
}
s`
;
}
diff_str
+=
`
${
time_diff
.
sec
}
s`
;
let
modal_order_access
=
$
(
'#templates #modal_order_access'
);
let
modal_order_access
=
$
(
'#templates #modal_order_access'
);
modal_order_access
.
find
(
".order_last_update"
).
text
(
diff_str
);
modal_order_access
.
find
(
".order_last_update"
).
text
(
diff_str
);
openModal
(
modal_order_access
.
html
(),
openModal
(
()
=>
{
modal_order_access
.
html
(),
goto_main_screen
(
doc
);
()
=>
{
},
goto_main_screen
(
doc
);
'Valider'
},
);
'Valider'
}
else
{
goto_main_screen
(
doc
);
}
})
.
catch
(
function
(
err
)
{
if
(
err
.
status
==
404
)
{
$
.
notify
(
"Cette commande n'existe plus."
,
{
globalPosition
:
"top right"
,
className
:
"error"
}
);
);
update_order_selection_screen
();
}
else
{
}
else
{
alert
(
'Erreur lors de la récupération de la commande. Si l
\'
erreur persiste, contactez un administrateur svp.'
);
goto_main_screen
(
doc
);
}
}
console
.
log
(
err
);
})
});
.
catch
(
function
(
err
)
{
if
(
err
.
status
==
404
)
{
$
.
notify
(
"Cette commande n'existe plus."
,
{
globalPosition
:
"top right"
,
className
:
"error"
}
);
update_order_selection_screen
();
}
else
{
alert
(
'Erreur lors de la récupération de la commande. Si l
\'
erreur persiste, contactez un administrateur svp.'
);
}
console
.
log
(
err
);
});
}
}
}
/**
/**
...
@@ -1494,16 +1497,16 @@ function update_main_screen(params) {
...
@@ -1494,16 +1497,16 @@ function update_main_screen(params) {
* Update DOM display on the order selection screen
* Update DOM display on the order selection screen
*/
*/
function
update_order_selection_screen
()
{
function
update_order_selection_screen
()
{
// Remove listener before recreating them
$
(
".order_pill"
).
off
();
let
existing_orders_container
=
$
(
"#existing_orders"
);
existing_orders_container
.
empty
();
$
(
'#new_order_name'
).
val
(
''
);
dbc
.
allDocs
({
dbc
.
allDocs
({
include_docs
:
true
include_docs
:
true
}).
then
(
function
(
result
)
{
}).
then
(
function
(
result
)
{
// Remove listener before recreating them
$
(
".order_pill"
).
off
();
let
existing_orders_container
=
$
(
"#existing_orders"
);
existing_orders_container
.
empty
();
$
(
'#new_order_name'
).
val
(
''
);
if
(
result
.
rows
.
length
===
0
)
{
if
(
result
.
rows
.
length
===
0
)
{
existing_orders_container
.
append
(
`<i>Aucune commande en cours...</i>`
);
existing_orders_container
.
append
(
`<i>Aucune commande en cours...</i>`
);
}
else
{
}
else
{
...
@@ -1576,7 +1579,8 @@ function init_pouchdb_sync() {
...
@@ -1576,7 +1579,8 @@ function init_pouchdb_sync() {
sync
=
PouchDB
.
sync
(
couchdb_dbname
,
couchdb_server
,
{
sync
=
PouchDB
.
sync
(
couchdb_dbname
,
couchdb_server
,
{
live
:
true
,
live
:
true
,
retry
:
true
,
retry
:
true
,
auto_compaction
:
true
auto_compaction
:
true
,
revs_limit
:
1
});
});
sync
.
on
(
'change'
,
function
(
info
)
{
sync
.
on
(
'change'
,
function
(
info
)
{
...
@@ -1620,81 +1624,94 @@ $(document).ready(function() {
...
@@ -1620,81 +1624,94 @@ $(document).ready(function() {
// Main screen
// Main screen
$
(
"#coverage_form"
).
on
(
"submit"
,
function
(
e
)
{
$
(
"#coverage_form"
).
on
(
"submit"
,
function
(
e
)
{
e
.
preventDefault
();
e
.
preventDefault
();
let
val
=
$
(
"#coverage_days_input"
).
val
();
if
(
is_time_to
(
'submit_coverage_form'
))
{
let
val
=
$
(
"#coverage_days_input"
).
val
();
val
=
parseInt
(
val
);
val
=
parseInt
(
val
);
if
(
!
isNaN
(
val
))
{
order_doc
.
coverage_days
=
val
;
if
(
!
isNaN
(
val
))
{
compute_products_coverage_qties
();
order_doc
.
coverage_days
=
val
;
update_cdb_order
();
compute_products_coverage_qties
();
update_main_screen
();
update_cdb_order
();
}
else
{
update_main_screen
();
$
(
"#coverage_days_input"
).
val
(
order_doc
.
coverage_days
);
}
else
{
alert
(
`Valeur non valide pour le nombre de jours de couverture !`
);
$
(
"#coverage_days_input"
).
val
(
order_doc
.
coverage_days
);
alert
(
`Valeur non valide pour le nombre de jours de couverture !`
);
}
}
}
});
});
$
(
"#supplier_form"
).
on
(
"submit"
,
function
(
e
)
{
$
(
"#supplier_form"
).
on
(
"submit"
,
function
(
e
)
{
e
.
preventDefault
();
e
.
preventDefault
();
add_supplier
();
if
(
is_time_to
(
'add_product'
))
{
add_supplier
();
}
});
});
$
(
"#product_form"
).
on
(
"submit"
,
function
(
e
)
{
$
(
"#product_form"
).
on
(
"submit"
,
function
(
e
)
{
e
.
preventDefault
();
e
.
preventDefault
();
add_product
();
if
(
is_time_to
(
'add_product'
))
{
add_product
();
}
});
});
$
(
"#do_inventory"
).
on
(
"click"
,
function
()
{
$
(
"#do_inventory"
).
on
(
"click"
,
function
()
{
generate_inventory
();
if
(
is_time_to
(
'generate_inventory'
))
{
generate_inventory
();
}
});
});
$
(
'#back_to_order_selection_from_main'
).
on
(
'click'
,
function
()
{
$
(
'#back_to_order_selection_from_main'
).
on
(
'click'
,
function
()
{
back
();
if
(
is_time_to
(
'back_to_order_selection_from_main'
))
{
back
();
}
});
});
$
(
'#create_orders'
).
on
(
'click'
,
function
()
{
$
(
'#create_orders'
).
on
(
'click'
,
function
()
{
let
modal_create_order
=
$
(
'#templates #modal_create_order'
);
if
(
is_time_to
(
'create_orders'
))
{
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
empty
();
let
modal_create_order
=
$
(
'#templates #modal_create_order'
);
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
empty
();
for
(
let
supplier
of
selected_suppliers
)
{
let
supplier_date_planned_template
=
$
(
'#templates #modal_create_order__supplier_date_planned'
);
supplier_date_planned_template
.
find
(
".supplier_name"
).
text
(
supplier
.
display_name
);
for
(
let
supplier
of
selected_suppliers
)
{
supplier_date_planned_template
.
find
(
".modal_input_container"
).
attr
(
'id'
,
`container_date_planned_supplier_
${
supplier
.
id
}
`
);
let
supplier_date_planned_template
=
$
(
'#templates #modal_create_order__supplier_date_planned'
);
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
append
(
supplier_date_planned_template
.
html
());
supplier_date_planned_template
.
find
(
".supplier_name"
).
text
(
supplier
.
display_name
);
}
supplier_date_planned_template
.
find
(
".modal_input_container"
).
attr
(
'id'
,
`container_date_planned_supplier_
${
supplier
.
id
}
`
);
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
append
(
supplier_date_planned_template
.
html
());
openModal
(
}
modal_create_order
.
html
(),
()
=>
{
create_orders
();
openModal
(
},
modal_create_order
.
html
(),
'Valider'
,
()
=>
{
false
create_orders
();
);
},
'Valider'
,
// Add id to input once modal is displayed
false
for
(
let
supplier
of
selected_suppliers
)
{
);
$
(
`#modal #container_date_planned_supplier_
${
supplier
.
id
}
`
).
find
(
".supplier_date_planned"
).
attr
(
'id'
,
`date_planned_supplier_
${
supplier
.
id
}
`
);
// Add id to input once modal is displayed
for
(
let
supplier
of
selected_suppliers
)
{
$
(
`#modal #container_date_planned_supplier_
${
supplier
.
id
}
`
).
find
(
".supplier_date_planned"
).
attr
(
'id'
,
`date_planned_supplier_
${
supplier
.
id
}
`
);
}
$
(
"#modal .supplier_date_planned"
)
.
datepicker
({
defaultDate
:
"+1d"
,
minDate
:
new
Date
()
})
.
on
(
'change'
,
function
()
{
try
{
// When date input changes, try to read date
$
.
datepicker
.
parseDate
(
date_format
,
$
(
this
).
val
());
}
catch
{
alert
(
'Date invalide'
);
$
(
this
).
val
(
''
);
}
});
}
}
$
(
"#modal .supplier_date_planned"
)
.
datepicker
({
defaultDate
:
"+1d"
,
minDate
:
new
Date
()
})
.
on
(
'change'
,
function
()
{
try
{
// When date input changes, try to read date
$
.
datepicker
.
parseDate
(
date_format
,
$
(
this
).
val
());
}
catch
{
alert
(
'Date invalide'
);
$
(
this
).
val
(
''
);
}
});
return
0
;
return
0
;
});
});
...
@@ -1732,12 +1749,16 @@ $(document).ready(function() {
...
@@ -1732,12 +1749,16 @@ $(document).ready(function() {
$
(
"#new_order_form"
).
on
(
"submit"
,
function
(
e
)
{
$
(
"#new_order_form"
).
on
(
"submit"
,
function
(
e
)
{
e
.
preventDefault
();
e
.
preventDefault
();
create_cdb_order
();
if
(
is_time_to
(
'submit_new_order_form'
,
1000
))
{
create_cdb_order
();
}
});
});
// Orders created screen
// Orders created screen
$
(
'#back_to_order_selection_from_orders_created'
).
on
(
'click'
,
function
()
{
$
(
'#back_to_order_selection_from_orders_created'
).
on
(
'click'
,
function
()
{
switch_screen
(
'order_selection'
,
'orders_created'
);
if
(
is_time_to
(
'back_to_order_selection_from_orders_created'
))
{
switch_screen
(
'order_selection'
,
'orders_created'
);
}
});
});
// Get suppliers
// Get suppliers
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment