diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml index be041aee945d3900139c63ca124c6912ce6920a4..d5c26b939890e4cda3a1c211090a635c6634a4c3 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml @@ -54,12 +54,14 @@ \n if person is None:\n person = context\n -kw = person.Person_getDataDict()\n +\n +kw = context.Person_getDataDict(person=person)\n kw[\'password\'] = password\n \n # explicitly check if username is unique\n if portal.Base_validatePersonReference(kw[\'reference\'], context.REQUEST):\n # create user in Authentification Server\n + kw[\'start_assignment\'] = len(person.Person_getAvailableAssignmentValueList())\n portal.portal_wizard.callRemoteProxyMethod(\n \'WitchTool_createNewGlobalUserAccountFromExpressInstance\', \\\n use_cache = 0, \\\n @@ -119,6 +121,7 @@ else:\n <string>None</string> <string>_write_</string> <string>_getitem_</string> + <string>len</string> <string>_apply_</string> <string>ValueError</string> </tuple> diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml index d27378ab8714a68afdd2aa6ac72236b7360abbef..68c98a229cc76d58ee0824c428c0052782062897 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml @@ -50,13 +50,10 @@ </item> <item> <key> <string>_body</string> </key> - <value> <string>if person is None:\n - person = context\n -\n -kw = {\'reference\': person.getReference(),\n + <value> <string>return {\'reference\': person.getReference(),\n \'validation_state\': person.getValidationState(),\n + \'email\': person.getDefaultEmailText(),\n \'erp5_uid\': context.ERP5Site_getExpressInstanceUid()}\n -return kw\n </string> </value> </item> <item> @@ -102,10 +99,8 @@ return kw\n <value> <tuple> <string>person</string> - <string>None</string> - <string>context</string> <string>_getattr_</string> - <string>kw</string> + <string>context</string> </tuple> </value> </item> diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml index f15920b93f0f92065630cc6660f7afab335745db..28b2a4b05fef23cd1423cfde777e85315962162d 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml @@ -60,15 +60,20 @@ if person is None:\n person = context\n \n reference = person.getReference()\n -if reference is not None and \\\n - len(person.Person_getAvailableAssignmentValueList()) == 0:\n - # invalidate user in Authentification Server only if its a loggable user in current instance\n - kw = person.Person_getDataDict()\n +assignment_len = len(person.Person_getAvailableAssignmentValueList())\n +if reference is not None and assignment_len == 0:\n + # invalidate user in Authentification Server only if \n + # its a loggable user in current instance\n + kw = context.Person_getDataDict(person=person)\n context.portal_wizard.callRemoteProxyMethod(\n \'WitchTool_invalidateGlobalUserAccountFromExpressInstance\', \\\n use_cache = 0, \\\n ignore_exceptions = 0, \\\n **kw)\n +else:\n + log("Unable to invalidate remote global account for "\\\n + "%s (reference=%s , len(assignment_list)=%s)" % (person.getRelativeUrl(), \n + reference, assignment_len))\n </string> </value> </item> <item> @@ -118,7 +123,9 @@ if reference is not None and \\\n <string>_getattr_</string> <string>reference</string> <string>len</string> + <string>assignment_len</string> <string>_apply_</string> + <string>log</string> </tuple> </value> </item> diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml index 89658c3b91ee8c9c1d3e4ee4aa361a6a4e045e06..16a69118645ab1452690727d8ec42337eac0d4e7 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml @@ -55,7 +55,7 @@ if person is None:\n person = context\n \n -kw = person.Person_getDataDict()\n +kw = context.Person_getDataDict(person=person)\n \n # explicitly check if username is unique\n if portal.WizardTool_isPersonReferencePresent(kw[\'reference\']):\n diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml index c48b3b52e4ccfc1228e1c21d0ef34921ef899384..dc34999d61beed6b9fd9d469ded7e13283a1c8df 100644 --- a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml +++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml @@ -58,20 +58,24 @@ Only validate remote person/assigments if person \n has reference and valid assigments. \n """\n -\n +from Products.ERP5Type.Log import log\n if person is None:\n person = context\n \n reference = person.getReference()\n -if reference is not None and \\\n - len(person.Person_getAvailableAssignmentValueList()) > 0:\n +assignment_len = len(person.Person_getAvailableAssignmentValueList())\n +if reference is not None and assignment_len > 0:\n # validate user in Nexedi ERP5 only if its a loggable user in current instance\n - kw = person.Person_getDataDict()\n + kw = context.Person_getDataDict(person=person)\n context.portal_wizard.callRemoteProxyMethod(\n \'WitchTool_validateGlobalUserAccountFromExpressInstance\', \\\n use_cache = 0, \\\n ignore_exceptions = 0, \\\n **kw)\n +else:\n + log("Unable to validate remote global account for "\\\n + "%s (reference=%s , len(assignment_list)=%s)" % (person.getRelativeUrl(), \n + reference, assignment_len))\n ]]></string> </value> @@ -118,11 +122,14 @@ if reference is not None and \\\n <tuple> <string>person</string> <string>kw</string> + <string>Products.ERP5Type.Log</string> + <string>log</string> <string>None</string> <string>context</string> <string>_getattr_</string> <string>reference</string> <string>len</string> + <string>assignment_len</string> <string>_apply_</string> </tuple> </value>