diff options
Diffstat (limited to 'resources/boot/SC/CreateNewNumberedVersionFromLast.xml')
| -rw-r--r-- | resources/boot/SC/CreateNewNumberedVersionFromLast.xml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/resources/boot/SC/CreateNewNumberedVersionFromLast.xml b/resources/boot/SC/CreateNewNumberedVersionFromLast.xml new file mode 100644 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>
|
