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
d0157c9c
Commit
d0157c9c
authored
Jul 03, 2021
by
François
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow Special FTOP to easy validate shift (and eslint auto fix)
parent
bfbd616f
Pipeline
#1153
passed with stage
in 1 minute 22 seconds
Changes
6
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
128 additions
and
34 deletions
+128
-34
models.py
members/models.py
+38
-0
members.js
members/static/js/members.js
+28
-18
views.py
members/views.py
+14
-1
orders_helper.js
orders/static/js/orders_helper.js
+43
-12
config.md
outils/config.md
+4
-1
all_common.js
outils/static/js/all_common.js
+1
-2
No files found.
members/models.py
View file @
d0157c9c
...
@@ -1176,6 +1176,44 @@ class CagetteServices(models.Model):
...
@@ -1176,6 +1176,44 @@ class CagetteServices(models.Model):
result
[
'service_found'
]
=
False
result
[
'service_found'
]
=
False
return
result
return
result
@staticmethod
def
easy_validate_shift_presence
(
coop_id
):
"""Add a presence point if the request is valid."""
res
=
{}
try
:
api
=
OdooAPI
()
# let verify coop_id is corresponding to a ftop subscriber
cond
=
[[
'id'
,
'='
,
coop_id
]]
fields
=
[
'shift_type'
]
coop
=
api
.
search_read
(
'res.partner'
,
cond
,
fields
)
if
coop
:
if
coop
[
0
][
'shift_type'
]
==
'ftop'
:
evt_name
=
getattr
(
settings
,
'ENTRANCE_ADD_PT_EVENT_NAME'
,
'Validation service comité'
)
c
=
[[
'partner_id'
,
'='
,
coop_id
],
[
'name'
,
'='
,
evt_name
]]
f
=
[
'create_date'
]
last_point_mvts
=
api
.
search_read
(
'shift.counter.event'
,
c
,
f
,
order
=
"create_date DESC"
,
limit
=
1
)
ok_for_adding_pt
=
False
if
len
(
last_point_mvts
):
now
=
datetime
.
datetime
.
now
()
past
=
datetime
.
datetime
.
strptime
(
last_point_mvts
[
0
][
'create_date'
],
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
if
(
now
-
past
)
.
total_seconds
()
>=
3600
*
24
:
ok_for_adding_pt
=
True
else
:
ok_for_adding_pt
=
True
if
ok_for_adding_pt
is
True
:
res
[
'evt_id'
]
=
CagetteMember
(
coop_id
)
.
add_pts
(
'ftop'
,
1
,
evt_name
)
else
:
res
[
'error'
]
=
"One point has been added less then 24 hours ago"
else
:
res
[
'error'
]
=
"Unallowed coop"
else
:
res
[
'error'
]
=
"Invalid coop id"
except
Exception
as
e
:
coop_logger
.
error
(
"easy_validate_shift_presence :
%
s
%
s"
,
str
(
coop_id
),
str
(
e
))
return
res
class
CagetteUser
(
models
.
Model
):
class
CagetteUser
(
models
.
Model
):
@staticmethod
@staticmethod
...
...
members/static/js/members.js
View file @
d0157c9c
...
@@ -24,6 +24,8 @@ var current_displayed_member = null,
...
@@ -24,6 +24,8 @@ var current_displayed_member = null,
rattrapage_ou_volant
=
null
,
rattrapage_ou_volant
=
null
,
timeout_counter
=
null
;
timeout_counter
=
null
;
var
search_button
=
$
(
'.btn--primary.search'
);
var
search_button
=
$
(
'.btn--primary.search'
);
var
sm_search_member_button
=
$
(
'#sm_search_member_button'
),
sm_search_member_input
=
$
(
'#sm_search_member_input'
);
var
loading2
=
$
(
'.loading2'
);
var
loading2
=
$
(
'.loading2'
);
var
search_field
=
$
(
'input[name="search_string"]'
);
var
search_field
=
$
(
'input[name="search_string"]'
);
var
shift_title
=
$
(
'#current_shift_title'
);
var
shift_title
=
$
(
'#current_shift_title'
);
...
@@ -163,7 +165,7 @@ function canSearch() {
...
@@ -163,7 +165,7 @@ function canSearch() {
function
search_member
(
force_search
=
false
)
{
function
search_member
(
force_search
=
false
)
{
chars
=
[];
// to prevent false "as barcode-reader" input
chars
=
[];
// to prevent false "as barcode-reader" input
operator
=
null
operator
=
null
;
if
(
canSearch
()
||
force_search
)
{
if
(
canSearch
()
||
force_search
)
{
html_elts
.
member_slide
.
hide
();
html_elts
.
member_slide
.
hide
();
...
@@ -281,11 +283,15 @@ function fill_service_entry(s) {
...
@@ -281,11 +283,15 @@ function fill_service_entry(s) {
rattrapage_wanted
.
show
();
rattrapage_wanted
.
show
();
}
}
function
clean_se
rvice_entry
()
{
function
clean_se
arch_for_easy_validate_zone
()
{
$
(
'.search_member_results_area'
).
hide
();
$
(
'.search_member_results_area'
).
hide
();
$
(
'.search_member_results'
).
empty
();
$
(
'.search_member_results'
).
empty
();
$
(
'#sm_search_member_input'
).
val
(
''
);
sm_search_member_input
.
val
(
''
);
operator
=
null
operator
=
null
;
}
function
clean_service_entry
()
{
clean_search_for_easy_validate_zone
();
rattrapage_wanted
.
hide
();
rattrapage_wanted
.
hide
();
shift_title
.
text
(
''
);
shift_title
.
text
(
''
);
shift_members
.
html
(
''
);
shift_members
.
html
(
''
);
...
@@ -681,20 +687,20 @@ function ask_for_easy_shift_validation() {
...
@@ -681,20 +687,20 @@ function ask_for_easy_shift_validation() {
post_form
(
post_form
(
'/members/easy_validate_shift_presence'
,
'/members/easy_validate_shift_presence'
,
{
{
coop_id
:
operator
.
id
,
coop_id
:
operator
.
id
},
},
function
(
err
,
result
)
{
function
(
err
,
result
)
{
console
.
log
(
result
);
if
(
!
err
)
{
if
(
!
err
)
{
if
(
typeof
(
result
.
msg
)
!=
"undefined"
)
{
alert
(
"1 point volant vient d'être ajouté."
);
alert
(
result
.
msg
);
clean_search_for_easy_validate_zone
();
}
else
if
(
result
.
action
===
null
)
{
console
.
log
(
'ok'
)
}
closeModal
();
closeModal
();
}
else
{
}
else
{
console
.
log
(
err
)
if
(
typeof
(
err
.
responseJSON
)
!=
"undefined"
&&
typeof
(
err
.
responseJSON
.
error
)
!=
"undefined"
)
{
alert
(
err
.
responseJSON
.
error
);
}
else
{
console
.
log
(
err
);
}
}
}
}
}
);
);
...
@@ -723,13 +729,11 @@ function display_possible_members() {
...
@@ -723,13 +729,11 @@ function display_possible_members() {
+
'</button>'
;
+
'</button>'
;
$
(
'.search_member_results'
).
append
(
member_button
);
$
(
'.search_member_results'
).
append
(
member_button
);
// Set action on click on a member button
// Set action on click on a member button
$
(
'.btn_member'
).
on
(
'click'
,
function
()
{
$
(
'.btn_member'
).
on
(
'click'
,
function
()
{
for
(
member
of
members_search_results
)
{
for
(
member
of
members_search_results
)
{
if
(
member
.
id
==
$
(
this
).
attr
(
'member_id'
))
{
if
(
member
.
id
==
$
(
this
).
attr
(
'member_id'
))
{
operator
=
member
;
operator
=
member
;
// Enable validation button when operator is selected
// Enable validation button when operator is selected
ask_for_easy_shift_validation
();
ask_for_easy_shift_validation
();
break
;
break
;
...
@@ -784,7 +788,10 @@ $(document).ready(function() {
...
@@ -784,7 +788,10 @@ $(document).ready(function() {
});
});
$
(
'#sm_search_member_form'
).
submit
(
function
()
{
$
(
'#sm_search_member_form'
).
submit
(
function
()
{
let
search_str
=
$
(
'#sm_search_member_input'
).
val
();
if
(
is_time_to
(
'search_member'
,
1000
))
{
sm_search_member_button
.
empty
().
append
(
`<i class="fas fa-spinner fa-spin"></i>`
);
let
search_str
=
sm_search_member_input
.
val
();
$
.
ajax
({
$
.
ajax
({
url
:
'/members/search/'
+
search_str
,
url
:
'/members/search/'
+
search_str
,
dataType
:
'json'
,
dataType
:
'json'
,
...
@@ -792,7 +799,6 @@ $(document).ready(function() {
...
@@ -792,7 +799,6 @@ $(document).ready(function() {
members_search_results
=
[];
members_search_results
=
[];
for
(
member
of
data
.
res
)
{
for
(
member
of
data
.
res
)
{
console
.
log
(
member
)
if
(
member
.
shift_type
==
'ftop'
)
{
if
(
member
.
shift_type
==
'ftop'
)
{
members_search_results
.
push
(
member
);
members_search_results
.
push
(
member
);
}
}
...
@@ -811,9 +817,13 @@ $(document).ready(function() {
...
@@ -811,9 +817,13 @@ $(document).ready(function() {
globalPosition
:
"top right"
,
globalPosition
:
"top right"
,
className
:
"error"
className
:
"error"
});
});
},
complete
:
function
()
{
sm_search_member_button
.
empty
().
append
(
`Recherche`
);
}
});
}
}
});
});
})
});
});
...
...
members/views.py
View file @
d0157c9c
...
@@ -286,7 +286,20 @@ def record_service_presence(request):
...
@@ -286,7 +286,20 @@ def record_service_presence(request):
return
JsonResponse
({
'res'
:
res
})
return
JsonResponse
({
'res'
:
res
})
def
easy_validate_shift_presence
(
request
):
def
easy_validate_shift_presence
(
request
):
return
JsonResponse
({})
"""Add a presence point if the request is valid."""
res
=
{}
try
:
coop_id
=
int
(
request
.
POST
.
get
(
"coop_id"
,
"nan"
))
res
=
CagetteServices
.
easy_validate_shift_presence
(
coop_id
)
except
Exception
as
e
:
res
[
'error'
]
=
str
(
e
)
if
'error'
in
res
:
if
res
[
'error'
]
==
"One point has been added less then 24 hours ago"
:
# TODO : use translation (all project wide)
res
[
'error'
]
=
"Vous ne pouvez pas valider plus d'un service par 24h"
return
JsonResponse
(
res
,
status
=
500
)
else
:
return
JsonResponse
(
res
,
safe
=
False
)
def
record_absences
(
request
):
def
record_absences
(
request
):
return
JsonResponse
({
'res'
:
CagetteServices
.
record_absences
()})
return
JsonResponse
({
'res'
:
CagetteServices
.
record_absences
()})
...
...
orders/static/js/orders_helper.js
View file @
d0157c9c
...
@@ -119,6 +119,7 @@ function add_product() {
...
@@ -119,6 +119,7 @@ function add_product() {
contentType
:
"application/json; charset=utf-8"
,
contentType
:
"application/json; charset=utf-8"
,
success
:
function
(
data
)
{
success
:
function
(
data
)
{
let
res
=
data
.
products
[
0
];
let
res
=
data
.
products
[
0
];
if
(
typeof
res
.
id
!=
"undefined"
)
{
if
(
typeof
res
.
id
!=
"undefined"
)
{
res
.
suppliersinfo
=
[];
res
.
suppliersinfo
=
[];
res
.
default_code
=
' '
;
res
.
default_code
=
' '
;
...
@@ -191,7 +192,8 @@ function check_products_data() {
...
@@ -191,7 +192,8 @@ function check_products_data() {
}
}
);
);
clicked_order_pill
.
find
(
'.pill_order_name'
).
empty
().
append
(
`<i class="fas fa-spinner fa-spin"></i>`
);
clicked_order_pill
.
find
(
'.pill_order_name'
).
empty
()
.
append
(
`<i class="fas fa-spinner fa-spin"></i>`
);
$
.
ajax
({
$
.
ajax
({
type
:
'GET'
,
type
:
'GET'
,
...
@@ -208,12 +210,14 @@ function check_products_data() {
...
@@ -208,12 +210,14 @@ function check_products_data() {
// Override products data with new data (without suppliersinfo so we don't override qty)
// Override products data with new data (without suppliersinfo so we don't override qty)
const
updated_suppliersinfo
=
product
.
suppliersinfo
;
const
updated_suppliersinfo
=
product
.
suppliersinfo
;
delete
product
.
suppliersinfo
;
delete
product
.
suppliersinfo
;
products
[
p_index
]
=
{
...
products
[
p_index
],
...
product
};
products
[
p_index
]
=
{
...
products
[
p_index
],
...
product
};
// Update suppliers info
// Update suppliers info
for
(
let
psi_index
in
products
[
p_index
].
suppliersinfo
)
{
for
(
let
psi_index
in
products
[
p_index
].
suppliersinfo
)
{
const
updated_psi
=
updated_suppliersinfo
.
find
(
psi
=>
psi
.
supplier_id
==
products
[
p_index
].
suppliersinfo
[
psi_index
].
supplier_id
);
const
updated_psi
=
updated_suppliersinfo
.
find
(
psi
=>
psi
.
supplier_id
==
products
[
p_index
].
suppliersinfo
[
psi_index
].
supplier_id
);
if
(
updated_psi
!==
undefined
)
{
if
(
updated_psi
!==
undefined
)
{
products
[
p_index
].
suppliersinfo
[
psi_index
].
package_qty
=
updated_psi
.
package_qty
;
products
[
p_index
].
suppliersinfo
[
psi_index
].
package_qty
=
updated_psi
.
package_qty
;
products
[
p_index
].
suppliersinfo
[
psi_index
].
price
=
updated_psi
.
price
;
products
[
p_index
].
suppliersinfo
[
psi_index
].
price
=
updated_psi
.
price
;
...
@@ -279,6 +283,7 @@ function add_supplier() {
...
@@ -279,6 +283,7 @@ function add_supplier() {
selected_suppliers
.
push
(
supplier
);
selected_suppliers
.
push
(
supplier
);
let
url
=
"/orders/get_supplier_products"
;
let
url
=
"/orders/get_supplier_products"
;
url
+=
"?sids="
+
encodeURIComponent
(
supplier
.
id
);
url
+=
"?sids="
+
encodeURIComponent
(
supplier
.
id
);
// Fetch supplier products
// Fetch supplier products
...
@@ -486,6 +491,7 @@ function _compute_total_values_by_supplier() {
...
@@ -486,6 +491,7 @@ function _compute_total_values_by_supplier() {
let
supplier_index
=
selected_suppliers
.
findIndex
(
s
=>
s
.
id
==
supinfo
.
supplier_id
);
let
supplier_index
=
selected_suppliers
.
findIndex
(
s
=>
s
.
id
==
supinfo
.
supplier_id
);
let
product_supplier_value
=
(
'qty'
in
supinfo
)
?
supinfo
.
qty
*
supinfo
.
package_qty
*
supinfo
.
price
:
0
;
let
product_supplier_value
=
(
'qty'
in
supinfo
)
?
supinfo
.
qty
*
supinfo
.
package_qty
*
supinfo
.
price
:
0
;
selected_suppliers
[
supplier_index
].
total_value
+=
product_supplier_value
;
selected_suppliers
[
supplier_index
].
total_value
+=
product_supplier_value
;
}
}
}
}
...
@@ -590,7 +596,8 @@ function generate_inventory() {
...
@@ -590,7 +596,8 @@ function generate_inventory() {
modal_create_inventory
.
html
(),
modal_create_inventory
.
html
(),
()
=>
{
()
=>
{
if
(
is_time_to
(
'validate_generate_inventory'
))
{
if
(
is_time_to
(
'validate_generate_inventory'
))
{
$
(
'#do_inventory'
).
empty
().
append
(
`<i class="fas fa-spinner fa-spin"></i>`
);
$
(
'#do_inventory'
).
empty
()
.
append
(
`<i class="fas fa-spinner fa-spin"></i>`
);
$
.
ajax
({
$
.
ajax
({
type
:
"POST"
,
type
:
"POST"
,
url
:
"/inventory/generate_inventory_list"
,
url
:
"/inventory/generate_inventory_list"
,
...
@@ -603,7 +610,8 @@ function generate_inventory() {
...
@@ -603,7 +610,8 @@ function generate_inventory() {
// Give time for modal to fade
// Give time for modal to fade
setTimeout
(
function
()
{
setTimeout
(
function
()
{
$
(
'#do_inventory'
).
empty
().
append
(
`Faire un inventaire`
);
$
(
'#do_inventory'
).
empty
()
.
append
(
`Faire un inventaire`
);
$
(
'#do_inventory'
).
notify
(
$
(
'#do_inventory'
).
notify
(
"Inventaire créé !"
,
"Inventaire créé !"
,
{
{
...
@@ -614,7 +622,8 @@ function generate_inventory() {
...
@@ -614,7 +622,8 @@ function generate_inventory() {
},
200
);
},
200
);
},
},
error
:
function
(
data
)
{
error
:
function
(
data
)
{
$
(
'#do_inventory'
).
empty
().
append
(
`Faire un inventaire`
);
$
(
'#do_inventory'
).
empty
()
.
append
(
`Faire un inventaire`
);
let
msg
=
"erreur serveur lors de la création de l'inventaire"
.
let
msg
=
"erreur serveur lors de la création de l'inventaire"
.
err
=
{
msg
:
msg
,
ctx
:
'generate_inventory'
};
err
=
{
msg
:
msg
,
ctx
:
'generate_inventory'
};
...
@@ -778,17 +787,19 @@ function create_orders() {
...
@@ -778,17 +787,19 @@ function create_orders() {
}
else
{
}
else
{
// Default date : tomorrow
// Default date : tomorrow
let
date_object
=
new
Date
();
let
date_object
=
new
Date
();
date_object
.
setDate
(
date_object
.
getDate
()
+
1
);
date_object
.
setDate
(
date_object
.
getDate
()
+
1
);
// Get ISO format bare string
// Get ISO format bare string
formatted_date
=
date_object
.
toISOString
().
replace
(
'T'
,
' '
).
split
(
'.'
)[
0
];
formatted_date
=
date_object
.
toISOString
().
replace
(
'T'
,
' '
)
.
split
(
'.'
)[
0
];
}
}
// Create an entry for this supplier
// Create an entry for this supplier
orders_data
.
suppliers_data
[
supplier
.
id
]
=
{
orders_data
.
suppliers_data
[
supplier
.
id
]
=
{
date_planned
:
formatted_date
,
date_planned
:
formatted_date
,
lines
:
[]
lines
:
[]
}
}
;
}
}
openModal
();
openModal
();
...
@@ -858,7 +869,7 @@ function create_orders() {
...
@@ -858,7 +869,7 @@ function create_orders() {
order_doc
.
_deleted
=
true
;
order_doc
.
_deleted
=
true
;
update_cdb_order
().
then
(()
=>
{
update_cdb_order
().
then
(()
=>
{
update_order_selection_screen
();
update_order_selection_screen
();
})
})
;
reset_data
();
reset_data
();
switch_screen
(
'orders_created'
);
switch_screen
(
'orders_created'
);
closeModal
();
closeModal
();
...
@@ -934,7 +945,7 @@ function goto_main_screen(doc) {
...
@@ -934,7 +945,7 @@ function goto_main_screen(doc) {
update_cdb_order
();
update_cdb_order
();
update_main_screen
();
update_main_screen
();
switch_screen
();
switch_screen
();
})
})
;
}
}
function
back
()
{
function
back
()
{
...
@@ -980,6 +991,7 @@ function display_suppliers() {
...
@@ -980,6 +991,7 @@ function display_suppliers() {
const
clicked_supplier
=
selected_suppliers
.
find
(
s
=>
s
.
id
==
supplier_id
);
const
clicked_supplier
=
selected_suppliers
.
find
(
s
=>
s
.
id
==
supplier_id
);
let
modal_remove_supplier
=
$
(
'#templates #modal_remove_supplier'
);
let
modal_remove_supplier
=
$
(
'#templates #modal_remove_supplier'
);
modal_remove_supplier
.
find
(
".supplier_name"
).
text
(
clicked_supplier
.
display_name
);
modal_remove_supplier
.
find
(
".supplier_name"
).
text
(
clicked_supplier
.
display_name
);
openModal
(
openModal
(
...
@@ -1037,6 +1049,7 @@ function _compute_product_data(product) {
...
@@ -1037,6 +1049,7 @@ function _compute_product_data(product) {
if
(
order_doc
.
coverage_days
!==
null
)
{
if
(
order_doc
.
coverage_days
!==
null
)
{
let
qty_not_covered
=
0
;
let
qty_not_covered
=
0
;
let
days_covered
=
0
;
let
days_covered
=
0
;
if
(
product
.
daily_conso
!==
0
)
{
if
(
product
.
daily_conso
!==
0
)
{
qty_not_covered
=
product
.
daily_conso
*
order_doc
.
coverage_days
-
product
.
qty_available
-
product
.
incoming_qty
-
purchase_qty
;
qty_not_covered
=
product
.
daily_conso
*
order_doc
.
coverage_days
-
product
.
qty_available
-
product
.
incoming_qty
-
purchase_qty
;
qty_not_covered
=
-
Math
.
ceil
(
qty_not_covered
);
// round up, so if a value is not fully covered display it
qty_not_covered
=
-
Math
.
ceil
(
qty_not_covered
);
// round up, so if a value is not fully covered display it
...
@@ -1266,8 +1279,20 @@ function display_products(params) {
...
@@ -1266,8 +1279,20 @@ function display_products(params) {
stripeClasses
:
[],
// Remove datatable cells coloring
stripeClasses
:
[],
// Remove datatable cells coloring
orderClasses
:
false
,
orderClasses
:
false
,
aLengthMenu
:
[
aLengthMenu
:
[
[
25
,
50
,
100
,
200
,
-
1
],
[
[
25
,
50
,
100
,
200
,
"Tout"
]
25
,
50
,
100
,
200
,
-
1
],
[
25
,
50
,
100
,
200
,
"Tout"
]
],
],
iDisplayLength
:
-
1
,
iDisplayLength
:
-
1
,
scrollX
:
true
,
scrollX
:
true
,
...
@@ -1469,8 +1494,10 @@ function display_total_values() {
...
@@ -1469,8 +1494,10 @@ function display_total_values() {
_compute_total_values_by_supplier
();
_compute_total_values_by_supplier
();
let
order_total_value
=
0
;
let
order_total_value
=
0
;
for
(
let
supplier
of
selected_suppliers
)
{
for
(
let
supplier
of
selected_suppliers
)
{
$
(
`#pill_supplier_
${
supplier
.
id
}
`
).
find
(
'.supplier_total_value'
).
text
(
parseFloat
(
supplier
.
total_value
).
toFixed
(
2
));
$
(
`#pill_supplier_
${
supplier
.
id
}
`
).
find
(
'.supplier_total_value'
)
.
text
(
parseFloat
(
supplier
.
total_value
).
toFixed
(
2
));
order_total_value
+=
supplier
.
total_value
;
order_total_value
+=
supplier
.
total_value
;
}
}
...
@@ -1528,6 +1555,7 @@ function update_order_selection_screen() {
...
@@ -1528,6 +1555,7 @@ function update_order_selection_screen() {
$
(
".order_pill"
).
off
();
$
(
".order_pill"
).
off
();
let
existing_orders_container
=
$
(
"#existing_orders"
);
let
existing_orders_container
=
$
(
"#existing_orders"
);
existing_orders_container
.
empty
();
existing_orders_container
.
empty
();
$
(
'#new_order_name'
).
val
(
''
);
$
(
'#new_order_name'
).
val
(
''
);
...
@@ -1536,6 +1564,7 @@ function update_order_selection_screen() {
...
@@ -1536,6 +1564,7 @@ function update_order_selection_screen() {
}
else
{
}
else
{
for
(
let
row
of
result
.
rows
)
{
for
(
let
row
of
result
.
rows
)
{
let
template
=
$
(
"#templates #order_pill_template"
);
let
template
=
$
(
"#templates #order_pill_template"
);
template
.
find
(
".pill_order_name"
).
text
(
row
.
id
);
template
.
find
(
".pill_order_name"
).
text
(
row
.
id
);
existing_orders_container
.
append
(
template
.
html
());
existing_orders_container
.
append
(
template
.
html
());
...
@@ -1699,6 +1728,7 @@ $(document).ready(function() {
...
@@ -1699,6 +1728,7 @@ $(document).ready(function() {
$
(
'#create_orders'
).
on
(
'click'
,
function
()
{
$
(
'#create_orders'
).
on
(
'click'
,
function
()
{
if
(
is_time_to
(
'create_orders'
,
1000
))
{
if
(
is_time_to
(
'create_orders'
,
1000
))
{
let
modal_create_order
=
$
(
'#templates #modal_create_order'
);
let
modal_create_order
=
$
(
'#templates #modal_create_order'
);
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
empty
();
modal_create_order
.
find
(
'.suppliers_date_planned_area'
).
empty
();
for
(
let
supplier
of
selected_suppliers
)
{
for
(
let
supplier
of
selected_suppliers
)
{
...
@@ -1724,7 +1754,8 @@ $(document).ready(function() {
...
@@ -1724,7 +1754,8 @@ $(document).ready(function() {
// Add id to input once modal is displayed
// Add id to input once modal is displayed
for
(
let
supplier
of
selected_suppliers
)
{
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 #container_date_planned_supplier_
${
supplier
.
id
}
`
).
find
(
".supplier_date_planned"
)
.
attr
(
'id'
,
`date_planned_supplier_
${
supplier
.
id
}
`
);
}
}
$
(
"#modal .supplier_date_planned"
)
$
(
"#modal .supplier_date_planned"
)
...
...
outils/config.md
View file @
d0157c9c
...
@@ -230,8 +230,11 @@
...
@@ -230,8 +230,11 @@
-
ENTRANCE_EXTRA_BUTTONS_DISPLAY = False (no button is shown above shift coop. list) (True if not set)
-
ENTRANCE_EXTRA_BUTTONS_DISPLAY = False (no button is shown above shift coop. list) (True if not set)
-
ENTRANCE_EASY_SHIFT_VALIDATE = False (default value)
When set to True allow coop to identify and have 1 point (only if FTOP)
-
ENTRANCE_EASY_SHIFT_VALIDATE = False (default value)
When set to True allow coop to identify and have 1 point (only if FTOP)
-
ENTRANCE_ADD_PT_EVENT_NAME = 'Add 1 point name throught easy validate' (default : 'Validation service comité'')
### Member space
### Member space
-
EM_URL = ''
-
EM_URL = ''
...
...
outils/static/js/all_common.js
View file @
d0157c9c
...
@@ -59,10 +59,9 @@ function post_form(url, data, callback) {
...
@@ -59,10 +59,9 @@ function post_form(url, data, callback) {
$
.
post
(
ajax_params
)
$
.
post
(
ajax_params
)
.
done
(
function
(
rData
)
{
.
done
(
function
(
rData
)
{
callback
(
null
,
rData
);
callback
(
null
,
rData
);
})
})
.
fail
(
function
(
err
)
{
.
fail
(
function
(
err
)
{
c
onsole
.
log
(
err
);
c
allback
(
err
,
{}
);
});
});
}
}
...
...
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