Solved

Accessing CheckboxGroup Values in SSJS (Xpages)

Posted on 2013-01-15
9
2,368 Views
Last Modified: 2013-12-18
Hi

I'm trying to access the selected values of a checkbox group in SSJS within a button on an Xpage.  The button itself is building an email based on various elements of the page.  I've tried numerous ways and the nearest I've come so far is:

var _temp = getComponent("checkBoxGroup1").getValue();
for (x in _temp)
{
   stream.writeText("<td>" + _temp[x] + "</td>");
   stream.writeText("</tr><tr><td></td>");
}

Open in new window


The code is building part of a table with the checkbox values inside table cells.  Now I'm getting the correct amount of values returned (ie I tick 3 boxes in the group and 3 values get returned), however all of the values are 'undefined'.

The checkbox group is bound to a field on a notes document and so gets stored as a text list and I've had no luck trying to get the values via the field either.

I'm sure this is probably something so simple but it's evading me at the moment so any help would be appreciated!
0
Comment
Question by:Bristan_Service_Desk
  • 5
  • 4
9 Comments
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 38777828
In SSJS, you'd better use the bound variable or field. Can you share some source code, e.g. a minimal example of an XPage with this problem, so we can paste it in an XPage and test it?
0
 

Author Comment

by:Bristan_Service_Desk
ID: 38778076
This is the button code (slightly cut down):

<xp:button value="Approve" id="button3">
							<xp:eventHandler event="onclick"
								submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:actionGroup>
										<xp:changeDocumentMode
											mode="edit" var="document1">
										</xp:changeDocumentMode>
										<xp:executeScript>
											<xp:this.script><![CDATA[#{javascript:doc1 = database.createDocument();
		doc1.appendItemValue("Form","Memo");
		body = doc1.createMIMEEntity();
		subject = body.createHeader("Subject");
		subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Has Been Approved");
		stream = session.createStream();
		stream.writeText(@Name('[CN]',@UserName(0)) + " has approved a staff request. Please see the details below.<br /><br />");
		stream.writeText("<table>");
		stream.writeText("<tr>");
		stream.writeText("<td>Department:</td>");
		stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Job Title:</td>");
		stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Type:</td>");
		stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr><td><br /></td><td></td></tr><tr>");
		stream.writeText("<td>IT Requirements:</td>");
		var _temp = getComponent("checkBoxGroup1").getValue();
		for (x in _temp)
		{
			stream.writeText("<td>" + _temp[x] + "</td>");
			stream.writeText("</tr><tr><td></td>");
		}
		stream.writeText("<td></td></tr>");		
		stream.writeText("</table><br />");
		body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
		doc1.appendItemValue("SendTo", "helpdesk@bristan.com");	
		doc1.send();
		doc1.recycle();
		body.recycle();
		subject.recycle();
		stream.recycle();
}}]]></xp:this.script>
										</xp:executeScript>
										<xp:saveDocument
											var="document1">
										</xp:saveDocument>
										<xp:openPage name="/vacancy.xsp"
											target="openDocument"
											documentId="#{javascript:document1.getDocument().getUniversalID();}">
										</xp:openPage>
									</xp:actionGroup>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>

Open in new window


The for loop in the middle of the code is the key part, I just need it to access the individual selected options from the checkbox group.  As I said previously, this half works, I get the correct amount of selected items, but they all say 'undefined' as the value....
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 38778161
Try with something like

_temp = document1.getItemValue("cb1");

where wb1 is the name of the field you bound to checkboxGroup1.
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:Bristan_Service_Desk
ID: 38778380
Tried that, it also gives me 'undefined'.  If I save the document after the script runs I get a single undefined, if I save it before I get the correct amount of elements again but all undefined.  The field contents in this case are below:

Field Name: ITRequirements
Data Type: Text List
Data Length: 111 bytes
Seq Num: 1
Dup Item ID: 0
Field Flags: SUMMARY 

"Windows Account"
"Laptop"
"Monitor"
"Desk Phone"
"IFS User - Replacement"
"Lotus Notes Account"
"Microsoft Office"

Open in new window

0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 38778573
Did you bind the field correctly to the field on the XPage ? Pls share some code.
0
 

Author Comment

by:Bristan_Service_Desk
ID: 38778835
Hi

Below is the cusom control code:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
	xmlns:xc="http://www.ibm.com/xsp/custom">
	<xp:this.resources>
		<xp:styleSheet href="/mf54_reset.css"></xp:styleSheet>
		<xp:styleSheet href="/mf54_grid_nosidebar.css"></xp:styleSheet>
		<xp:styleSheet href="/mf54_content_nosidebar.css"></xp:styleSheet>
	</xp:this.resources>

	<!-- CONTAINER FOR ENTIRE PAGE -->
	<xp:this.data>
		<xp:dominoDocument var="document1" formName="StaffRequest"
			computeWithForm="onsave">
		</xp:dominoDocument>
	</xp:this.data>
	
	<xp:panel styleClass="container">

		<!-- PAGE SPECIFIC HEADER -->
		<xc:breadcrumbVacancy></xc:breadcrumbVacancy>

		<!-- NAVIGATION BAR -->
		<xc:navbar_homeonly></xc:navbar_homeonly>

		<!-- MAIN SECTION -->
		<xp:panel styleClass="main">
			<!-- CONTENT -->
			<xp:panel styleClass="content">
				<!-- CONTENT CELL -->
				<!-- ANNOUNCEMENTS BLOCK -->
				<xp:panel styleClass="corner-content-1col-top"></xp:panel>
				<xp:panel styleClass="content-1col-nobox">
					<h1 class="noicon">
						<xp:label id="label1" disableTheme="true">
							<xp:this.value><![CDATA[#{javascript:"Vacancy"}]]></xp:this.value>
						</xp:label>
					</h1>
					<xp:panel
						style="padding-left:20.0px;padding-right:20.0px">
						<div id="saveResponse" style="display: none;"></div>
						
						<xp:button id="button2">
							<xp:this.value><![CDATA[#{javascript:if (@IsNewDoc()) { return "Cancel"; }
else { return "Close"; }}]]></xp:this.value>
								<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:openPage name="/home.xsp"></xp:openPage>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>
						<xp:button value="Edit" id="button1">
							<xp:this.rendered><![CDATA[#{javascript:context.getUser().getRoles().contains("[Admin]") 
&& !document1.isEditable()}]]></xp:this.rendered>
							<xp:eventHandler event="onclick"
								submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:changeDocumentMode mode="edit"
										var="document1">
									</xp:changeDocumentMode>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>
						<xp:button value="Approve" id="button3">
							<xp:this.rendered><![CDATA[#{javascript:document1.getItemValueString("Status") == "Pending GMT" 
&& (
context.getUser().getRoles().contains("[Admin]") 
|| document1.getItemValueString("Authoriser") == @Name('[CN]',@UserName(0))
) 
}]]></xp:this.rendered>
							<xp:eventHandler event="onclick"
								submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:actionGroup>
										<xp:changeDocumentMode
											mode="edit" var="document1">
										</xp:changeDocumentMode>









										<xp:saveDocument
											var="document1">
										</xp:saveDocument>



										<xp:executeScript>
											<xp:this.script><![CDATA[#{javascript:if (document1.getItemValueString("NewOrRep") == "Replacement")
{
	document1.replaceItemValue("Status", "Approved");
	document1.replaceItemValue("DateAuthorised", @Now());
	// send email
	doc1 = database.createDocument();
	doc1.appendItemValue("Form","Memo");
	body = doc1.createMIMEEntity();
	subject = body.createHeader("Subject");
	subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Has Been Approved");
	stream = session.createStream();
	stream.writeText(@Name('[CN]',@UserName(0)) + " has approved your staff request, please see the details below.<br /><br />");
	stream.writeText("<table>");
	stream.writeText("<tr>");
	stream.writeText("<td>Department:</td>");
	stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Job Title:</td>");
	stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Type:</td>");
	stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("</table><br />");
	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
	body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
	doc1.appendItemValue("SendTo", document1.getItemValueString("DocAuthor"));
//	doc1.appendItemValue("CopyTo", document1.getItemValueString("DocAuthor"));	
	doc1.send();
	doc1.recycle();
	body.recycle();
	subject.recycle();
	stream.recycle();
	
	if (document1.getItemValueString("ITReq") == "Yes")
	{
		doc1 = database.createDocument();
		doc1.appendItemValue("Form","Memo");
		body = doc1.createMIMEEntity();
		subject = body.createHeader("Subject");
		subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Has Been Approved");
		stream = session.createStream();
		stream.writeText(@Name('[CN]',@UserName(0)) + " has approved a staff request. Please see the details below.<br /><br />");
		stream.writeText("<table>");
		stream.writeText("<tr>");
		stream.writeText("<td>Department:</td>");
		stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Job Title:</td>");
		stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Type:</td>");
		stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr><td><br /></td><td></td></tr><tr>");
		stream.writeText("<td>IT Requirements:</td>");
		var _temp = document1.getItemValue("ITRequirements");
	  //getComponent("checkBoxGroup1").getValue();
		for (x in _temp)
		{
			stream.writeText("<td>" + _temp[x] + "</td>");
			stream.writeText("</tr><tr><td></td>");
		}
		stream.writeText("<td></td></tr>");		
		stream.writeText("</table><br />");
	//	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
		body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
	//	doc1.appendItemValue("SendTo", document1.getItemValueString("FinanceAuth"));
		doc1.appendItemValue("SendTo", "helpdesk@bristan.com");	
		doc1.send();
		doc1.recycle();
		body.recycle();
		subject.recycle();
		stream.recycle();
	}
}
else
{
	document1.replaceItemValue("Status", "Pending HR");
	// send email
	doc1 = database.createDocument();
	doc1.appendItemValue("Form","Memo");
	body = doc1.createMIMEEntity();
	subject = body.createHeader("Subject");
	subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Requires Your Approval");
	stream = session.createStream();
	stream.writeText(@Name('[CN]',@UserName(0)) + " has approved a staff request which now required your approval, please see the details below.<br /><br />");
	stream.writeText("<table>");
	stream.writeText("<tr>");
	stream.writeText("<td>Department:</td>");
	stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Job Title:</td>");
	stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Type:</td>");
	stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("</table><br />");
	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
	body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
	doc1.appendItemValue("SendTo", document1.getItemValueString("HRAuth"));
//	doc1.appendItemValue("CopyTo", document1.getItemValueString("DocAuthor"));	
	doc1.send();
	doc1.recycle();
	body.recycle();
	subject.recycle();
	stream.recycle();
}}]]></xp:this.script>
										</xp:executeScript>
										<xp:saveDocument
											var="document1">
										</xp:saveDocument>
										<xp:openPage name="/vacancy.xsp"
											target="openDocument"
											documentId="#{javascript:document1.getDocument().getUniversalID();}">
										</xp:openPage>



									</xp:actionGroup>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>
						<xp:button value="Approve" id="button6">
							<xp:this.rendered><![CDATA[#{javascript:document1.getItemValueString("Status") == "Pending HR" 
&& (
context.getUser().getRoles().contains("[Admin]") 
|| document1.getItemValueString("HRAuth") == @Name('[CN]',@UserName(0))
) 
}]]></xp:this.rendered>
							<xp:eventHandler event="onclick"
								submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:actionGroup>
										<xp:changeDocumentMode
											mode="edit" var="document1">
										</xp:changeDocumentMode>

										<xp:executeScript>
											<xp:this.script><![CDATA[#{javascript:	document1.replaceItemValue("Status", "Pending Finance");
	// send email
	doc1 = database.createDocument();
	doc1.appendItemValue("Form","Memo");
	body = doc1.createMIMEEntity();
	subject = body.createHeader("Subject");
	subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Requires Your Approval");
	stream = session.createStream();
	stream.writeText(@Name('[CN]',@UserName(0)) + " has approved a staff request which now required your approval, please see the details below.<br /><br />");
	stream.writeText("<table>");
	stream.writeText("<tr>");
	stream.writeText("<td>Department:</td>");
	stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Job Title:</td>");
	stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Type:</td>");
	stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("</table><br />");
	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
	body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
	doc1.appendItemValue("SendTo", document1.getItemValueString("FinanceAuth"));
//	doc1.appendItemValue("CopyTo", document1.getItemValueString("DocAuthor"));	
	doc1.send();
	doc1.recycle();
	body.recycle();
	subject.recycle();
	stream.recycle();}]]></xp:this.script>
										</xp:executeScript>
										<xp:saveDocument
											var="document1">
										</xp:saveDocument>

										<xp:openPage name="/vacancy.xsp"
											target="openDocument"
											documentId="#{javascript:document1.getDocument().getUniversalID();}">
										</xp:openPage>


									</xp:actionGroup>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>
						<xp:button value="Approve" id="button7">
							<xp:this.rendered><![CDATA[#{javascript:document1.getItemValueString("Status") == "Pending Finance" 
&& (
context.getUser().getRoles().contains("[Admin]") 
|| document1.getItemValueString("FinanceAuth") == @Name('[CN]',@UserName(0))
) 
}]]></xp:this.rendered>
							<xp:eventHandler event="onclick"
								submit="true" refreshMode="complete">
								<xp:this.action>
									<xp:actionGroup>
										<xp:changeDocumentMode
											mode="edit" var="document1">
										</xp:changeDocumentMode>












										<xp:saveDocument var="document1">
										</xp:saveDocument><xp:executeScript>
											<xp:this.script><![CDATA[#{javascript:	document1.replaceItemValue("Status", "Approved");
	document1.replaceItemValue("DateAuthorised", @Now());	
	// send email
	doc1 = database.createDocument();
	doc1.appendItemValue("Form","Memo");
	body = doc1.createMIMEEntity();
	subject = body.createHeader("Subject");
	subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Has Been Approved");
	stream = session.createStream();
	stream.writeText(@Name('[CN]',@UserName(0)) + " has approved your staff request. Please see the details below.<br /><br />");
	stream.writeText("<table>");
	stream.writeText("<tr>");
	stream.writeText("<td>Department:</td>");
	stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Job Title:</td>");
	stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("<tr>");
	stream.writeText("<td>Type:</td>");
	stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
	stream.writeText("</tr>");
	stream.writeText("</table><br />");
	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
	body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
//	doc1.appendItemValue("SendTo", document1.getItemValueString("FinanceAuth"));
	doc1.appendItemValue("SendTo", document1.getItemValueString("DocAuthor"));	
	doc1.send();
	doc1.recycle();
	body.recycle();
	subject.recycle();
	stream.recycle();
	
	if (document1.getItemValueString("ITReq") == "Yes")
	{
		doc1 = database.createDocument();
		doc1.appendItemValue("Form","Memo");
		body = doc1.createMIMEEntity();
		subject = body.createHeader("Subject");
		subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Has Been Approved");
		stream = session.createStream();
		stream.writeText(@Name('[CN]',@UserName(0)) + " has approved a staff request. Please see the details below.<br /><br />");
		stream.writeText("<table>");
		stream.writeText("<tr>");
		stream.writeText("<td>Department:</td>");
		stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Job Title:</td>");
		stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr>");
		stream.writeText("<td>Type:</td>");
		stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
		stream.writeText("</tr>");
		stream.writeText("<tr><td><br /></td><td></td></tr><tr>");
		stream.writeText("<td>IT Requirements:</td>");
		var _temp = document1.getItemValueString("ITRequirements");
		for (x in _temp)
		{
			stream.writeText("<td>" + _temp[x] + "</td>");
			stream.writeText("</tr><tr><td></td>");
		}
		stream.writeText("<td></td></tr>");		
		stream.writeText("</table><br />");
	//	stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
		body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
	//	doc1.appendItemValue("SendTo", document1.getItemValueString("FinanceAuth"));
		doc1.appendItemValue("SendTo", "helpdesk@bristan.com");	
		doc1.send();
		doc1.recycle();
		body.recycle();
		subject.recycle();
		stream.recycle();
	}}]]></xp:this.script>
										</xp:executeScript>
										<xp:saveDocument
											var="document1">
										</xp:saveDocument>
										<xp:openPage name="/vacancy.xsp"
											target="openDocument"
											documentId="#{javascript:document1.getDocument().getUniversalID();}">
										</xp:openPage>
										
									</xp:actionGroup>
								</xp:this.action>
							</xp:eventHandler>
						</xp:button>
						<xp:br></xp:br>
						<xp:br></xp:br>
						<xp:tabbedPanel id="tabbedPanel1">
							<xp:tabPanel id="tabPanel1">
								<xp:this.label><![CDATA[#{javascript:document1.getItemValueString("Status")}]]></xp:this.label>
								<xp:panel
									style="background-color:rgb(252,95,99);border-color:rgb(0,0,0);border-style:solid;border-width:thin;padding-left:10.0px;height:27px">
									<xp:this.rendered><![CDATA[#{javascript:requestScope.errorStatus != "" && requestScope.errorStatus != null }]]></xp:this.rendered>
									<xp:image url="/Delete.png"
										id="image2" style="margin: 1 0 0 0;">
									</xp:image>
									<xp:text escape="true"
										id="computedField1"
										style="font-family:Calibri,sans-serif;font-size:16pt;font-weight:bold"
										value="#{javascript:requestScope.errorStatus}">
									</xp:text>
								</xp:panel>
								<xp:table style="width:97%"
									disableTheme="true">
									<xp:tr>
										<xp:td style="width:150px">
											<xp:label
												value="Department:" id="label10"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td style="width:300.0px"
											colspan="3">
											<xp:comboBox id="comboBox1"
												value="#{document1.Department}"
												style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItems
													id="selectItems1">
													<xp:this.value><![CDATA[#{javascript:@Unique(@DbColumn(@DbName(),"(departments)",1))}]]></xp:this.value>
												</xp:selectItems>
												<xp:eventHandler
													event="onchange" submit="true" refreshMode="partial"
													refreshId="comboBox5" id="eventHandler1">
												</xp:eventHandler>
											</xp:comboBox>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td style="width:150px">
											<xp:label value="Job Role:"
												id="label25"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td style="width:300px"
											colspan="3">
											<xp:comboBox id="comboBox5"
												value="#{document1.JobTitle}"
												style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItems
													id="selectItems2">
													<xp:this.value><![CDATA[#{javascript:var keyvar:String;
var combo1 = getComponent("comboBox1").getSubmittedValue();
var combo2 = getComponent("comboBox1").getValue();
if(combo1 === null){keyvar = combo2} else {keyvar = combo1};
@DbLookup(@DbName(),"(DepartmentsByCat)",keyvar,2);}]]></xp:this.value>
												</xp:selectItems>
												<xp:eventHandler event="onchange" submit="true" refreshMode="complete">
													<xp:this.action>
														<xp:executeScript>
															<xp:this.script><![CDATA[#{javascript:var _view:NotesView = database.getView("(DepartmentsByCat2)");
var _result = @DbLookup(database,_view,document1.getItemValueString("Department").concat("-").concat(document1.getItemValueString("JobTitle")),2);
document1.replaceItemValue("CareerLadder",_result);
_result = @DbLookup(database,_view,document1.getItemValueString("Department").concat("-").concat(document1.getItemValueString("JobTitle")),3);
document1.replaceItemValue("CareerLadderGrade",_result);
_view.recycle();}]]></xp:this.script>
														</xp:executeScript>
													</xp:this.action></xp:eventHandler>
												<xp:eventHandler
													event="onblur" submit="true" refreshMode="complete">
												<xp:this.action>
													<xp:executeScript>
														<xp:this.script><![CDATA[#{javascript:var _view:NotesView = database.getView("(DepartmentsByCat2)");
var _result = @DbLookup(database,_view,document1.getItemValueString("Department").concat("-").concat(document1.getItemValueString("JobTitle")),2);
if (_result != null) {
	document1.replaceItemValue("CareerLadder",_result);
}
_result = @DbLookup(database,_view,document1.getItemValueString("Department").concat("-").concat(document1.getItemValueString("JobTitle")),3);
if (_result != null) {
	document1.replaceItemValue("CareerLadderGrade",_result);
}	
_view.recycle();}]]></xp:this.script>
													</xp:executeScript>
												</xp:this.action></xp:eventHandler></xp:comboBox>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label
												value="Career Ladder:" id="label2"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
										<xp:inputText id="inputText4" value="#{document1.CareerLadder}" style="font-family:Calibri,sans-serif;font-size:11pt"></xp:inputText></xp:td>
										<xp:td>
											<xp:label
												value="Career Ladder Grade:" id="label6"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
										<xp:inputText id="inputText5" value="#{document1.CareerLadderGrade}" style="font-family:Calibri,sans-serif;font-size:11pt"></xp:inputText></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label value="Type:"
												id="label7"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:comboBox id="comboBox2"
												value="#{document1.Type}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItem
													itemLabel="Full Time" itemValue="Full Time"
													id="selectItem1">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Part Time" itemValue="Part Time"
													id="selectItem34">
												</xp:selectItem>
											</xp:comboBox>
										</xp:td>
										<xp:td>
											<xp:label value="Salary:"
												id="label27"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:inputText
												id="inputText52" value="#{document1.Salary}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:this.converter>
													<xp:convertNumber
														type="currency" currencySymbol="£">
													</xp:convertNumber>
												</xp:this.converter>
											</xp:inputText>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label
												value="Contract Type:" id="label8"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:comboBox id="comboBox6"
												value="#{document1.ContractType}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItem
													itemLabel="Permanent" itemValue="Permanent"
													id="selectItem35">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Fixed Term" itemValue="Fixed Term"
													id="selectItem36">
												</xp:selectItem>
											</xp:comboBox>
										</xp:td>
										<xp:td>
											<xp:label
												value="Fixed Term End Date:" id="label26"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:inputText
												id="inputText48" value="#{document1.FixedTermEndDate}"
												style="width:140px;font-family:Calibri,sans-serif;font-size:11pt">

												<xp:this.converter>
													<xp:convertDateTime
														type="date" dateStyle="short">
													</xp:convertDateTime>
												</xp:this.converter>
											</xp:inputText>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>

											<xp:label value="New Role?:"
												id="label3"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>


											<xp:comboBox id="comboBox7"
												value="#{document1.NewOrRep}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItem
													itemLabel="New Position" itemValue="New Position"
													id="selectItem37">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Replacement" itemValue="Replacement"
													id="selectItem38">
												</xp:selectItem>
											</xp:comboBox>
										</xp:td>
										<xp:td>
											<xp:label value="Replacing:"
												id="label9"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>

											<xp:comboBox id="comboBox8"
												value="#{document1.Replacing}" style="font-family:Calibri,sans-serif;font-size:11pt">



												<xp:selectItems
													id="selectItems6">
													<xp:this.value><![CDATA[#{javascript:""}]]></xp:this.value>
												</xp:selectItems>
												<xp:selectItems
													id="selectItems3">
													<xp:this.value><![CDATA[#{javascript:@Unique(@DbColumn(@DbName(),"PublicByNameAll",1))}]]></xp:this.value>
												</xp:selectItems>


											</xp:comboBox>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label
												value="Line Manager:" id="label11"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>

											<xp:comboBox id="comboBox9"
												value="#{document1.LineManager}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItems
													id="selectItems4">
													<xp:this.value><![CDATA[#{javascript:@Unique(@DbColumn(@DbName(),"LineManagers",1))}]]></xp:this.value>
												</xp:selectItems>
											</xp:comboBox>
										</xp:td>
										<xp:td>
											<xp:label
												value="Is Role Budgeted?:" id="label14"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>




											<xp:radioGroup
												id="radioGroup9" defaultValue="No"
												value="#{document1.Budgeted}">

												<xp:selectItem
													itemLabel="Yes" itemValue="Yes" id="selectItem39">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="No" itemValue="No" id="selectItem40">
												</xp:selectItem>
											</xp:radioGroup>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td><xp:label value="People Manager:" id="label12" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
										<xp:td>
											<xp:radioGroup
												id="radioGroup1" defaultValue="No"
												value="#{document1.PeopleManager}">
												<xp:selectItem
													itemLabel="Yes" itemValue="Yes" id="selectItem5">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="No" itemValue="No" id="selectItem6">
												</xp:selectItem>
											</xp:radioGroup></xp:td>
										<xp:td><xp:label value="GMT:" id="label13" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
										<xp:td>
											<xp:radioGroup
												id="radioGroup2" defaultValue="No"
												value="#{document1.GMT}">
												<xp:selectItem
													itemLabel="Yes" itemValue="Yes" id="selectItem7">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="No" itemValue="No" id="selectItem8">
												</xp:selectItem>
											</xp:radioGroup></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:br id="br3"></xp:br>
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td valign="top">
											<xp:label
												value="IT Requirements:" id="label28"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td valign="top">
											<xp:radioGroup
												id="radioGroup10" defaultValue="No"
												value="#{document1.ITReq}">
												<xp:selectItem
													itemLabel="Yes" itemValue="Yes" id="selectItem42">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="No" itemValue="No" id="selectItem43">
												</xp:selectItem>
											</xp:radioGroup>
										</xp:td>
										<xp:td>
											<xp:checkBoxGroup
												id="checkBoxGroup1" layout="pageDirection"
												value="#{document1.ITRequirements}">
												<xp:selectItem
													itemLabel="Windows Account" itemValue="Windows Account"
													id="selectItem41">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Laptop" itemValue="Laptop" id="selectItem44">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Desktop PC" itemValue="Desktop PC"
													id="selectItem45">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Igel" itemValue="Igel" id="selectItem46">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Monitor" itemValue="Monitor"
													id="selectItem47">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Printer" itemValue="Printer"
													id="selectItem48">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Desk Phone" itemValue="Desk Phone"
													id="selectItem49">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="IFS User - New License"
													itemValue="IFS User - New License" id="selectItem50">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="IFS User - Replacement"
													itemValue="IFS User - Replacement" id="selectItem51">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Lotus Notes Account"
													itemValue="Lotus Notes Account" id="selectItem52">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Microsoft Office" itemValue="Microsoft Office"
													id="selectItem53">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Microsoft Access" itemValue="Microsoft Access"
													id="selectItem54">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Microsoft Visio" itemValue="Microsoft Visio"
													id="selectItem55">
												</xp:selectItem>
											</xp:checkBoxGroup>
										</xp:td>
										<xp:td>

										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:br id="br5"></xp:br>
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td valign="top">
											<xp:label
												value="Company Car:" id="label29"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:comboBox id="comboBox10"
												value="#{document1.Car}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItem
													itemLabel="N/A" itemValue="N/A" id="selectItem2">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Car Allowance" itemValue="Car Allowance"
													id="selectItem3">
												</xp:selectItem>
												<xp:selectItem
													itemLabel="Company Car" itemValue="Company Car"
													id="selectItem4">
												</xp:selectItem>
											</xp:comboBox>
										</xp:td>
										<xp:td valign="top">
											<xp:label
												value="Annual Car Allowance:" id="label30"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td valign="top">
											<xp:inputText
												id="inputText1" value="#{document1.Allowance}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:this.converter>
													<xp:convertNumber
														type="number">
													</xp:convertNumber>
												</xp:this.converter>
											</xp:inputText>
										</xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:br id="br6"></xp:br>
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td valign="top">
											<xp:label
												value="Justification for Role:" id="label31"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td colspan="3">
											<xp:inputRichText
												id="inputRichText2" style="width:475px"
												value="#{document1.Justification}">
											</xp:inputRichText>
										</xp:td>


									</xp:tr>
									<xp:tr>
										<xp:td>
											</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td colspan="4">
											<xp:panel
												rendered="#{javascript:document1.isEditable()}"
												style="width:95%">
												<xp:br id="br2"></xp:br>
												<xp:label
													value="Attach Files:" id="label65"
													style="font-weight:bold;text-decoration:underline;font-family:Calibri,sans-serif;font-size:11pt">
												</xp:label>
												<xp:br id="br4"></xp:br>
												<xp:fileUpload
													id="fileUpload1" value="#{document1.Files}"
													style="width:70%">
												</xp:fileUpload>
												<xp:br></xp:br></xp:panel>
											<xp:panel style="width:95%"
												rendered="#{javascript:!document1.isEditable()}">
												<xp:br id="br10"></xp:br>
												<xp:label
													value="Attached Files:" id="label66"
													style="font-weight:bold;text-decoration:underline;font-family:Calibri,sans-serif;font-size:11pt">
												</xp:label>
												<xp:br id="br11"></xp:br>
												<xp:fileDownload
													rows="30" id="fileDownload1" displayLastModified="false"
													value="#{document1.Files}" hideWhen="true"
													style="width:100%;font-size:8pt">
													<xp:this.allowDelete><![CDATA[${javascript:context.getUser().getRoles().contains('[Admin]');}]]></xp:this.allowDelete>
												</xp:fileDownload>
												<xp:br></xp:br></xp:panel>
										</xp:td>



									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:br></xp:br></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label
												value="Authoriser:" id="label32"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:comboBox id="comboBox11"
												value="#{document1.Authoriser}" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:selectItems
													id="selectItems5">
													<xp:this.value><![CDATA[#{javascript:@Unique(@DbColumn(@DbName(),"GMT",1))}]]></xp:this.value>
												</xp:selectItems>
											</xp:comboBox>
										</xp:td>
										<xp:td><xp:label value="Reference:" id="label5" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
										<xp:td><xp:inputText id="inputText3" value="#{document1.FullRef}" readonly="true" style="font-family:Calibri,sans-serif;font-size:11pt">
											</xp:inputText></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											<xp:label
												value="Created By:" id="label4"
												style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label>
										</xp:td>
										<xp:td>
											<xp:inputText
												id="inputText2" value="#{document1.DocAuthor}"
												readonly="true" style="font-family:Calibri,sans-serif;font-size:11pt">
												<xp:this.defaultValue><![CDATA[#{javascript:@Name('[CN]',@UserName(0))}]]></xp:this.defaultValue>
											</xp:inputText>
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td>
											
										</xp:td>
										<xp:td>
											
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>
									<xp:tr>
										<xp:td></xp:td>
										<xp:td>
											<xp:button value="Validate"
												id="button5">
												<xp:this.rendered><![CDATA[#{javascript:document1.isEditable() && @IsNewDoc()}]]></xp:this.rendered>
												<xp:eventHandler
													event="onclick" submit="true" refreshMode="complete"
													id="eventHandler2">
													<xp:this.action>
														<xp:actionGroup>































































															<xp:executeScript>
																<xp:this.script><![CDATA[#{javascript:requestScope.errorStatus = "";

if (document1.getItemValueString("JobTitle") == "") { 
	requestScope.errorStatus = "Please select a Job Title.";
	return false; 
}

if (!document1.getItemValueDouble("Salary") > 0) { 
	requestScope.errorStatus = "Please enter a Salary.";
	return false; 
}

if (document1.getItemValueString("ContractType") == "Fixed Term" && document1.getItemValueDate("FixedTermEndDate") == null) { 
	requestScope.errorStatus = "Please enter a Fixed Term End Date.";
	return false; 
}

if (document1.getItemValueString("NewOrRep") == "Replacement" && document1.getItemValueString("Replacing") == "") { 
	requestScope.errorStatus = "Please select who this Staff Request is replacing.";
	return false; 
}

if (document1.getItemValueString("Car") == "Car Allowance" && !document1.getItemValueDouble("Allowance") > 0) { 
	requestScope.errorStatus = "Please enter an Annual Car Allowance.";
	return false; 
}
 
if (getComponent("inputRichText2").getValue() == "") { 
	requestScope.errorStatus = "Please enter a Justification.";
	return false; 
}

viewScope.validRequest = "true";}]]></xp:this.script>
															</xp:executeScript>
														</xp:actionGroup>
													</xp:this.action>
												</xp:eventHandler>
											</xp:button>
											<xp:br id="br1"></xp:br>
											<xp:button value="Submit"
												id="button4">
												<xp:this.rendered><![CDATA[#{javascript:document1.isEditable() && @IsNewDoc() && viewScope.validRequest == "true"}]]></xp:this.rendered>
												<xp:eventHandler
													event="onclick" submit="true" refreshMode="complete"
													id="eventHandler3">
													<xp:this.action>
														<xp:actionGroup>



























































															<xp:executeScript>
																<xp:this.script><![CDATA[#{javascript:var _view:NotesView = database.getView("StaffRequestLookup");
var _doc:NotesDocument = _view.getFirstDocument();
if (_doc == null)
{
	document1.replaceItemValue("Ref", 1);
}
else
{
	document1.replaceItemValue("Ref",_doc.getItemValueDouble("Ref")+1);
}
document1.replaceItemValue("Status", "Pending GMT");

// send email
doc1 = database.createDocument();
doc1.appendItemValue("Form","Memo");
body = doc1.createMIMEEntity();
subject = body.createHeader("Subject");
subject.setHeaderVal("Staff Request for " + document1.getItemValueString("JobTitle") + " Requires Your Authorisation");
stream = session.createStream();
stream.writeText(@Name('[CN]',@UserName(0)) + " has submitted a staff request, please see the details below.<br /><br />");
stream.writeText("<table>");
stream.writeText("<tr>");
stream.writeText("<td>Department:</td>");
stream.writeText("<td>" + document1.getItemValueString("Department") + "</td>");
stream.writeText("</tr>");
stream.writeText("<tr>");
stream.writeText("<td>JobTitle:</td>");
stream.writeText("<td>" + document1.getItemValueString("JobTitle") + "</td>");
stream.writeText("</tr>");
stream.writeText("<tr>");
stream.writeText("<td>Type:</td>");
stream.writeText("<td>" + document1.getItemValueString("NewOrRep") + "</td>");
stream.writeText("</tr>");
stream.writeText("</table><br />");
stream.writeText("<a href='http://bristanportal/personnel/xpersonnel.nsf/0/" + document1.getDocument().getUniversalID() + "'>Click here</a> to open the request.");
body.setContentFromText(stream, "text/html; charset=iso-8859-1", 0);
doc1.appendItemValue("SendTo", document1.getItemValueString("Authoriser"));
doc1.send();
doc1.recycle();
body.recycle();
subject.recycle();
stream.recycle();}]]></xp:this.script>
															</xp:executeScript>
															<xp:saveDocument
																var="document1">
															</xp:saveDocument>

															<xp:openPage
																name="/vacancy.xsp" target="openDocument"
																documentId="#{javascript:document1.getDocument().getUniversalID();}">
															</xp:openPage>
														</xp:actionGroup>
													</xp:this.action>
												</xp:eventHandler>
											</xp:button>
										</xp:td>
										<xp:td></xp:td>
										<xp:td></xp:td>
									</xp:tr>













								</xp:table>
								<xp:br></xp:br>

								<xp:panel><xp:this.rendered><![CDATA[#{javascript:document1.getItemValueString("Status") == "Approved"}]]></xp:this.rendered>
									<xp:table style="width:95.0%">
										<xp:tr>
											<xp:td style="width:200px"><xp:label value="Date Authorised:" id="label15" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
											<xp:td>
												<xp:inputText
													id="inputText6" value="#{document1.DateAuthorised}" readonly="true">
												<xp:this.converter><xp:convertDateTime type="date" dateStyle="short"></xp:convertDateTime></xp:this.converter></xp:inputText></xp:td>
										</xp:tr>
										<xp:tr>
											<xp:td><xp:label value="Date Advertised:" id="label16" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
											<xp:td>
												<xp:inputText
													id="inputText7" value="#{document1.DateAdvertised}">
													<xp:this.converter>
														<xp:convertDateTime
															type="date" dateStyle="short">
														</xp:convertDateTime>
													</xp:this.converter>
													<xp:dateTimeHelper></xp:dateTimeHelper>
												</xp:inputText></xp:td>
										</xp:tr>
										<xp:tr>
											<xp:td><xp:label value="Method of Advertisement:" id="label17" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
											<xp:td>
												<xp:inputText
													id="inputText8" value="#{document1.AdvertisementMethod}"
													style="width:90%">
												</xp:inputText></xp:td>
										</xp:tr>
										<xp:tr>
											<xp:td><xp:label value="Date Filled:" id="label18" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
											<xp:td></xp:td>
										</xp:tr>
										<xp:tr>
											<xp:td><xp:label value="Method of Filling Role:" id="label19" style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">
											</xp:label></xp:td>
											<xp:td>
												<xp:inputText
													id="inputText9" style="width:90%" value="#{document1.MethodFilled}">
												</xp:inputText></xp:td>
										</xp:tr>
										
										
									</xp:table></xp:panel>
								<xp:br></xp:br>
								<xp:table style="width:95.0%"
									disableTheme="true">
									
									
									
									
									<xp:tr>
										<xp:td>
											
											<xp:inputText
												id="inputText16" rendered="false"
												value="#{document1.Status}">
											<xp:this.defaultValue><![CDATA[#{javascript:"New"}]]></xp:this.defaultValue></xp:inputText>
										</xp:td>
										<xp:td>
											
										</xp:td>
										<xp:td>
											
										</xp:td>
										<xp:td>
											
										</xp:td>
									</xp:tr>

								</xp:table>

							</xp:tabPanel>
						</xp:tabbedPanel>
					</xp:panel>
				</xp:panel>
				<xp:panel styleClass="corner-content-1col-bottom"></xp:panel>
			</xp:panel>
		</xp:panel>
		<!-- FOOTER -->
		<xc:footer></xc:footer>
	</xp:panel>
</xp:view>

Open in new window

0
 
LVL 46

Accepted Solution

by:
Sjef Bosman earned 500 total points
ID: 38780560
Ok, thanks. The first/leftmost Approve button seems the closest to what I think is correct. Some questions:
- why do you open the document in edit mode
- why do you save it
- why do you save it twice

Then a suggestion for a test. Can you change your code into:

            var _temp = document1.getItemValue("ITRequirements");
            for (var i= 0; i<_temp.length; i++) {
                  stream.writeText("<td>" + _temp.elementAt(i) + "</td>");
                  stream.writeText("</tr><tr><td></td>");
            }
0
 

Author Comment

by:Bristan_Service_Desk
ID: 38781864
Hi Sjef,

In answer to your questions, it's mostly just left over code from other things I was trying, but didn't affect anything so I left it for the time being.

As for your suggestion, that worked perfectly!
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 38782475
Ah, I think I remember how it can be done differently, but I'm not quite sure. It's the difference between an Array and a Vector that's bugging us.

Hopefully shorter but equivalent code:

            var _temp = document1.getItemValue("ITRequirements");
            for (var x in _temp) {
                  stream.writeText("<td>" + x + "</td>");
                  stream.writeText("</tr><tr><td></td>");
            }

What I assume is that the Iterator for an array is/needs an integer, whereas the Iterator for a Vector is one Vector element. Please correct me if I didn't get the names right, but I hope you get my drift.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question