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
0ee8de08
Commit
0ee8de08
authored
Jul 23, 2021
by
Damien Moulard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
linting
parent
565034da
Pipeline
#1255
passed with stage
in 1 minute 21 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
30 deletions
+36
-30
orders_helper.js
orders/static/js/orders_helper.js
+36
-30
No files found.
orders/static/js/orders_helper.js
View file @
0ee8de08
...
@@ -85,23 +85,25 @@ function dates_diff(date1, date2) {
...
@@ -85,23 +85,25 @@ function dates_diff(date1, date2) {
/**
/**
* Compute the date from which to calculate stats of sells,
* Compute the date from which to calculate stats of sells,
* depending on the selected parameter.
* depending on the selected parameter.
*
*
* @returns String value of the date, ISO format
* @returns String value of the date, ISO format
*/
*/
function
_compute_stats_date_from
()
{
function
_compute_stats_date_from
()
{
let
val
=
''
;
let
val
=
''
;
if
(
order_doc
.
stats_date_period
!==
''
)
{
if
(
order_doc
.
stats_date_period
!==
''
)
{
let
date
=
new
Date
();
let
date
=
new
Date
();
switch
(
order_doc
.
stats_date_period
)
{
switch
(
order_doc
.
stats_date_period
)
{
case
'1week'
:
case
'1week'
:
date
.
setDate
(
date
.
getDate
()
-
7
);
date
.
setDate
(
date
.
getDate
()
-
7
);
break
;
break
;
case
'2weeks'
:
case
'2weeks'
:
date
.
setDate
(
date
.
getDate
()
-
14
);
date
.
setDate
(
date
.
getDate
()
-
14
);
break
;
break
;
default
:
break
;
}
}
let
day
=
(
"0"
+
date
.
getDate
()).
slice
(
-
2
);
let
day
=
(
"0"
+
date
.
getDate
()).
slice
(
-
2
);
...
@@ -109,7 +111,7 @@ function _compute_stats_date_from() {
...
@@ -109,7 +111,7 @@ function _compute_stats_date_from() {
let
year
=
date
.
getFullYear
();
let
year
=
date
.
getFullYear
();
val
=
`
${
year
}
-
${
month
}
-
${
day
}
`
;
val
=
`
${
year
}
-
${
month
}
-
${
day
}
`
;
}
}
return
val
;
return
val
;
}
}
...
@@ -146,7 +148,7 @@ function add_product() {
...
@@ -146,7 +148,7 @@ function add_product() {
let
data
=
{
let
data
=
{
pids
:
[
product
.
tpl_id
],
pids
:
[
product
.
tpl_id
],
stats_from
:
_compute_stats_date_from
()
stats_from
:
_compute_stats_date_from
()
}
}
;
$
.
ajax
({
$
.
ajax
({
type
:
'POST'
,
type
:
'POST'
,
...
@@ -252,7 +254,7 @@ function check_products_data() {
...
@@ -252,7 +254,7 @@ function check_products_data() {
products
.
push
(
product
);
products
.
push
(
product
);
}
else
{
}
else
{
// Save old product suppliersinfo to keep user qty inputs
// Save old product suppliersinfo to keep user qty inputs
const
old_suppliersinfo
=
[
...
products
[
p_index
].
suppliersinfo
];
const
old_suppliersinfo
=
[
...
products
[
p_index
].
suppliersinfo
];
// Update product data
// Update product data
products
[
p_index
]
=
product
;
products
[
p_index
]
=
product
;
...
@@ -260,7 +262,7 @@ function check_products_data() {
...
@@ -260,7 +262,7 @@ function check_products_data() {
// Re-set qties
// Re-set qties
for
(
let
psi_index
in
products
[
p_index
].
suppliersinfo
)
{
for
(
let
psi_index
in
products
[
p_index
].
suppliersinfo
)
{
const
old_psi
=
old_suppliersinfo
.
find
(
psi
=>
psi
.
supplier_id
==
products
[
p_index
].
suppliersinfo
[
psi_index
].
supplier_id
);
const
old_psi
=
old_suppliersinfo
.
find
(
psi
=>
psi
.
supplier_id
==
products
[
p_index
].
suppliersinfo
[
psi_index
].
supplier_id
);
if
(
old_psi
!==
undefined
&&
old_psi
.
qty
!==
undefined
)
{
if
(
old_psi
!==
undefined
&&
old_psi
.
qty
!==
undefined
)
{
products
[
p_index
].
suppliersinfo
[
psi_index
].
qty
=
old_psi
.
qty
;
products
[
p_index
].
suppliersinfo
[
psi_index
].
qty
=
old_psi
.
qty
;
}
}
...
@@ -468,7 +470,7 @@ function save_supplier_product_association(product, supplier, cell) {
...
@@ -468,7 +470,7 @@ function save_supplier_product_association(product, supplier, cell) {
* @param {object} product
* @param {object} product
* @param {object} supplier
* @param {object} supplier
*/
*/
function
remove_supplier_product_association
(
product
,
supplier
)
{
function
remove_supplier_product_association
(
product
,
supplier
)
{
openModal
();
openModal
();
const
data
=
{
const
data
=
{
...
@@ -484,15 +486,16 @@ function save_supplier_product_association(product, supplier, cell) {
...
@@ -484,15 +486,16 @@ function save_supplier_product_association(product, supplier, cell) {
traditional
:
true
,
traditional
:
true
,
contentType
:
"application/json; charset=utf-8"
,
contentType
:
"application/json; charset=utf-8"
,
data
:
JSON
.
stringify
(
data
),
data
:
JSON
.
stringify
(
data
),
success
:
(
res
)
=>
{
success
:
()
=>
{
// Remove relation locally
// Remove relation locally
let
p_index
=
products
.
findIndex
(
p
=>
p
.
id
==
product
.
id
);
let
p_index
=
products
.
findIndex
(
p
=>
p
.
id
==
product
.
id
);
let
psi_index
=
product
.
suppliersinfo
.
findIndex
(
psi
=>
psi
.
supplier_id
==
supplier
.
id
);
let
psi_index
=
product
.
suppliersinfo
.
findIndex
(
psi
=>
psi
.
supplier_id
==
supplier
.
id
);
products
[
p_index
].
suppliersinfo
.
splice
(
psi_index
,
1
);
products
[
p_index
].
suppliersinfo
.
splice
(
psi_index
,
1
);
// Update table
// Update table
display_products
();
display_products
();
update_cdb_order
();
update_cdb_order
();
closeModal
();
closeModal
();
},
},
...
@@ -1353,7 +1356,7 @@ function display_products(params) {
...
@@ -1353,7 +1356,7 @@ function display_products(params) {
// If datatable already exists, empty & clear events
// If datatable already exists, empty & clear events
if
(
products_table
)
{
if
(
products_table
)
{
$
(
products_table
.
table
().
header
()).
off
()
$
(
products_table
.
table
().
header
()).
off
()
;
$
(
'#products_table'
).
off
();
$
(
'#products_table'
).
off
();
products_table
.
clear
().
destroy
();
products_table
.
clear
().
destroy
();
...
@@ -1427,8 +1430,10 @@ function display_products(params) {
...
@@ -1427,8 +1430,10 @@ function display_products(params) {
let
modal_remove_supplier_product_association
=
$
(
'#templates #modal_remove_supplier_product_association'
);
let
modal_remove_supplier_product_association
=
$
(
'#templates #modal_remove_supplier_product_association'
);
const
product
=
products
.
find
(
p
=>
p
.
id
==
prod_id
);
const
product
=
products
.
find
(
p
=>
p
.
id
==
prod_id
);
modal_remove_supplier_product_association
.
find
(
".product_name"
).
text
(
product
.
name
);
modal_remove_supplier_product_association
.
find
(
".product_name"
).
text
(
product
.
name
);
const
supplier
=
selected_suppliers
.
find
(
s
=>
s
.
id
==
supplier_id
);
const
supplier
=
selected_suppliers
.
find
(
s
=>
s
.
id
==
supplier_id
);
modal_remove_supplier_product_association
.
find
(
".supplier_name"
).
text
(
supplier
.
display_name
);
modal_remove_supplier_product_association
.
find
(
".supplier_name"
).
text
(
supplier
.
display_name
);
openModal
(
openModal
(
...
@@ -1444,24 +1449,25 @@ function display_products(params) {
...
@@ -1444,24 +1449,25 @@ function display_products(params) {
()
=>
{
()
=>
{
// Reset value in input on cancel
// Reset value in input on cancel
const
psi
=
product
.
suppliersinfo
.
find
(
psi_item
=>
psi_item
.
supplier_id
==
supplier_id
);
const
psi
=
product
.
suppliersinfo
.
find
(
psi_item
=>
psi_item
.
supplier_id
==
supplier_id
);
$
(
this
).
val
(
psi
.
qty
);
$
(
this
).
val
(
psi
.
qty
);
}
}
);
);
}
else
{
}
else
{
val
=
parseFloat
(
val
);
val
=
parseFloat
(
val
);
// If value is a number
// If value is a number
if
(
!
isNaN
(
val
))
{
if
(
!
isNaN
(
val
))
{
// Save value
// Save value
save_product_supplier_qty
(
prod_id
,
supplier_id
,
val
);
save_product_supplier_qty
(
prod_id
,
supplier_id
,
val
);
// Update row
// Update row
const
product
=
products
.
find
(
p
=>
p
.
id
==
prod_id
);
const
product
=
products
.
find
(
p
=>
p
.
id
==
prod_id
);
const
new_row_data
=
prepare_datatable_data
([
product
.
id
])[
0
];
const
new_row_data
=
prepare_datatable_data
([
product
.
id
])[
0
];
products_table
.
row
(
$
(
this
).
closest
(
'tr'
)).
data
(
new_row_data
)
products_table
.
row
(
$
(
this
).
closest
(
'tr'
)).
data
(
new_row_data
)
.
draw
();
.
draw
();
update_cdb_order
();
update_cdb_order
();
display_total_values
();
display_total_values
();
}
else
{
}
else
{
...
@@ -1469,16 +1475,16 @@ function display_products(params) {
...
@@ -1469,16 +1475,16 @@ function display_products(params) {
}
}
}
}
})
})
.
on
(
'change'
,
'tbody td .product_qty_input'
,
function
()
{
.
on
(
'change'
,
'tbody td .product_qty_input'
,
function
()
{
// Since data change is saved on blur, set focus on change in case of arrows pressed
// Since data change is saved on blur, set focus on change in case of arrows pressed
$
(
this
).
focus
();
$
(
this
).
focus
();
})
})
.
on
(
'keypress'
,
'tbody td .product_qty_input'
,
function
(
e
)
{
.
on
(
'keypress'
,
'tbody td .product_qty_input'
,
function
(
e
)
{
if
(
e
.
which
==
13
)
{
if
(
e
.
which
==
13
)
{
// Validate on Enter pressed
// Validate on Enter pressed
$
(
this
).
blur
();
$
(
this
).
blur
();
}
}
});
;
})
;
// Associate product to supplier on click on 'X' in the table
// Associate product to supplier on click on 'X' in the table
$
(
'#products_table'
).
on
(
'click'
,
'tbody .product_not_from_supplier'
,
function
()
{
$
(
'#products_table'
).
on
(
'click'
,
'tbody .product_not_from_supplier'
,
function
()
{
...
...
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