Customer Sites

Customer Sites
 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 cust is not None:
15
16            # must create a variable for ICustomerSites
17            sites = cust.sites
18
19            if sites is not None:
20                impact.gui.output_toolbox.add("Initial Site Count: " + str(sites.count))
21
22                # clear all assigned sites
23                sites.clear()
24
25                impact.gui.output_toolbox.add("After Clear Site Count: " + str(sites.count))
26
27                # assign one or more sites to a customer
28                sites.assign(db.sites.item("ANDROMEDA"))
29                sites.assign(db.sites.item("AQUARIUS"))
30                sites.assign(db.sites.item("CORVUS"))
31
32                impact.gui.output_toolbox.add("After Assign Site Count: " + str(sites.count))
33
34                # remove one or more sites from a customer
35                sites.remove(db.sites.item("AQUARIUS"))
36
37                impact.gui.output_toolbox.add("After Remove Site Count: " + str(sites.count))
38
39                # update the database after assigning/removing sites
40                if sites.do_update():
41                    impact.gui.output_toolbox.add("Successfully updated assigned customer sites")
42
43                # list the sites
44                impact.gui.output_toolbox.add("Site Count: " + str(sites.count))
45                for i in range(1, sites.count  + 1):
46                    impact.gui.output_toolbox.add(sites.item(i).full_name)