Commit 0d1b6788 authored by Rafael Monnerat's avatar Rafael Monnerat

slapos_subscription_request: Ensure you are getting the right free trial user

parent a4421a13
from DateTime import DateTime
portal = context.getPortalObject()
person = portal.portal_catalog.getResultValue(
portal_type="Person",
reference="free_trial_user")
erp5_login = portal.portal_catalog.getResultValue(
portal_type="ERP5 Login",
reference="free_trial_user",
validation_state="validated")
if erp5_login is None:
return
person = erp5_login.getParentValue()
if context.getStopDate() >= DateTime():
return
......@@ -16,7 +21,7 @@ if context.getSpecialise() is None:
if context.getValidationState() != "validated":
return
state = "destroyed"
state = 'destroyed'
hosting_subscription = context.getSpecialiseValue()
......@@ -33,6 +38,8 @@ request_kw.update(
person.requestSoftwareInstance(**request_kw)
assert hosting_subscription.getSlapState() == "destroy_requested",\
"Hosting Subscription not destroyed!!"
connection_dict = hosting_subscription.getPredecessorValue().getConnectionXmlAsDict()
......
from DateTime import DateTime
from Products.ERP5Type.DateUtils import addToDate
portal = context.getPortalObject()
erp5_login = portal.portal_catalog.getResultValue(
portal_type="ERP5 Login",
reference="free_trial_user",
validation_state="validated")
person = portal.portal_catalog.getResultValue(
portal_type="Person",
reference="free_trial_user")
if person is None:
if erp5_login is None:
return "Free Trial Person not Found"
person = erp5_login.getParentValue()
connection_key_list = context.getSubjectList()
instance = context.getAggregateValue()
......@@ -21,7 +21,7 @@ if instance.getSlapState() != "destroy_requested":
if len([ x for x, y in connection_dict.items() if x in connection_key_list]) != len(connection_key_list):
return "Not ready %s != %s" % ([ x for x, y in connection_dict.items() if x in connection_key_list], connection_key_list)
for x, y in connection_dict.items():
if x in connection_key_list and y in ['None', None, 'http://', '']:
return "key %s has invalid value %s" % (x, y)
......
portal = context.getPortalObject()
person = portal.portal_catalog.getResultValue(
portal_type="Person",
reference="free_trial_user")
erp5_login = portal.portal_catalog.getResultValue(
portal_type="ERP5 Login",
reference="free_trial_user",
validation_state="validated")
if person is None:
return
if erp5_login is None:
return
person = erp5_login.getParentValue()
if context.getSpecialise() is not None:
return
return
if context.getValidationState() == "validated":
return
return
if context.getUrlString() is None:
# Nothing to request here
return
state = "started"
......@@ -20,8 +27,8 @@ request_kw.update(
software_title=context.getTitle() + " %s" % str(context.getUid()),
software_type=context.getSourceReference(),
instance_xml=context.getTextContent(),
sla_xml="",
shared=context.getRootSlave(),
sla_xml=context.getSlaXml(""),
shared=context.getRootSlave(False),
state=state,
)
......@@ -29,8 +36,8 @@ person.requestSoftwareInstance(**request_kw)
requested_software_instance = context.REQUEST.get('request_instance')
if requested_software_instance is None:
return
if requested_software_instance is None:
return
context.setAggregateValue(requested_software_instance)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment