Add User with Address

Add User with Address
 1# This example creates a new user with additional info and including both a home and work address in the database.
 2
 3# Create a local variable for the output toolbox
 4ot = impact.gui.output_toolbox
 5db = impact.active_database
 6
 7# Clear the output toolbox
 8ot.clear()
 9
10# Retrieve the users from the DB
11users = db.users
12
13# get the first user group from the DB
14mastersettings = db.find_master_tool_settings(ipMasterSettingType.mstUserGroup)
15usergroup = mastersettings.item(1)
16
17ot.add("UserGroup: " + str(usergroup.name))
18
19publish_to_enterprise = False
20
21# IUsers.add() is deprecated and IUsers.add2() should be used instead
22new_cad_user = users.add2("LOGINID1", "Joe Bloggs", "Password", "email@email.com", ipUserType.utCAD, None, usergroup, publish_to_enterprise)
23
24if new_cad_user is not None:
25    ot.add("Successfully created user LOGINID1")
26
27    db_values = new_cad_user.values
28
29    db_values.save("U_GIVEN", "Joe")
30    db_values.save("U_INITIALS", "F")
31    db_values.save("U_LASTNAME", "Bloggs")
32    db_values.save("U_JOBTITLE", "Manager")
33
34    if db_values.do_update():
35        ot.add("Updated additional values for user")
36
37    else:
38        ot.add("Failed to update additional values for user")
39
40    hm_address = new_cad_user.addresses.add("Home")
41
42    db_values = hm_address.values
43
44    db_values.save("A_STREET1", "A Street")
45    db_values.save("A_STREET2", "A Neighbourhood")
46    db_values.save("A_CITY", "A City")
47    db_values.save("A_COUNTRY", "A Country")
48
49    if db_values.do_update():
50        ot.add("Updated home address values for user")
51
52    else:
53        ot.add("Failed to update home address values for user")
54
55    wk_address = new_cad_user.addresses.add("Work")
56
57    db_values = wk_address.values
58
59    db_values.save("A_STREET1", "Work Street")
60    db_values.save("A_STREET2", "Work Neighbourhood")
61    db_values.save("A_CITY", "Work City")
62    db_values.save("A_COUNTRY", "Work Country")
63
64    if db_values.do_update():
65        ot.add("Updated work address values for user")
66
67    else:
68        ot.add("Failed to update work address values for user")
69
70else:
71    ot.add("Unable to create user LOGINID1")
72
73