Customer Sites (Python)

Customer Sites (Python)
 1db = impact.active_database
 2
 3impact.gui.output_toolbox.clear()
 4
 5if not db.settings.db_sites:
 6    impact.gui.output_toolbox.add("Database Sites are not enabled")
 7else:
 8    if not db.settings.customer_sites:
 9        impact.gui.output_toolbox.add("customer Sites are not enabled")
10    else:
11        impact.gui.output_toolbox.add("**** customer Sites ****")
12        cust = db.customers.find_by_code("(DEFAULT CUSTOMER)")
13
14        if not cust.isNone():
15
16            # must create a variable for ICustomerSites
17            sites = cust.sites
18
19            if not sites.isNone():
20
21                impact.gui.output_toolbox.add("Initial Site Count: " + str(sites.count))
22
23                # clear all assigned sites
24                sites.clear()
25
26                impact.gui.output_toolbox.add("After Clear Site Count: " + str(sites.count))
27
28                # assign one or more sites to a customer
29                sites.assign(db.sites.item("ANDROMEDA"))
30                sites.assign(db.sites.item("AQUARIUS"))
31                sites.assign(db.sites.item("CORVUS"))
32
33                impact.gui.output_toolbox.add("After Assign Site Count: " + str(sites.count))
34
35                # remove one or more sites from a customer
36                sites.remove(db.sites.item("AQUARIUS"))
37
38                impact.gui.output_toolbox.add("After Remove Site Count: " + str(sites.count))
39
40                # update the database after assigning/removing sites
41                if sites.do_update():
42                    impact.gui.output_toolbox.add("Successfully updated assigned customer sites")
43
44                # list the sites
45                impact.gui.output_toolbox.add("Site Count: " + str(sites.count))
46                for i in range(1, sites.count + 1):
47                    impact.gui.output_toolbox.add(sites.item(i).full_name)