core-jgi/org.adempiere.webstore/expenseLine.jsp

367 lines
10 KiB
Plaintext

<%@ include file="/WEB-INF/jspf/page.jspf" %>
<c:if test='${empty webUser || !webUser.loggedIn}'>
<c:redirect url='loginServlet?ForwardTo=expenseLine.jsp'/>
</c:if>
<c:if test='${empty param.W_Expense_ID}'>
<c:redirect url='expenses.jsp'/>
</c:if>
<html>
<!--
- Author: Jorg Janke
- Version: $Id$
- Adempiere ERP & CRM Smart Business Solution - Copyright (c) 1999-2004 Jorg Janke
- - -
- Web Store Expenses
-->
<head>
<%@ include file="/WEB-INF/jspf/head.jspf" %>
<title><c:out value='${ctx.name}'/> - My Expense</title>
<script type="text/javascript">
function cancelExpense()
{
window.location="expenses.jsp";
}
function updateClientList()
{
/**
* call searchServlet
* param: get = 'clientList'
*
* get back:
* <clients>
* <client id='0'>ANY</client>
* <client id='1'>GardenWorld</client>
* <client id='2'>ComPiere, Inc.</client>
* </clients>
*/
var params = new Array();
params['get']='clientList';
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updateClientListCallback, null, "GET", params);
}
function updateClientListCallback()
{
updateSelect(this, "clients", "ID_C_Client_ID");
updateOrgList();
}
addOnLoadListener(updateClientList);
function updatePartnerList()
{
/**
* call searchServlet
* param: get = 'partnerList'
*
* get back:
* <partners>
* <partner id='0'>ANY</partner>
* <partner id='1'>Joe Block</partner>
* </partners>
*/
var params = new Array();
params['get']='partnerList';
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updatePartnerListCallback, null, "GET", params);
}
function updatePartnerListCallback()
{
updateSelect(this, "partners", "ID_C_Partner_ID");
}
addOnLoadListener(updatePartnerList);
function updateOrgList()
{
var clientSelect = document.getElementById('ID_C_Client_ID');
var clientOption = clientSelect.options[clientSelect.selectedIndex];
var clientId = clientOption.attributes.getNamedItem('value').value;
/**
* call searchServlet
* param: get = 'orgList'
* param: clientID = '123'
*
* get back:
* <orgs clientID='123'>
* <org id='0'>ANY</client>
* <org id='1'>HQ</org>
* <org id='2'>Sales</org>
* <org id='3'>Support</org>
* </orgs>
*/
var params = new Array();
params['get']='orgList';
params['clientID']=clientId;
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updateOrgListCallback, null, "GET", params);
}
function updateOrgListCallback()
{
updateSelect(this, "orgs", "ID_C_Organization_ID");
}
function updateCampaignList()
{
/**
* call searchServlet
* param: get = 'campaignList'
*
* get back:
* <campaigns>
* <campaign id='0'>ANY</campaign>
* <campaign id='1'>Rose Festival</campaign>
* </campaigns>
*/
var params = new Array();
params['get']='campaignList';
var loader = new AJAX.AjaxLoader("searchServlet", updateCampaignListCallback, null, "GET", params);
}
function updateCampaignListCallback()
{
updateSelect(this, "campaigns", "ID_C_Campaign_ID");
}
addOnLoadListener(updateCampaignList);
function updateProjectList()
{
/**
* call searchServlet
* param: get = 'projectList'
*
* get back:
* <projects>
* <project id='0'>ANY</project>
* <project id='1'>Landscaping New Office</project>
* </projects>
*/
var params = new Array();
params['get']='projectList';
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updateProjectListCallback, null, "GET", params);
}
function updateProjectListCallback()
{
updateSelect(this, "projects", "ID_C_Project_ID");
updatePhaseList();
}
addOnLoadListener(updateProjectList);
function updatePhaseList()
{
var projectSelect = document.getElementById('ID_C_Project_ID');
var projectOption = projectSelect.options[projectSelect.selectedIndex];
var projectID = projectOption.attributes.getNamedItem('value').value;
/**
* call searchServlet
* param: get = 'phaseList'
* param: projectID = '123'
*
* get back:
* <phases projectID='123'>
* <phase id='0'>ANY</phase>
* <phase id='1'>Planning</phase>
* </phases>
*/
var params = new Array();
params['get']='phaseList';
params['projectID']=projectID;
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updatePhaseListCallback, null, "GET", params);
}
function updatePhaseListCallback()
{
updateSelect(this, "phases", "ID_C_Phase_ID");
updateTaskList();
}
function updateTaskList()
{
var projectSelect = document.getElementById('ID_C_Project_ID');
var projectOption = projectSelect.options[projectSelect.selectedIndex];
var projectID = projectOption.attributes.getNamedItem('value').value;
var phaseSelect = document.getElementById('ID_C_Phase_ID');
var phaseOption = phaseSelect.options[phaseSelect.selectedIndex];
var phaseID = phaseOption.attributes.getNamedItem('value').value;
/**
* call searchServlet
* param: get = 'phaseList'
* param: projectID = '123'
* param: phaseID = '456'
*
* get back:
* <tasks projectID='123' phaseID='456'>
* <task id='0'>ANY</task>
* <task id='1'>Contact Owner</task>
* </tasks>
*/
var params = new Array();
params['get']='taskList';
params['projectID']=projectID;
params['phaseID']=phaseID;
params['W_Expense_ID']=queryString['W_Expense_ID'];
var loader = new AJAX.AjaxLoader("searchServlet", updateTaskListCallback, null, "GET", params);
}
function updateTaskListCallback()
{
updateSelect(this, "tasks", "ID_C_Task_ID");
}
</script>
</head>
<body><div id="page">
<%@ include file="/WEB-INF/jspf/header.jspf" %>
<div id="main">
<%@ include file="/WEB-INF/jspf/menu.jspf" %>
<%@ include file="/WEB-INF/jspf/vendor.jspf" %>
<div id="content">
<c:choose>
<c:when test="${not empty param.W_ExpenseLine_ID}">
<h1>My Expense: <c:out value='${param.W_Expense_ID}'/>, Line <c:out value='${param.W_ExpenseLine_ID}'/></h1>
</c:when>
<c:otherwise>
<h1>My Expense: New Expense Line</h1>
</c:otherwise>
</c:choose>
<c:if test='${not empty info.info}'>
<p><b><c:out value='${info.message}'/></b></p>
</c:if>
<form method="post" name="Expense" action="expenseServlet" enctype="application/x-www-form-urlencoded">
<input name="Source" type="hidden" value=""/>
<input name="Info" type="hidden" value=""/>
<script language="Javascript">
document.Request.Source.value=document.referrer;
document.Request.Info.value=document.lastModified;
</script>
<input name="ForwardTo" type="hidden" value="<c:out value='${param.ForwardTo}'/>"/>
<c:if test='${not empty param.SalesRep_ID}'>
<input name="SalesRep_ID" type="hidden" value="<c:out value='${param.SalesRep_ID}'/>"/>
</c:if>
<c:if test='${empty param.SalesRep_ID}'>
<input name="SalesRep_ID" type="hidden" value="<c:out value='${webUser.salesRep_ID}'/>"/>
</c:if>
<table class="internalTable">
<tr>
<td class="lineItem">
<fieldset>
<legend>Details</legend>
<label>Client</label>
<select id="ID_C_Client_ID" name="ID_C_Client_ID" onchange="updateOrgList()">
</select>
<br/>
<label>Organization</label>
<select id="ID_C_Organization_ID" name="ID_C_Organization_ID">
</select>
<br/>
<label>Date</label>
<input type="text" size="8"/>
<img src="Calendar16.gif" border="0"/>
<br/>
<label>Type</label>
<input type="radio" name="type" value="Time" style="width: 20px;"/> Time
<input type="radio" name="type" value="Monetary" checked="true" style="width: 20px;"/> Monetary
<br/>
<label>Product</label>
<input type="text" size="20"/>
<br/>
<label>Quantity</label>
<input type="text" size="10"/>
<br/>
<label>Expense Amount</label>
<input type="text" size="10"/>
<img src="Calculator16.gif" border="0"/>
<br/>
<label>Invoice Price</label>
<input type="text" size="10"/>
<img src="Calculator16.gif" border="0"/>
<br/>
</fieldset>
</td>
<td class="lineItem">
<fieldset>
<legend>Reference</legend>
<label>Business Partner</label>
<select id="ID_C_Partner_ID" name="ID_C_Partner_ID">
</select>
<br/>
<label>Campaign</label>
<select id="ID_C_Campaign_ID" name="ID_C_Campaign_ID">
<option selected="selected">Any</option>
</select>
<br/>
<label>Project</label>
<select id="ID_C_Project_ID" name="ID_C_Project_ID" onchange="updatePhaseList()">
<option selected="selected">Any</option>
</select>
<br/>
<label>Phase</label>
<select id="ID_C_Phase_ID" name="ID_C_Phase_ID" onchange="updateTaskList()">
<option>Any</option>
</select>
<br/>
<label>Task</label>
<select id="ID_C_Task_ID" name="ID_C_Task_ID">
<option>Any</option>
</select>
<br/>
</fieldset>
</td>
</tr>
<tr>
<td class="lineItem">
<fieldset>
<legend>Description</legend>
<textarea cols="40" class="wideText"></textarea>
<div class="entryNote">Max 1500 Characters</div>
</fieldset>
</td>
<td class="lineItem">
<fieldset>
<legend>Note</legend>
<textarea cols="40" class="wideText"></textarea>
<div class="entryNote">Max 1500 Characters</div>
</fieldset>
</td>
</tr>
</table>
<br/>
<div class="buttons">
<input type="submit" name="Submit" value="Save Draft" />
<input type="submit" name="Submit" value="Submit Draft for Approval" />
<input type="button" value="Cancel Draft" onclick="cancelExpense();"/>
<input type="reset"/>
</div>
</form>
</div>
</div>
<%@ include file="/WEB-INF/jspf/footer.jspf" %>
</div></body>
</html>