Project Release Auto-Task¶
Project Release Auto-Task¶
1# Project Update Auto-task example
2# This script should be assigned to either the "Update (After)" or "Update (Before)" auto-tasks.
3# It will not work in the Script Toolbox as the impact.gui.active_database_release property is only valid
4# during a database release operation.
5
6
7# For the "Update (After)" auto-task the IReleaseAction object will have
8# a Revision property to the IDatabaseRevision if a new revision was created
9
10# All properties are read-only and cannot be modified
11
12db = impact.active_database
13
14ra = impact.gui.active_database_release
15
16
17def describe_action(action):
18 if action == ipReleaseAction.raUpdate:
19 impact.gui.output_toolbox.add("Action: Updating")
20 elif action == ipReleaseAction.raDiscard:
21 impact.gui.output_toolbox.add("Action: Discarding")
22 elif action == ipReleaseAction.raRelease:
23 impact.gui.output_toolbox.add("Action: Releasing")
24 elif action == ipReleaseAction.raKeepOut:
25 impact.gui.output_toolbox.add("Action: Keeping Out")
26
27def describe_release_action(ra):
28 impact.gui.output_toolbox.add("Project: " + str(ra.project.reference))
29 impact.gui.output_toolbox.add("User: " + str(ra.user.login_id))
30
31 describe_action(ra.action)
32 impact.gui.output_toolbox.add("Comment: " + str(ra.comment))
33
34 impact.gui.output_toolbox.add("Keep Working: " + str(ra.keep_working))
35 impact.gui.output_toolbox.add("Lock: " + str(ra.lock))
36 impact.gui.output_toolbox.add("Create Revision: " + str(ra.create_revision))
37
38 if not ra.reassign_to.isNone():
39 impact.gui.output_toolbox.add("Reassign To: " + str(ra.reassign_to.login_id))
40 impact.gui.output_toolbox.add("Reassign without update: " + str(ra.reassign_without_update))
41
42 impact.gui.output_toolbox.add("customer Changed: " + str(ra.customer_changed))
43 impact.gui.output_toolbox.add("Project Info Changed: " + str(ra.project_info_changed))
44
45 impact.gui.output_toolbox.add("Release Layer Count: " + str(ra.layers.count))
46
47 for layer in ra.layers:
48 impact.gui.output_toolbox.add("Layer Key: " + str(layer.key))
49 impact.gui.output_toolbox.add("Layer Name: " + str(layer.name))
50 impact.gui.output_toolbox.add("Type: " + str(layer.type))
51 impact.gui.output_toolbox.add("Type Key: " + str(layer.type_key))
52 impact.gui.output_toolbox.add("version: " + str(layer.layer.version))
53 impact.gui.output_toolbox.add("Modified: " + str(layer.modified))
54 describe_action(layer.action)
55 impact.gui.output_toolbox.add("Added: " + str(layer.added))
56 impact.gui.output_toolbox.add("Deleted: " + str(layer.deleted))
57
58 if not ra.revision.isNone():
59 impact.gui.output_toolbox.add("Revision Created: " + str(ra.revision.number))
60
61
62if not ra.isNone():
63 describe_release_action(ra)
64
65else:
66 impact.gui.output_toolbox.add("Error: ActiveDatabaseRelease is not valid")