Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Thomas Gambier
slapos.core
Commits
d058b2a9
Commit
d058b2a9
authored
Oct 28, 2022
by
Rafael Monnerat
👻
Browse files
Options
Browse Files
Download
Plain Diff
Updates on Regularisation Request Auto Cancellation
See merge request
nexedi/slapos.core!439
parents
6cf5c4d9
bf9b3c26
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
23 additions
and
36 deletions
+23
-36
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/Alarm_invalidateSuspendedRegularisationRequest.py
...pos_crm/Alarm_invalidateSuspendedRegularisationRequest.py
+1
-1
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_checkToSendUniqEvent.py
.../slapos_crm/RegularisationRequest_checkToSendUniqEvent.py
+1
-1
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
...rm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
+3
-3
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm_monitoring/Alarm_updateSupportRequestMonitoringState.py
...m_monitoring/Alarm_updateSupportRequestMonitoringState.py
+1
-3
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
...ateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
+12
-2
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
...ents/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
+2
-2
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.xml
...nts/test.erp5.testSlapOSCRMRegularisationRequestSkins.xml
+3
-24
No files found.
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/Alarm_invalidateSuspendedRegularisationRequest.py
View file @
d058b2a9
portal
=
context
.
getPortalObject
()
portal
.
portal_catalog
.
searchAndActivate
(
portal_type
=
"Regularisation Request"
,
simulation_state
=
[
"suspended"
],
simulation_state
=
[
"suspended"
,
"validated"
],
method_id
=
'RegularisationRequest_invalidateIfPersonBalanceIsOk'
,
activate_kw
=
{
'tag'
:
tag
}
)
...
...
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_checkToSendUniqEvent.py
View file @
d058b2a9
...
...
@@ -42,7 +42,7 @@ if (event is None) and (ticket.getSimulationState() == 'suspended'):
text_content
=
text_content
,
)
portal
.
portal_workflow
.
doActionFor
(
event
,
'start_action'
,
send_mail
=
True
,
comment
=
comment
)
event
.
start
(
send_mail
=
True
,
comment
=
comment
)
event
.
stop
(
comment
=
comment
)
event
.
deliver
(
comment
=
comment
)
event
.
reindexObject
(
activate_kw
=
{
'tag'
:
tag
})
...
...
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
View file @
d058b2a9
...
...
@@ -4,7 +4,7 @@ if REQUEST is not None:
state
=
context
.
getSimulationState
()
person
=
context
.
getSourceProjectValue
(
portal_type
=
"Person"
)
if
(
state
!=
'suspended'
)
or
\
if
(
state
not
in
(
'suspended'
,
'validated'
)
)
or
\
(
person
is
None
):
return
...
...
@@ -19,10 +19,10 @@ for payment in person.Person_getSubscriptionRequestFirstUnpaidPaymentList():
# It can't be smaller, we are considernig all open invoices are from unpaid_payment_amount
if
round
(
float
(
outstanding_amount
),
2
)
==
round
(
-
float
(
unpaid_payment_amount
),
2
):
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
person
.
Entity_statOutstandingAmount
()
)
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
outstanding_amount
)
return
if
(
int
(
outstanding_amount
)
>
0
):
return
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
person
.
Entity_statOutstandingAmount
()
)
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
outstanding_amount
)
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm_monitoring/Alarm_updateSupportRequestMonitoringState.py
View file @
d058b2a9
portal
=
context
.
getPortalObject
()
default_resource_uid
=
portal
.
restrictedTraverse
(
"service_module/slapos_crm_monitoring"
,
None
).
getUid
()
portal
.
portal_catalog
.
searchAndActivate
(
portal_type
=
'Support Request'
,
simulation_state
=
'validated'
,
simulation_state
=
[
'validated'
,
'suspended'
]
,
default_resource_uid
=
default_resource_uid
,
default_aggregate_portal_type
=
[
"Instance Tree"
],
method_id
=
'SupportRequest_updateMonitoringState'
,
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
View file @
d058b2a9
...
...
@@ -127,13 +127,13 @@ class TestSlapOSCrmInvalidateSuspendedRegularisationRequest(SlapOSTestCaseMixinW
reference
=
"TESTREGREQ-%s"
%
new_id
,
)
def
test_alarm_
not_suspend
ed_regularisation_request
(
self
):
def
test_alarm_
validat
ed_regularisation_request
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
validate
()
self
.
tic
()
alarm
=
self
.
portal
.
portal_alarms
.
\
slapos_crm_invalidate_suspended_regularisation_request
self
.
_test_alarm
_not_visited
(
alarm
,
ticket
,
"RegularisationRequest_invalidateIfPersonBalanceIsOk"
)
self
.
_test_alarm
(
alarm
,
ticket
,
"RegularisationRequest_invalidateIfPersonBalanceIsOk"
)
def
test_alarm_suspended_regularisation_request
(
self
):
ticket
=
self
.
createRegularisationRequest
()
...
...
@@ -144,6 +144,16 @@ class TestSlapOSCrmInvalidateSuspendedRegularisationRequest(SlapOSTestCaseMixinW
slapos_crm_invalidate_suspended_regularisation_request
self
.
_test_alarm
(
alarm
,
ticket
,
"RegularisationRequest_invalidateIfPersonBalanceIsOk"
)
def
test_alarm_invalidated_regularisation_request
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
validate
()
ticket
.
invalidate
()
self
.
tic
()
alarm
=
self
.
portal
.
portal_alarms
.
\
slapos_crm_invalidate_suspended_regularisation_request
self
.
_test_alarm_not_visited
(
alarm
,
ticket
,
"RegularisationRequest_invalidateIfPersonBalanceIsOk"
)
class
TestSlapOSCrmTriggerEscalationOnAcknowledgmentRegularisationRequest
(
SlapOSTestCaseMixinWithAbort
):
def
createRegularisationRequest
(
self
):
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
View file @
d058b2a9
...
...
@@ -239,13 +239,13 @@ class TestSlapOSRegularisationRequest_invalidateIfPersonBalanceIsOk(
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'invalidated'
)
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "0"'
)
def
test_invalidateIfPersonBalanceIsOk_
not_suspend
ed
(
self
):
def
test_invalidateIfPersonBalanceIsOk_
validat
ed
(
self
):
person
=
self
.
makePerson
(
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
source_project_value
=
person
)
ticket
.
validate
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'validated'
)
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'
in
validated'
)
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "0"'
)
def
test_invalidateIfPersonBalanceIsOk_no_person
(
self
):
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.xml
View file @
d058b2a9
...
...
@@ -6,12 +6,6 @@
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testSlapOSCRMRegularisationRequestSkins
</string>
</value>
...
...
@@ -55,28 +49,13 @@
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
I
=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
...
...
@@ -89,7 +68,7 @@
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
Q
=
</string>
</persistent>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAA
M
=
</string>
</persistent>
</value>
</item>
</dictionary>
...
...
@@ -98,7 +77,7 @@
</dictionary>
</pickle>
</record>
<record
id=
"
4"
aka=
"AAAAAAAAAAQ
="
>
<record
id=
"
3"
aka=
"AAAAAAAAAAM
="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
...
...
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