summaryrefslogtreecommitdiff
path: root/resources/boot/SC/CreateNewNumberedVersionFromLast.xml
diff options
context:
space:
mode:
authorAndrew Branson <andrew@andrewbranson.net>2011-06-21 15:46:02 +0200
committerAndrew Branson <andrew@andrewbranson.net>2011-06-21 15:46:02 +0200
commit254ee6f47eebfc00462c10756a92066e82cc1a96 (patch)
tree8273ff95c704e6faa3f92b4711253427b9ba0481 /resources/boot/SC/CreateNewNumberedVersionFromLast.xml
Initial commit2.2
Diffstat (limited to 'resources/boot/SC/CreateNewNumberedVersionFromLast.xml')
-rwxr-xr-xresources/boot/SC/CreateNewNumberedVersionFromLast.xml39
1 files changed, 39 insertions, 0 deletions
diff --git a/resources/boot/SC/CreateNewNumberedVersionFromLast.xml b/resources/boot/SC/CreateNewNumberedVersionFromLast.xml
new file mode 100755
index 0000000..bb66f4c
--- /dev/null
+++ b/resources/boot/SC/CreateNewNumberedVersionFromLast.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<cristalscript>
+ <output name="errors" type="com.c2kernel.scripting.ErrorInfo"/>
+ <script language="javascript" name="CreateNewNumberedVersionFromLast"><![CDATA[
+
+ var job = bsf.lookupBean("job");
+ var item = bsf.lookupBean("item");
+ var agent = bsf.lookupBean("agent");
+ var errorBuffer = bsf.lookupBean("errors");
+
+ var viewName = job.getActPropString("ViewName");
+
+ if (viewName.equals("")) {
+ errorBuffer.addError("ViewName not specified. Cannot create new version.");
+ errorBuffer.setFatal();
+ }
+
+ if (!(errorBuffer.getFatal())) {
+ var lastView = -1;
+ var existingViews = item.getContents("/ViewPoint/"+viewName);
+ for (i=0; i<existingViews.length; i++) {
+ var thisView = parseInt(existingViews[i]);
+ if (thisView!=NaN && lastView < thisView) lastView = thisView;
+ }
+ lastView++;
+ try {
+ var existingLast = agent.unmarshall(item.queryData("/ViewPoint/"+viewName+"/last"));
+ } catch (e) {
+ errorBuffer.addError("No data found. You must submit at least one version before executing this activity.");
+ errorBuffer.setFatal();
+ }
+ if (!(errorBuffer.getFatal())) {
+ existingLast.setName(lastView);
+ agent.execute(item, "AddC2KObject", existingLast);
+ }
+ }
+ errorBuffer;
+ ]]></script>
+</cristalscript>