Commit 3107b0e3 authored by Gabriel Monnerat's avatar Gabriel Monnerat

erp5_upgrader: Clean up scripts and set tag in searchAndActivate when called.

With this, is possible wait those activities finish before start the next upgrader phase
parent 5d1e50f7
...@@ -50,48 +50,15 @@ ...@@ -50,48 +50,15 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string>"""\n
"""\n
Run upgrader\n Run upgrader\n
"""\n """\n
portal = context.getPortalObject()\n context.Alarm_senseFullUpgradeNeed(fixit=True)\n
portal_alarms = portal.portal_alarms\n
\n
def launchUpgraderAlarm(alarm_id, after_method_id=[]):\n
""" Get the alarm and use sense and solve """\n
upgrader_alarm = getattr(portal_alarms, alarm_id, None)\n
if upgrader_alarm is not None and upgrader_alarm.sense():\n
# call solve method\n
kw = dict(tag=alarm_id)\n
if len(after_method_id) > 0:\n
kw["after_method_id"] = after_method_id\n
method_id = upgrader_alarm.getSolveMethodId()\n
if method_id not in (None, \'\'):\n
method = getattr(upgrader_alarm.activate(**kw), method_id)\n
method()\n
return [method_id] + after_method_id\n
return after_method_id\n
\n
previous_method_id = launchUpgraderAlarm(\'upgrader_check_pre_upgrade\')\n
\n
previous_method_id.extend([\'recursiveImmediateReindexObject\',\n
\'immediateReindexObject\',\n
\'callMethodOnObjectList\'])\n
\n
previous_method_id = launchUpgraderAlarm(\'upgrader_check_upgrader\',\n
after_method_id=previous_method_id)\n
\n
previous_method_id.append(\'updateBusinessTemplateFromUrl\')\n
previous_method_id = launchUpgraderAlarm(\'upgrader_check_post_upgrade\',\n
after_method_id=previous_method_id)\n
\n \n
# Nothing else to do, so we can disable.\n # Nothing else to do, so we can disable.\n
context.setEnabled(False)\n context.setEnabled(False)\n
return\n return\n
</string> </value>
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
......
...@@ -61,8 +61,8 @@ alarm = getattr(portal_alarms, \'upgrader_check_upgrader\')\n ...@@ -61,8 +61,8 @@ alarm = getattr(portal_alarms, \'upgrader_check_upgrader\')\n
if alarm.sense() in (None, True):\n if alarm.sense() in (None, True):\n
active_process.postActiveResult(summary=context.getTitle(),\n active_process.postActiveResult(summary=context.getTitle(),\n
severity=1,\n severity=1,\n
detail="Is required run upgrade before solve it. " +\\\n detail=["Is required run upgrade before solve it. " +\\\n
"You need run active sense once at least on this alarm")\n "You need run active sense once at least on this alarm",])\n
return\n return\n
\n \n
context.ERP5Site_checkUpgraderConsistency(fixit=True,\n context.ERP5Site_checkUpgraderConsistency(fixit=True,\n
......
...@@ -70,8 +70,8 @@ alarm = getattr(portal_alarms, \'upgrader_check_pre_upgrade\')\n ...@@ -70,8 +70,8 @@ alarm = getattr(portal_alarms, \'upgrader_check_pre_upgrade\')\n
if alarm.sense() in (None, True):\n if alarm.sense() in (None, True):\n
active_process.postActiveResult(summary=context.getTitle(),\n active_process.postActiveResult(summary=context.getTitle(),\n
severity=1,\n severity=1,\n
detail="Is required solve Pre Upgrade first. " +\\\n detail=["Is required solve Pre Upgrade first. " +\\\n
"You need run active sense once at least on this alarm")\n "You need run active sense once at least on this alarm",])\n
return\n return\n
\n \n
_, type_per_constraint_type = context.Base_getConstraintTypeListPerPortalType()\n _, type_per_constraint_type = context.Base_getConstraintTypeListPerPortalType()\n
...@@ -91,6 +91,7 @@ for portal_type in portal_type_list:\n ...@@ -91,6 +91,7 @@ for portal_type in portal_type_list:\n
portal_type=portal_type_list)[0][0] > REINDEX_SPLIT_COUNT:\n portal_type=portal_type_list)[0][0] > REINDEX_SPLIT_COUNT:\n
portal.portal_catalog.searchAndActivate(\'Base_postCheckConsistencyResult\',\n portal.portal_catalog.searchAndActivate(\'Base_postCheckConsistencyResult\',\n
portal_type=portal_type,\n portal_type=portal_type,\n
activate_kw={"tag": "erp5_upgrader"},\n
method_kw=method_kw)\n method_kw=method_kw)\n
else:\n else:\n
for result in portal.portal_catalog(portal_type=portal_type):\n for result in portal.portal_catalog(portal_type=portal_type):\n
......
...@@ -50,50 +50,44 @@ ...@@ -50,50 +50,44 @@
</item> </item>
<item> <item>
<key> <string>_body</string> </key> <key> <string>_body</string> </key>
<value> <string encoding="cdata"><![CDATA[ <value> <string>"""\n
"""\n
Run upgrader\n Run upgrader\n
"""\n """\n
portal = context.getPortalObject()\n portal = context.getPortalObject()\n
portal_alarms = portal.portal_alarms\n portal_alarms = portal.portal_alarms\n
\n \n
after_method_id = \'callMethodOnObjectList\'\n def launchSenseAlarm(alarm_id, after_tag_list):\n
def launchSenseAlarm(alarm_id, after_tag=[]):\n
""" Get the alarm and use sense"""\n """ Get the alarm and use sense"""\n
upgrader_alarm = getattr(portal_alarms, alarm_id, None)\n upgrader_alarm = getattr(portal_alarms, alarm_id, None)\n
assert upgrader_alarm, "%s not found" % alarm_id\n
if upgrader_alarm is not None:\n if upgrader_alarm is not None:\n
# call solve method\n
kw = {"tag": alarm_id,\n kw = {"tag": alarm_id,\n
"after_method_id": after_method_id}\n "after_tag": after_tag_list}\n
if len(after_tag) > 0:\n if fixit:\n
kw["after_tag"] = after_tag\n method_id = upgrader_alarm.getSolveMethodId()\n
else:\n
method_id = upgrader_alarm.getActiveSenseMethodId()\n method_id = upgrader_alarm.getActiveSenseMethodId()\n
if method_id not in (None, \'\'):\n assert method_id, "Missing method id in %s" % alarm_id\n
method = getattr(upgrader_alarm.activate(**kw), method_id)\n getattr(upgrader_alarm.activate(**kw), method_id)()\n
method()\n return after_tag_list + [alarm_id,]\n
return [alarm_id,]\n
return after_tag\n
\n \n
previous_tag = launchSenseAlarm(\'upgrader_check_pre_upgrade\')\n previous_tag = launchSenseAlarm(\'upgrader_check_pre_upgrade\',\n
[\'erp5_upgrader\',])\n
\n \n
previous_tag = launchSenseAlarm(\'upgrader_check_upgrader\',\n previous_tag = launchSenseAlarm(\'upgrader_check_upgrader\',\n
after_tag=previous_tag)\n after_tag_list=previous_tag)\n
\n \n
previous_tag = launchSenseAlarm(\'upgrader_check_post_upgrade\',\n previous_tag = launchSenseAlarm(\'upgrader_check_post_upgrade\',\n
after_tag=previous_tag)\n after_tag_list=previous_tag)\n
\n \n
active_process = context.newActiveProcess()\n active_process = context.newActiveProcess()\n
context.activate(after_tag=previous_tag,\n context.activate(after_tag=previous_tag).Alarm_postFullUpgradeNeed(\n
after_method_id=after_method_id).Alarm_postFullUpgradeNeed(\n
active_process=active_process.getRelativeUrl())\n active_process=active_process.getRelativeUrl())\n
</string> </value>
]]></string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
<value> <string>REQUEST=None, **kw</string> </value> <value> <string>fixit=0, **kw</string> </value>
</item> </item>
<item> <item>
<key> <string>id</string> </key> <key> <string>id</string> </key>
......
...@@ -65,6 +65,7 @@ if portal_type_list:\n ...@@ -65,6 +65,7 @@ if portal_type_list:\n
context.getPortalObject().portal_catalog.searchAndActivate(\n context.getPortalObject().portal_catalog.searchAndActivate(\n
\'Base_postCheckConsistencyResult\',\n \'Base_postCheckConsistencyResult\',\n
portal_type=portal_type_list,\n portal_type=portal_type_list,\n
activate_kw={"tag": "erp5_upgrader"},\n
method_kw={\n method_kw={\n
\'fixit\': fixit,\n \'fixit\': fixit,\n
\'filter\': filter_dict,\n \'filter\': filter_dict,\n
......
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