Examining and Updating Contacts

Examining and Updating Contacts
 1db = impact.active_database
 2
 3impact.gui.output_toolbox.clear()
 4
 5impact.gui.output_toolbox.add("**** customer Contacts ****")
 6cust = db.customers.find_by_code("M")
 7
 8if not cust.isNone():
 9    contacts = cust.contacts
10
11    if not contacts.isNone():
12
13        # list the contacts
14        impact.gui.output_toolbox.add("Contact Count: " + str(contacts.count))
15
16        for contact in contacts:
17            impact.gui.output_toolbox.add("Name: " + str(contact.full_name))
18            impact.gui.output_toolbox.add("Title: " + str(contact.title))
19            impact.gui.output_toolbox.add("Job title: " + str(contact.job_title))
20            impact.gui.output_toolbox.add("Email: " + str(contact.email))
21            impact.gui.output_toolbox.add("Phone: " + str(contactsphone))
22            impact.gui.output_toolbox.add("Mobile: " + str(contact.mobile))
23            impact.gui.output_toolbox.add("Fax: " + str(contact.fax))
24
25            if contact.active:
26                impact.gui.output_toolbox.add("Active: Yes")
27            else:
28                impact.gui.output_toolbox.add("Active: No")
29
30            # custom field from database values
31            values = contact.values
32            custom_val = values.load("CC_CUSTOM")
33            impact.gui.output_toolbox.add("Custom: " + str(custom_val))
34            impact.gui.output_toolbox.add("")
35
36        # modify custom field and save in database
37        if contacts.count > 0:
38            values = contacts.item(1).values
39            values.save("CC_CUSTOM", "shoozle")
40            values.do_update()
41
42        # Add a new contact for this customer
43        new_contact = contacts.add("Walter Wall")
44        new_contact.email = "wally@walterwallcarpets.co.uk     "
45        new_contact.do_update()
46
47        # run this script again to see the modifications just made...
48