Commit e81cf728 authored by Nicolas Delaby's avatar Nicolas Delaby

2009-06-29 nicolas

* Check that user doesn't already exists

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@27812 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent bcc87f9f
...@@ -67,6 +67,9 @@ ...@@ -67,6 +67,9 @@
- you need to adjust group, function and site to your needs\n - you need to adjust group, function and site to your needs\n
"""\n """\n
from Products.Formulator.Errors import ValidationError, FormValidationError\n from Products.Formulator.Errors import ValidationError, FormValidationError\n
portal = context.getPortalObject()\n
translateString = context.Base_translateString\n
website = context.getWebSiteValue()\n
\n \n
# Call Base_edit\n # Call Base_edit\n
result, result_type = context.Base_edit(form_id, silent_mode=1, field_prefix=\'your_\')\n result, result_type = context.Base_edit(form_id, silent_mode=1, field_prefix=\'your_\')\n
...@@ -77,18 +80,25 @@ if result_type != \'edit\':\n ...@@ -77,18 +80,25 @@ if result_type != \'edit\':\n
kw, encapsulated_editor_list = result\n kw, encapsulated_editor_list = result\n
\n \n
# Set default values\n # Set default values\n
person_group = kw.get(\'group\', \'\')\n person_group = kw.get(\'group\', None)\n
person_function = kw.get(\'function\', \'\')\n person_function = kw.get(\'function\', None)\n
person_site = kw.get(\'site\', \'\')\n person_site = kw.get(\'site\', None)\n
person_role = kw.get(\'role\', \'\')\n person_role = kw.get(\'role\', None)\n
kw.setdefault(\'reference\', kw[\'default_email_text\'])\n kw.setdefault(\'reference\', kw[\'default_email_text\'])\n
if \'password_confirm\' in kw:\n if \'password_confirm\' in kw:\n
del kw[\'password_confirm\']\n del kw[\'password_confirm\']\n
\n \n
#Check that user doesn\'t already exists\n
person_list = portal.acl_users.erp5_users.getUserByLogin(kw[\'reference\'])\n
if person_list:\n
msg = translateString("This account already exists. Please provide another email address.")\n
kw[\'portal_status_message\'] = msg\n
context.REQUEST.form.update(kw)\n
return getattr(website, form_id)()\n
\n
# create Person account\n # create Person account\n
person_module = context.getPortalObject().person_module\n person_module = portal.getDefaultModule(portal_type=\'Person\')\n
person = person_module.newContent(portal_type = \'Person\', \n person = person_module.newContent(portal_type=\'Person\', **kw)\n
**kw)\n
person.validate()\n person.validate()\n
# do not immediate reindex object\n # do not immediate reindex object\n
# this means that when creating an account the new one will *NOT*\n # this means that when creating an account the new one will *NOT*\n
...@@ -97,24 +107,21 @@ person.validate()\n ...@@ -97,24 +107,21 @@ person.validate()\n
#person.immediateReindexObject()\n #person.immediateReindexObject()\n
\n \n
# Create default career\n # Create default career\n
career = person.newContent(portal_type = \'Career\',\n career = person.newContent(portal_type=\'Career\',\n
id = \'default_career\',\n id=\'default_career\',\n
group = person_group,\n group=person_group,\n
function = person_function,\n function=person_function,\n
role = person_role)\n role=person_role)\n
# Create assignment\n # Create assignment\n
assignment = person.newContent(portal_type = \'Assignment\',\n assignment = person.newContent(portal_type=\'Assignment\',\n
group = person_group,\n group=person_group,\n
function = person_function,\n function=person_function,\n
site = person_site)\n site=person_site)\n
assignment.open()\n assignment.open()\n
\n \n
translateString = context.Base_translateString\n
msg = translateString("Your account was successfully created.")\n msg = translateString("Your account was successfully created.")\n
website = context.getWebSiteValue()\n return website.Base_redirect(form_id, keep_items=dict(portal_status_message=msg,\n
return website.Base_redirect(\'view\', \n editable_mode=0))\n
keep_items = dict(portal_status_message = msg,\n
editable_mode = 0))\n
]]></string> </value> ]]></string> </value>
...@@ -167,25 +174,29 @@ return website.Base_redirect(\'view\', \n ...@@ -167,25 +174,29 @@ return website.Base_redirect(\'view\', \n
<string>FormValidationError</string> <string>FormValidationError</string>
<string>_getattr_</string> <string>_getattr_</string>
<string>context</string> <string>context</string>
<string>portal</string>
<string>translateString</string>
<string>website</string>
<string>_getiter_</string> <string>_getiter_</string>
<string>result</string> <string>result</string>
<string>result_type</string> <string>result_type</string>
<string>kw</string> <string>kw</string>
<string>encapsulated_editor_list</string> <string>encapsulated_editor_list</string>
<string>None</string>
<string>person_group</string> <string>person_group</string>
<string>person_function</string> <string>person_function</string>
<string>person_site</string> <string>person_site</string>
<string>person_role</string> <string>person_role</string>
<string>_getitem_</string> <string>_getitem_</string>
<string>_write_</string> <string>_write_</string>
<string>person_list</string>
<string>msg</string>
<string>getattr</string>
<string>person_module</string> <string>person_module</string>
<string>_apply_</string> <string>_apply_</string>
<string>person</string> <string>person</string>
<string>career</string> <string>career</string>
<string>assignment</string> <string>assignment</string>
<string>translateString</string>
<string>msg</string>
<string>website</string>
<string>dict</string> <string>dict</string>
</tuple> </tuple>
</value> </value>
......
2009-06-29 nicolas
* Check that user doesn't already exists
2009-05-15 yusei 2009-05-15 yusei
* Add a template field for Editor Field to Base_viewWebFieldLibrary. * Add a template field for Editor Field to Base_viewWebFieldLibrary.
......
823 827
\ No newline at end of file \ No newline at end of file
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