<%@page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"%> 
<%@ include file="Connections/library.jsp" %>
<%--Copyright (C) 2002 Tony Grant

This file is part of lmstoolkit

lmstoolkit is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

lmstoolkit is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public
License along with lmstoolkit; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA--%>
<%
// *** Edit Operations: declare variables

// set the form action variable
String MM_editAction = request.getRequestURI();
if (request.getQueryString() != null && request.getQueryString().length() > 0) {
  MM_editAction += "?" + request.getQueryString();
}

// connection information
String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;

// redirect information
String MM_editRedirectUrl = null;

// query string to execute
StringBuffer MM_editQuery = null;

// boolean to abort record edit
boolean MM_abortEdit = false;

// table information
String MM_editTable = null, MM_editColumn = null, MM_recordId = null;

// form field information
String[] MM_fields = null, MM_columns = null;
%>
<%
// *** Insert Record: set variables

if (request.getParameter("MM_insert") != null) {

  MM_editDriver     = MM_library_DRIVER;
  MM_editConnection = MM_library_STRING;
  MM_editUserName   = MM_library_USERNAME;
  MM_editPassword   = MM_library_PASSWORD;
  MM_editTable  = "loan";
  MM_editRedirectUrl = "";
  String MM_fieldsStr = "loan_id|value|book_id|value|datesortie|value|dateretour|value|borrower_id|value|sorti|value";
  String MM_columnsStr = "loan_id|none,none,NULL|book_id|none,none,NULL|datesortie|',none,NULL|dateretour|',none,NULL|borrower_id|none,none,NULL|sorti|none,'Y','N'";

  // create the MM_fields and MM_columns arrays
  java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
  MM_fields = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();

  tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
  MM_columns = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();

  // set the form values
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
  }
 
  // append the query string to the redirect URL
  if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
  }
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (request.getParameter("MM_insert") != null) {

  // create the insert sql statement
  StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    String formVal = MM_fields[i+1];
    String elem;
    java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
    String delim    = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String altVal   = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    if (formVal.length() == 0) {
      formVal = emptyVal;
    } else {
      if (altVal.length() != 0) {
        formVal = altVal;
      } else if (delim.compareTo("'") == 0) {  // escape quotes
        StringBuffer escQuotes = new StringBuffer(formVal);
        for (int j=0; j < escQuotes.length(); j++)
          if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
        formVal = "'" + escQuotes + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
    MM_dbValues.append((i!=0)?",":"").append(formVal);
  }
  MM_editQuery = new StringBuffer("insert into " + MM_editTable);
  MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
  MM_editQuery.append(MM_dbValues.toString()).append(")");
  
  if (!MM_abortEdit) {
    // finish the sql and execute it
    Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
    Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
    PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
    MM_editStatement.executeUpdate();
    MM_connection.close();

    // redirect with URL parameters
    if (MM_editRedirectUrl.length() != 0) {
      response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
    }
  }
}
%>
<%
String loan__varEmp = "1";
if (session.getAttribute("loan_id")    !=null) {loan__varEmp = (String)session.getAttribute("loan_id")   ;}
%>
<%
Driver Driverloan = (Driver)Class.forName(MM_library_DRIVER).newInstance();
Connection Connloan = DriverManager.getConnection(MM_library_STRING,MM_library_USERNAME,MM_library_PASSWORD);
PreparedStatement Statementloan = Connloan.prepareStatement("SELECT loan.loan_id, borrower.borrower_id, datesortie, dateretour, name, first_name  FROM loan, borrower  WHERE loan_id = '" + loan__varEmp + "' AND loan.borrower_id = borrower.borrower_id");
ResultSet loan = Statementloan.executeQuery();
boolean loan_isEmpty = !loan.next();
boolean loan_hasData = !loan_isEmpty;
Object loan_data;
int loan_numRows = 0;
%>
<%
Driver Driversortie = (Driver)Class.forName(MM_library_DRIVER).newInstance();
Connection Connsortie = DriverManager.getConnection(MM_library_STRING,MM_library_USERNAME,MM_library_PASSWORD);
PreparedStatement Statementsortie = Connsortie.prepareStatement("SELECT to_char(datesortie, 'DD-MM-YYYY')  FROM loan");
ResultSet sortie = Statementsortie.executeQuery();
boolean sortie_isEmpty = !sortie.next();
boolean sortie_hasData = !sortie_isEmpty;
Object sortie_data;
int sortie_numRows = 0;
%>
<%
Driver Driverretour = (Driver)Class.forName(MM_library_DRIVER).newInstance();
Connection Connretour = DriverManager.getConnection(MM_library_STRING,MM_library_USERNAME,MM_library_PASSWORD);
PreparedStatement Statementretour = Connretour.prepareStatement("SELECT to_char(dateretour, 'DD-MM-YYYY')  FROM loan");
ResultSet retour = Statementretour.executeQuery();
boolean retour_isEmpty = !retour.next();
boolean retour_hasData = !retour_isEmpty;
Object retour_data;
int retour_numRows = 0;
%>
<%
String namebre__varEmp = "1";
if (request.getParameter("borrower_id") !=null) {namebre__varEmp = (String)request.getParameter("borrower_id");}
%>
<%
Driver Drivernamebre = (Driver)Class.forName(MM_library_DRIVER).newInstance();
Connection Connnamebre = DriverManager.getConnection(MM_library_STRING,MM_library_USERNAME,MM_library_PASSWORD);
PreparedStatement Statementnamebre = Connnamebre.prepareStatement("SELECT count(loan_id)  FROM loan  WHERE borrower_id = " + namebre__varEmp + " AND sorti = 't'");
ResultSet namebre = Statementnamebre.executeQuery();
boolean namebre_isEmpty = !namebre.next();
boolean namebre_hasData = !namebre_isEmpty;
Object namebre_data;
int namebre_numRows = 0;
%>
<html>
<head>
<title>Fiche Emprunt</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="lmstk.css" type="text/css">
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
  <br>
  <table width="550" border="0" cellspacing="0" cellpadding="0" align="center">
    <tr> 
      <td align="right">N&deg; loan :</td>
      <td><%=(((loan_data = loan.getObject("loan_id"))==null || loan.wasNull())?"":loan_data)%> 
        <input type="hidden" name="loan_id" value="<%=(((loan_data = loan.getObject("loan_id"))==null || loan.wasNull())?"":loan_data)%>">
      </td>
    </tr>
    <tr> 
      <td align="right">Document_id :</td>
      <td> 
        <input type="text" name="book_id">
      </td>
    </tr>
    <tr> 
      <td align="right">&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td align="right">Out&nbsp; </td>
      <td><%=(((sortie_data = sortie.getObject("to_char"))==null || sortie.wasNull())?"":sortie_data)%> 
        <input type="hidden" name="datesortie" value="<%=(((loan_data = loan.getObject("datesortie"))==null || loan.wasNull())?"":loan_data)%>">
      </td>
    </tr>
    <tr> 
      <td align="right">To be returned&nbsp; </td>
      <td><%=(((retour_data = retour.getObject("to_char"))==null || retour.wasNull())?"":retour_data)%> 
        <input type="hidden" name="dateretour" value="<%=(((loan_data = loan.getObject("dateretour"))==null || loan.wasNull())?"":loan_data)%>">
      </td>
    </tr>
    <tr> 
      <td align="right">&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr> 
      <td align="right">N&deg; Borrowerr :</td>
      <td> <%=(((loan_data = loan.getObject("borrower_id"))==null || loan.wasNull())?"":loan_data)%> - <%=(((loan_data = loan.getObject("first_name"))==null || loan.wasNull())?"":loan_data)%> <%=(((loan_data = loan.getObject("name"))==null || loan.wasNull())?"":loan_data)%> 
        <input type="hidden" name="borrower_id" value="<%=(((loan_data = loan.getObject("borrower_id"))==null || loan.wasNull())?"":loan_data)%>">
        <input type="hidden" name="sorti" value="true">
      </td>
    </tr>
    <tr> 
      <td align="right">&nbsp;</td>
      <td>Borrower has 
        <% if (!loan_isEmpty ) { %>
        <%=(((namebre_data = namebre.getObject("count"))==null || namebre.wasNull())?"":namebre_data)%> 
        <% } /* end !loan_isEmpty */ %>
        documents on loan</td>
    </tr>
    <tr> 
      <td colspan="2" align="right"> 
        <input type="button" name="Submit2" value="Find doc_id" onClick="MM_openBrWindow('find_doc.html','','scrollbars=yes')">
        <input type="submit" name="Submit" value="OK">
        <input type="button" name="fin" value="End" onClick="MM_goToURL('parent','docindex.jsp');return document.MM_returnValue"> 
      </td>
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="true">
</form>
</body>
</html>
<%
loan.close();
Connloan.close();
%>
<%
sortie.close();
Connsortie.close();
%>
<%
retour.close();
Connretour.close();
%>
<%
namebre.close();
Connnamebre.close();
%>