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
7ce5e25b
Commit
7ce5e25b
authored
Mar 11, 2022
by
Damien Moulard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
delete shift template registration
parent
c443f682
Pipeline
#1942
passed with stage
in 1 minute 32 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
22 deletions
+59
-22
admin.py
members/admin.py
+7
-10
models.py
members/models.py
+39
-0
manage_regular_shifts.css
members/static/css/admin/manage_regular_shifts.css
+1
-4
manage_regular_shifts.js
members/static/js/admin/manage_regular_shifts.js
+12
-8
No files found.
members/admin.py
View file @
7ce5e25b
...
@@ -414,7 +414,6 @@ def delete_shift_template_registration(request):
...
@@ -414,7 +414,6 @@ def delete_shift_template_registration(request):
if
is_connected_user
is
True
:
if
is_connected_user
is
True
:
try
:
try
:
data
=
json
.
loads
(
request
.
body
.
decode
())
data
=
json
.
loads
(
request
.
body
.
decode
())
partner_id
=
int
(
data
[
"partner_id"
])
partner_id
=
int
(
data
[
"partner_id"
])
shift_template_id
=
int
(
data
[
"shift_template_id"
])
shift_template_id
=
int
(
data
[
"shift_template_id"
])
makeups_to_do
=
int
(
data
[
"makeups_to_do"
])
makeups_to_do
=
int
(
data
[
"makeups_to_do"
])
...
@@ -428,20 +427,18 @@ def delete_shift_template_registration(request):
...
@@ -428,20 +427,18 @@ def delete_shift_template_registration(request):
target_makeup
=
makeups_to_do
+
len
(
partner_makeups
)
target_makeup
=
makeups_to_do
+
len
(
partner_makeups
)
if
target_makeup
>
2
:
if
target_makeup
>
2
:
target_makeup
=
2
target_makeup
=
2
print
(
target_makeup
)
# Update partner makeups to do
# Update partner makeups to do
res_update_makeups
=
cm
.
update_member_makeups
({
'target_makeups_nb'
:
target_makeup
})
res
[
"update_makeups"
]
=
cm
.
update_member_makeups
({
'target_makeups_nb'
:
target_makeup
})
print
(
res_update_makeups
)
except
Exception
as
e
:
# Delete all shift registrations & shift template registration
print
(
str
(
e
)
)
res
[
"unsuscribe_member"
]
=
cm
.
unsuscribe_member
(
)
if
permanent_unsuscribe
is
True
:
res
[
"set_done"
]
=
cm
.
set_cooperative_state
(
"gone"
)
# Récupérer nb rattrapages sélectionnés, incrémenter makeups_to_do
except
Exception
as
e
:
# Delete all shift.registration
res
[
"error"
]
=
str
(
e
)
# Delete all shift.template.registration (et .line ?)
# si permanent_unsuscribe, set special status gone
response
=
JsonResponse
(
res
,
safe
=
False
)
response
=
JsonResponse
(
res
,
safe
=
False
)
else
:
else
:
...
...
members/models.py
View file @
7ce5e25b
...
@@ -889,6 +889,45 @@ class CagetteMember(models.Model):
...
@@ -889,6 +889,45 @@ class CagetteMember(models.Model):
res
=
self
.
o_api
.
search_read
(
"shift.registration"
,
c
,
f
)
res
=
self
.
o_api
.
search_read
(
"shift.registration"
,
c
,
f
)
return
res
return
res
def
unsuscribe_member
(
self
):
res
=
{}
now
=
datetime
.
datetime
.
now
()
.
isoformat
()
# Get and then delete shift template registration
c
=
[[
'partner_id'
,
'='
,
self
.
id
]]
f
=
[
'id'
]
res_ids
=
self
.
o_api
.
search_read
(
"shift.template.registration"
,
c
,
f
)
ids
=
[
d
[
'id'
]
for
d
in
res_ids
]
if
ids
:
res
[
"delete_shift_template_reg"
]
=
self
.
o_api
.
execute
(
'shift.template.registration'
,
'unlink'
,
ids
)
# Get and then delete shift registrations
c
=
[[
'partner_id'
,
'='
,
self
.
id
],
[
'date_begin'
,
'>'
,
now
]]
f
=
[
'id'
]
res_ids
=
self
.
o_api
.
search_read
(
"shift.registration"
,
c
,
f
)
ids
=
[
d
[
'id'
]
for
d
in
res_ids
]
if
ids
:
res
[
"delete_shifts_reg"
]
=
self
.
o_api
.
execute
(
'shift.registration'
,
'unlink'
,
ids
)
# Close extensions
c
=
[[
'partner_id'
,
'='
,
self
.
id
],
[
'date_start'
,
'<='
,
now
],
[
'date_stop'
,
'>='
,
now
]]
f
=
[
'id'
]
res_ids
=
self
.
o_api
.
search_read
(
"shift.extension"
,
c
,
f
)
ids
=
[
d
[
'id'
]
for
d
in
res_ids
]
if
ids
:
f
=
{
'date_stop'
:
now
}
res
[
"close_extensions"
]
=
self
.
o_api
.
update
(
'shift.extension'
,
ids
,
f
)
return
res
def
set_cooperative_state
(
self
,
state
):
f
=
{
'cooperative_state'
:
state
}
return
self
.
o_api
.
update
(
'res.partner'
,
[
self
.
id
],
f
)
class
CagetteMembers
(
models
.
Model
):
class
CagetteMembers
(
models
.
Model
):
"""Class to manage operations on all members or part of them."""
"""Class to manage operations on all members or part of them."""
...
...
members/static/css/admin/manage_regular_shifts.css
View file @
7ce5e25b
...
@@ -75,12 +75,9 @@
...
@@ -75,12 +75,9 @@
}
}
/* Actions */
/* Actions */
#actions_on_member
{
margin
:
15px
;
}
#remove_shift_template_button
{
#remove_shift_template_button
{
display
:
none
;
display
:
none
;
margin
:
15px
;
}
}
.checkbox_area
{
.checkbox_area
{
...
...
members/static/js/admin/manage_regular_shifts.js
View file @
7ce5e25b
...
@@ -15,8 +15,8 @@ var selected_member = null,
...
@@ -15,8 +15,8 @@ var selected_member = null,
function
remove_from_shift_template
()
{
function
remove_from_shift_template
()
{
let
permanent_unsuscribe
=
modal
.
find
(
"#permanent_unsuscribe"
).
prop
(
'checked'
);
let
permanent_unsuscribe
=
modal
.
find
(
"#permanent_unsuscribe"
).
prop
(
'checked'
);
//
openModal();
openModal
();
closeModal
()
let
data
=
{
let
data
=
{
partner_id
:
selected_member
.
id
,
partner_id
:
selected_member
.
id
,
shift_template_id
:
selected_member
.
shift_template_id
[
0
],
shift_template_id
:
selected_member
.
shift_template_id
[
0
],
...
@@ -31,7 +31,10 @@ function remove_from_shift_template() {
...
@@ -31,7 +31,10 @@ function remove_from_shift_template() {
dataType
:
"json"
,
dataType
:
"json"
,
traditional
:
true
,
traditional
:
true
,
contentType
:
"application/json; charset=utf-8"
,
contentType
:
"application/json; charset=utf-8"
,
success
:
function
(
data
)
{
success
:
function
()
{
selected_member
.
shift_template_id
=
null
;
selected_member
.
cooperative_state
=
(
permanent_unsuscribe
===
true
)
?
"gone"
:
"unsubscribed"
;
display_member_info
();
closeModal
();
closeModal
();
},
},
error
:
function
()
{
error
:
function
()
{
...
@@ -42,7 +45,7 @@ function remove_from_shift_template() {
...
@@ -42,7 +45,7 @@ function remove_from_shift_template() {
report_JS_error
(
err
,
'members.admin'
);
report_JS_error
(
err
,
'members.admin'
);
closeModal
();
closeModal
();
$
.
notify
(
"
Erreur lors de la
suppression du membre du créneau."
,
{
$
.
notify
(
"
Une erreur est survenue lors du processus de
suppression du membre du créneau."
,
{
globalPosition
:
"top right"
,
globalPosition
:
"top right"
,
className
:
"error"
className
:
"error"
});
});
...
@@ -55,17 +58,15 @@ function remove_from_shift_template() {
...
@@ -55,17 +58,15 @@ function remove_from_shift_template() {
*/
*/
function
display_member_info
()
{
function
display_member_info
()
{
$
(
'.member_name'
).
text
(
`
${
selected_member
.
barcode_base
}
-
${
selected_member
.
name
}
`
);
$
(
'.member_name'
).
text
(
`
${
selected_member
.
barcode_base
}
-
${
selected_member
.
name
}
`
);
$
(
'.member_shift'
).
text
(
selected_member
.
shift_template_id
[
1
]);
$
(
'.member_status'
).
text
(
possible_cooperative_state
[
selected_member
.
cooperative_state
]);
$
(
'.member_status'
).
text
(
possible_cooperative_state
[
selected_member
.
cooperative_state
]);
$
(
'.member_makeups'
).
text
(
selected_member
.
makeups_to_do
);
$
(
'.member_makeups'
).
text
(
selected_member
.
makeups_to_do
);
$
(
'#search_member_input'
).
val
();
$
(
'#partner_data_area'
).
css
(
'display'
,
'flex'
);
if
(
selected_member
.
shift_template_id
===
undefined
||
selected_member
.
shift_template_id
===
null
)
{
if
(
selected_member
.
shift_template_id
===
undefined
||
selected_member
.
shift_template_id
===
null
)
{
$
(
"#remove_shift_template_button"
).
hide
();
$
(
"#remove_shift_template_button"
).
hide
();
$
(
"#remove_shift_template_button"
).
off
();
$
(
"#remove_shift_template_button"
).
off
();
}
else
{
}
else
{
$
(
'.member_shift'
).
text
(
selected_member
.
shift_template_id
[
1
]);
$
(
"#remove_shift_template_button"
).
show
();
$
(
"#remove_shift_template_button"
).
show
();
$
(
"#remove_shift_template_button"
).
off
();
$
(
"#remove_shift_template_button"
).
off
();
$
(
"#remove_shift_template_button"
).
on
(
"click"
,
()
=>
{
$
(
"#remove_shift_template_button"
).
on
(
"click"
,
()
=>
{
...
@@ -80,6 +81,9 @@ function display_member_info() {
...
@@ -80,6 +81,9 @@ function display_member_info() {
);
);
});
});
}
}
$
(
'#search_member_input'
).
val
();
$
(
'#partner_data_area'
).
css
(
'display'
,
'flex'
);
}
}
/**
/**
...
...
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