Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
odoo
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
0
Merge Requests
0
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
odoo
Commits
700ce0b6
Commit
700ce0b6
authored
Oct 12, 2023
by
Yvon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
implement core function to target points = total makeups count (todo + to come)
parent
693158ef
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
0 deletions
+27
-0
shift_counter_event.py
...addons/lacagette_membership/models/shift_counter_event.py
+27
-0
No files found.
lacagette_addons/lacagette_membership/models/shift_counter_event.py
View file @
700ce0b6
...
...
@@ -2,12 +2,37 @@
from
openerp
import
_
,
api
,
models
,
fields
import
logging
import
datetime
_logger
=
logging
.
getLogger
(
__name__
)
class
ShiftCounterEvent
(
models
.
Model
):
_inherit
=
'shift.counter.event'
def
_alter_point_event_depending_on_makeups_total_count
(
self
,
vals
):
try
:
if
vals
[
'point_qty'
]
>
0
:
res_partner
=
self
.
env
[
'res.partner'
]
.
search
([(
'id'
,
'='
,
vals
[
'partner_id'
])])
if
res_partner
:
p
=
res_partner
[
0
]
if
p
.
final_standard_point
==
-
2
and
p
.
shift_type
!=
"ftop"
:
cond
=
[
[
'name'
,
'='
,
p
[
"name"
]],
[
'shift_type'
,
'='
,
'standard'
],
[
'is_makeup'
,
'='
,
True
],
[
'date_begin'
,
'>='
,
datetime
.
datetime
.
now
()
.
isoformat
()]
]
fields
=
[
'id'
]
res_shift_reg
=
self
.
env
[
'shift.registration'
]
.
search_read
(
cond
,
fields
)
points_after_required_change
=
p
.
final_standard_point
+
vals
[
'point_qty'
]
makeups_total_count
=
p
[
'makeups_to_do'
]
+
len
(
res_shift_reg
)
if
points_after_required_change
+
makeups_total_count
>
0
:
points_target
=
-
makeups_total_count
vals
[
'point_qty'
]
=
points_target
-
p
.
final_standard_point
except
Exception
as
e
:
# don't block process if an error occurs here
_logger
.
error
(
"Error during _alter_point_event_depending_on_makeups_total_count :
%
s"
,
str
(
e
))
def
_update_partner_target_status
(
self
,
vals
):
"""actions when points are removed or added"""
...
...
@@ -39,6 +64,7 @@ class ShiftCounterEvent(models.Model):
@api.model
def
write
(
self
,
vals
):
self
.
_alter_point_event_depending_on_makeups_total_count
(
vals
)
res
=
super
(
ShiftCounterEvent
,
self
)
.
write
(
vals
)
_logger
.
info
(
"Vals recues =
%
s"
,
str
(
vals
))
self
.
_update_partner_target_status
(
vals
)
...
...
@@ -46,6 +72,7 @@ class ShiftCounterEvent(models.Model):
@api.model
def
create
(
self
,
vals
):
self
.
_alter_point_event_depending_on_makeups_total_count
(
vals
)
self
.
_update_partner_target_status
(
vals
)
_logger
.
info
(
"Vals recues creation =
%
s"
,
str
(
vals
))
return
super
(
ShiftCounterEvent
,
self
)
.
create
(
vals
)
...
...
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