Minna Lesonen
Hannu Pekkanen
Tuukka Tawast
Heikki Uuksulainen
JSP- käsikirja 4.6.2001
Jyväskylän yliopisto
tietotekniikan laitos
Tekijät: Minna Lesonen (minles@st.jyu.fi)
Hannu Pekkanen (krimu@st.jyu.fi)
Tuukka Tawast (tutawast@mit.jyu.fi)
Heikki Uuksulainen (heuuksul@st.jyu.fi)
Työn nimi: Korppi-projekti, JSP-lähdekoodikirja
Työ: JSP-lähdekoodikäsikirja tietotekniikan cum laude -työprojektiin.
Tiivistelmä: JSP-lähdekoodikäsikirja sisältää Korppi-järjestelmän lähdekoodit lukuunottamatta Java-papuja.
Avainsanat: Käyttöliittymä, WWW, JSP, Java
2.15 pageOpisRegisterGroup.code
3.20 ope_tallenna_paivitys.jsp
JSP-tekniikassa (Java Server Pages) sovelluslogiikka pyritään erottelemaan varsinaisesta käyttöliittymästä, eli tässä tapauksessa WWW-sivuista ja sijoittamaan omiin erillisiin Java-papuihinsa. Käyttöliittymät voidaan toteuttaa itsenäisillä Java-ohjelmilla, Java-appletteina tai JSP-tyyppisillä selainkäyttöisillä sivuilla. Parhaan yhteensopivuuden saavuttamiseksi käytimme viimeksimainittua JSP-tekniikkaa. Käyttöliittymän hyödyntämät Java-pavut on dokumentoitu erillään omassa dokumentissaan, joten tässä dokumentissa esitellään vain JSP-sivujen lähdekoodit. Järjestelmän JSP-sivut on kommentoitu käyttäen projektisuunnitelmassa esitettyä mallia.
Luvussa 2 on listattuna opiskelijan käyttöliittymän sivujen lähdekoodit ja luvussa 3 opettajan sivujen koodit. Luku 4 listaa ylläpitäjän sivujen koodit ja luku 5 yleiset kaikilla sivuilla käytettyjen sivujen lähdekoodit.
Opiskelijan on voitava ilmoittautua opettajien määrittelemille kursseille ja tentteihin. Lisäksi on pystyttävä katselemaan tuloksia kurssilta ja antamaan luennoitsijalle hänen pyytämiään tietoja. Tmä luku sisältää opiskelijan käyttöliittymän sivujen lähdekoodit.
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,
java.io.*,
javax.servlet.*" session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools"
scope="application"
class="kotkabeans.Tools" />
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB" />
<jsp:useBean
id="autoNumber"
scope="application"
class="kotkabeans.AutoNumber" />
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize"
/>
<jsp:useBean
id="mail"
scope="application"
class="kotkabeans.Mail" />
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error" />
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person" />
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule" />
<jsp:useBean
id="AddUserToCourse"
scope="application" class="kotkabeans.AddUserToCourse"/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: opisKurssit.jsp
* LANGUAGE: jsp
* DATE: 10.4.02
* AUTHOR:
Heikki Uuksulainen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opisKurssit.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
ResultSet myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div
class="leftbar">
<%@ include
file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageOpisKurssit.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageOpisKurssit.code
* LANGUAGE: JSP
* DATE: 7.3.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
*
COPYRIGHT (C)
KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
%>
<%
String
selectedValue=request.getParameter("course");
String
selectedCourseName="";
String homeOrg="";
String selectedDep="";
String paramDep="";
String department="";
String departmentID="";
String uri="";
int items = 0;
%>
<%
//hakee
kurssit, jolle henkilö on ilmoittautunut opiskelijana
myResult =
db.executeQuery("SELECT name,code,uri FROM
coursetranslation,course,courseinstance WHERE course.deleted='f' AND
languageid="+languageID+" AND coursetranslation.courseid=course.courseid
AND course.courseid=courseinstance.courseid AND courseinstance.deleted='f' AND
courseinstance.courseinstanceid=courseparticipant.courseinstanceid AND
courseparticipant.personid="+personID+" AND
courseparticipant.deleted='f' AND courseparticipant.usergroupid=1 ORDER BY
code;");
%>
<h3>Kurssit, joille olet
ilmoittautunut:</h3>
<%
while(myResult.next()) {
items++;
uri = "";
if(!myResult.getString("uri").equals(""))
{
uri
= myResult.getString("uri");
}
if(!uri.equals("")){
%>
<a target="new"
href="<%= uri %>"><%=
myResult.getString("code") %> <%=
myResult.getString("name") %>
</a> <br />
<% } else { %>
<%=
myResult.getString("code") %> <%=
myResult.getString("name") %> <br />
<%
}
}
if(items == 0) {
%>
<p>(Ei
yhtään kurssia)</p>
<%} %>
<h3>Kursseille
ilmoittautuminen:</h3>
<form
action="./opisKurssit.jsp">
<%@ include
file="pageDepCourse.code" %>
</form>
<%
if(usemodule.courseRight(personID,Integer.parseInt(selectedValue)) == 2)
{
%>
<h3>Sinulla on tuntiopettajan oikeudet kyseiselle kurssille! Alla
olevalla linkillä pääset demopisteiden antoon</h3>
<a href="ope_demopisteet.jsp?kurssit=<%= selectedValue
%>">Demopisteet</a>
<%
} else {
%>
<% // lets' check if user has registered to chosen course
String
personid=String.valueOf(personID);
if(!AddUserToCourse.checkUser(personid,selectedValue,false))
if(selectedValue.compareTo("0")
!= 0) {
%>
<div class="keskelle">
<form
action="./opisRegister.jsp">
<input type="submit" name="button"
value="Ilmoittaudu"> <br />
<input
type="hidden" name="course" value="<%=
selectedValue %>">
<input
type="hidden" name="department" value="<%=
selectedDep %>">
</form>
</div>
<%
}
else
{}
else {
%>
<form
action="./opisRegister.jsp">
<input
type="submit" name="button" value="poista
ilmoittautuminen"> <br />
<input
type="hidden" name="course" value="<%=
selectedValue %>">
<input type="hidden"
name="department" value="<%= selectedDep %>">
</form>
<form
action="./courseInfo.jsp">
<input
type="submit" value="tietosi kurssilta"> <br />
<input type="hidden" name="course"
value="<%= selectedValue %>">
<input type="hidden"
name="department" value="<%= selectedDep %>">
</form>
<form
action="opry_ilmo.jsp">
<input
type="submit" value="opetusryhmiin ilmoittautuminen">
<br />
<input
type="hidden" name="course" value="<%=
selectedValue %>">
<input type="hidden"
name="department" value="<%= selectedDep %>">
</form>
<%
}
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
<%
******************************************************************************
*
* NAME: pageDepCourse.code
* LANGUAGE: JSP
* DATE: 18.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
%>
<!-- Hakee kaikki laitokset -->
<% myResult = db.executeQuery("SELECT
DISTINCT name,organisationid FROM organisationtranslation WHERE languageid =
"+languageID+" AND organisationtranslation.organisationid=organisation.organisationid
AND organisation.organisationtypeid=3 AND deleted='f';"); %>
<h4>Valitse
laitos:</h4>
<select name="department">
<% if(request.getParameter("department") == null ||
request.getParameter("department").equals("0")) {
homeOrg =
"----Kaikki----";
selectedDep =
"0";
%>
<option
value="<%= selectedDep %>"
selected="selected"><%= homeOrg %></option>
<%
} else { // Hakee parametrina tuodun organisaation
myTemp2Result =
db.executeQuery("SELECT name, organisationid FROM organisationtranslation
WHERE languageid="+languageID+" AND organisationid="+request.getParameter("department")+";");
if(myTemp2Result.next() ) {
homeOrg =
myTemp2Result.getString("name");
selectedDep =
myTemp2Result.getString("organisationid");
%>
<option
value="<%= selectedDep %>"
selected="selected"><%= homeOrg %></option>
<% }
}
%>
<% while(myResult.next()) {
department = myResult.getString("name");
departmentID =
myResult.getString("organisationid");
if(department.equals(homeOrg)) continue;
%>
<option
value="<%= departmentID %>"><%= department
%></option>
<% } %>
</select>
<input type="submit"
value="OK" />
<%
if(request.getParameter("department") == null ||
request.getParameter("department").equals("0")) { //Hakee kaikkien laitosten kurssit
myResult =
db.executeQuery("SELECT DISTINCT
name,courseinstance.courseinstanceid,code,date(startdate) FROM
course,coursetranslation,courseinstance WHERE
coursetranslation.courseid=course.courseid AND courseinstance.courseid=course.courseid
AND courseinstance.deleted='false' AND coursetranslation.deleted='f' AND
languageid = "+languageID+" ORDER BY code;");
}
else { // Hakee parametrina tuodun
laitoksen kurssit
myResult = db.executeQuery(" SELECT DISTINCT
name,courseinstance.courseinstanceid,code,date(startdate) FROM
course,coursetranslation,courseinstance WHERE courseinstance.deleted='f' AND
coursetranslation.deleted='f' AND languageid = "+languageID+" AND
coursetranslation.courseid=course.courseid AND
courseinstance.courseid=course.courseid AND
course.organisationid="+request.getParameter("department")+"
ORDER BY code;");
}
%>
<h4>Valitse kurssi:</h4>
<select name="course">
<% if((selectedValue == null) ||
(selectedValue.equals("0"))) {
selectedCourseName = "---Valitse Kurssi---";
selectedValue = "0";
}
else { // hakee parametrina
tuodun kurssin oletukseksi, jos se on parametrina tuodun laitoksen kurssi, jos
laitos tuodaan parametrina!
if(request.getParameter("department").equals("0"))
{
myTempResult =
db.executeQuery("SELECT organisationid FROM course WHERE
courseinstance.deleted='f' AND
courseinstance.courseinstanceid="+selectedValue+" AND
courseinstance.courseid=course.courseid;");
if(myTempResult.next()) { paramDep =
myTempResult.getString("organisationid"); }
}
else { paramDep =
request.getParameter("department"); }
myTemp2Result =
db.executeQuery("SELECT DISTINCT
name,courseinstance.courseinstanceid,code,date(startdate) FROM
course,coursetranslation,courseinstance WHERE
coursetranslation.courseid=course.courseid AND
course.courseid=courseinstance.courseid AND courseinstance.deleted='f' AND
courseinstance.courseinstanceid="+selectedValue+" AND
course.organisationid="+paramDep+" AND
coursetranslation.languageid="+languageID+";");
if( myTemp2Result.next() ) {
String name =
myTemp2Result.getString("name");
selectedValue =
myTemp2Result.getString("courseinstanceid");
String code =
myTemp2Result.getString("code");
String date = myTemp2Result.getString("date");
selectedCourseName =
code +" "+ name +" "+ date;
} else {
selectedValue="0";
selectedCourseName="---Valitse kurssi---";
}
}
%>
<option value="<%=
selectedValue %>" selected="selected"><%=
selectedCourseName %></option>
<% while(myResult.next()) {
String courseid =
myResult.getString("courseinstanceid");
if(courseid.equals(selectedValue)) continue;
String code =
myResult.getString("code");
String date =
myResult.getString("date");
String name =
myResult.getString("name");
String option = code +" "+ name +" "+ date;
%>
<option value="<%=
courseid %>"><%= option %></option>
<%
}
%>
</select>
<input type="submit"
value="OK" />
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.sql.*" session="true"
autoFlush="true" isThreadSafe="true"
isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application"
class="kotkabeans.Tools"/>
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB"/>
<jsp:useBean
id="autoNumber" scope="application"
class="kotkabeans.AutoNumber"/>
<jsp:useBean
id="localize"
scope="application" class="kotkabeans.Localize"/>
<jsp:useBean
id="mail"
scope="application" class="kotkabeans.Mail"/>
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error"/>
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person"/>
<jsp:useBean
id="usemodule"
scope="application" class="kotkabeans.UseModule"/>
<%
/*****************************************************************************
* PAGE DESCRIPTION
******************************************************************************
*
* NAME: opisTentiti.jsp
* LANGUAGE: JSP
* DATE: 27.2.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
*
27.2.2000
* - First prototype
*
*****************************************************************************/
User user =
(User)session.getValue("user");
if(user == null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opisTentit.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int
personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int
languageID=user.getLanguageID(); // 1 = English, 2 = Finnish
int accessGroup=1;
ResultSet myResult; // SQL
query result
ResultSet myTempResult;
ResultSet
myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
// connect to database
db.connect();
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="fi">
<head>
<link
rel="StyleSheet" href="kotka2.css"
type="text/css" media="screen" title="Kotka
stylesheet" />
<title>Kotka</title>
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageOpisTentit.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageOpisTentit.code
* LANGUAGE: JSP
* DATE: 4.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
String homeOrg="";
String selectedDep="";
int items = 0;
%>
<% //
lets fetch all examination that user has registered to
myTempResult = db.executeQuery("SELECT
DISTINCT begintime,space.code AS scode,coursetranslation.name,course.code AS
ccode,eventgroup.eventgroupid FROM groupparticipant,eventgroup,course,space,coursetranslation,event
WHERE spaceid=eventspace.spaceid AND eventspace.eventid=event.eventid AND
event.eventgroupid=eventgroup.eventgroupid AND groupparticipant.deleted='f' AND
groupparticipant.personid="+personID+" AND groupparticipant.eventgroupid=eventgroup.eventgroupid
AND eventgroup.grouptypeid=3 AND
eventgroup.courseinstanceid=courseinstance.courseinstanceid AND
courseinstance.courseid=course.courseid AND
coursetranslation.courseid=course.courseid AND coursetranslation.languageid="+languageID+"
ORDER BY ccode;");
%>
<h3>Tentit, joille olet
ilmoittautunut:</h3>
<%
while(myTempResult.next()) {
items++;
String code =
myTempResult.getString("ccode");
String name =
myTempResult.getString("name");
String space =
myTempResult.getString("scode");
String time =
myTempResult.getString("begintime");
String option = code +"
"+ name +" "+ space +" "+ time;
%>
<%=
option %> <br />
<% }
if(items == 0) {
%>
(Ei yhtään tenttiä)
<% }
%>
<h3>Tenttituloksesi:</h3>
<p>(Ei tuloksia)</p>
<% // all departments
myResult = db.executeQuery("SELECT
DISTINCT name,organisationid FROM organisationtranslation WHERE languageid =
"+languageID+" AND organisationtranslation.organisationid=organisation.organisationid
AND organisation.organisationtypeid=3 AND deleted='f';"); %>
<form
action="opisTentit.jsp">
<h3>Tentteihin
ilmoittautuminen:</h3>
<h4>Valitse laitos:</h4>
<select name="department">
<% if(request.getParameter("department") == null ||
request.getParameter("department").equals("0")) {
homeOrg =
"----Kaikki----";
selectedDep =
"0";
%>
<option value="<%= selectedDep
%>" selected="selected"><%= homeOrg
%></option>
<%
} else { // fetch department that is
set to url
myTemp2Result =
db.executeQuery("SELECT name,organisationid FROM organisationtranslation
WHERE languageid="+languageID+" AND
organisationid="+request.getParameter("department")+";");
if(myTemp2Result.next() ) {
homeOrg = myTemp2Result.getString("name");
selectedDep =
myTemp2Result.getString("organisationid");
%>
<option
value="<%= selectedDep %>"
selected="selected"><%= homeOrg %></option>
<% }
}
%>
<% while(myResult.next()) {
String department =
myResult.getString("name");
String departmentID =
myResult.getString("organisationid");
if(department.equals(homeOrg)) continue;
%>
<option
value="<%= myResult.getString("organisationid") %>"><%=
myResult.getString("name") %></option>
<% } %>
</select>
<input type="submit"
value="OK" />
</form>
<% // fetch information from ALL examinations
if(request.getParameter("department")==null
|| request.getParameter("department").equals("0")) {
myTempResult = db.executeQuery("SELECT
DISTINCT begintime,space.code AS scode,coursetranslation.name,course.code AS
ccode,eventgroup.eventgroupid FROM
eventgroup,course,space,coursetranslation,event WHERE
spaceid=eventspace.spaceid AND eventspace.eventid=event.eventid AND
event.eventgroupid=eventgroup.eventgroupid AND eventgroup.deleted='f' AND
eventgroup.grouptypeid=3 AND
eventgroup.courseinstanceid=courseinstance.courseinstanceid AND
courseinstance.courseid = course.courseid AND
coursetranslation.courseid=course.courseid AND coursetranslation.languageid="+languageID+"
ORDER BY ccode;");
}
else {
// information from examinations that belongs to department that is set
to url
myTempResult
= db.executeQuery("SELECT DISTINCT begintime,space.code AS
scode,coursetranslation.name,course.code AS ccode,eventgroup.eventgroupid FROM
eventgroup,course,space,coursetranslation,event WHERE
spaceid=eventspace.spaceid AND eventspace.eventid=event.eventid AND
event.eventgroupid=eventgroup.eventgroupid AND eventgroup.deleted='f' AND
eventgroup.grouptypeid=3 AND eventgroup.courseinstanceid=courseinstance.courseinstanceid
AND courseinstance.courseid = course.courseid AND
course.organisationid="+selectedDep+" AND
coursetranslation.courseid=course.courseid AND
coursetranslation.languageid="+languageID+" ORDER BY ccode;");
}
String groupid = "";
String code = "";
String name =
"";
String space =
"";
String time = "";
String
option="";
%>
<form
action="opisRegisterGroup.jsp" method="post">
<h4>Valitse
tentti: </h4>
<select name="examination" size="6" >
<% while(myTempResult.next()) {
groupid
= myTempResult.getString("eventgroupid");
code
= myTempResult.getString("ccode");
name
= myTempResult.getString("name");
space
= myTempResult.getString("scode");
time
= myTempResult.getString("begintime");
option
= code +" "+ name +" "+ space +" "+ time;
%>
<option
value="<%= groupid %>"><%= option %></option>
<% }
%>
</select>
<h4>Viesti tentaattorille:</h4>
<textarea name="info"
rows="3" cols="30"> </textarea> <br />
<input
type="submit" name="button" value="Ilmoittaudu"
/>
<input
type="submit" name="button" value="Poista
ilmoittautuminen" />
<input
type="hidden" name="department" value="<%=
selectedDep %>" />
<input type="reset"
value="Tyhjennä" />
</form>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,java.io.*, javax.servlet.*"
session="true"
autoFlush="true" isThreadSafe="true"
isErrorPage="false" errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application"
class="kotkabeans.Tools" />
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB" />
<jsp:useBean
id="autoNumber"
scope="application"
class="kotkabeans.AutoNumber" />
<jsp:useBean
id="localize"
scope="application"
class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error" />
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person" />
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule" />
<jsp:useBean
id="AddUserToCourse"
scope="application"
class="kotkabeans.AddUserToCourse"/>
<jsp:useBean
id="save" scope="application" class="kotkabeans.SaveInfo"/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: courseInfo.jsp
* LANGUAGE: jsp
* DATE: 23.4.02
* AUTHOR:
Heikki Uuksulainen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opisKurssit.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
ResultSet myTemp2Result;
ResultSet myTemp3Result;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageCourseInfo.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageCourseInfo.code
* LANGUAGE: JSP
*
DATE: 9.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
ResultSet myTemp4Result;
ResultSet myTemp5Result;
int items = 0;
String
department=request.getParameter("department");
String courseID =
request.getParameter("course");
if(courseID == null) courseID =
"0";
// information from given course
myResult = db.executeQuery("SELECT
course.code, coursetranslation.name FROM course, coursetranslation WHERE
courseinstance.courseinstanceid="+courseID+" AND
courseinstance.courseid=course.courseid AND
coursetranslation.courseid=course.courseid AND coursetranslation.languageid="+languageID+";");
if(myResult.next()) {
%>
<h4>Tietosi kurssilta</h4>
<h3><%= myResult.getString("code") %><%=
myResult.getString("name") %></h3>
<% }
//-------------------------------------------------
Lets check if there is all fields in table Result --------------------------------
// fieldgroups that are defined to course
myResult = db.executeQuery("SELECT
fieldgrouplang.name, fieldgroup.fieldgroupid, fieldgroupprotection.accesstype
FROM fieldgroup, fieldgroupprotection, fieldgrouplang WHERE
fieldgroup.deleted='f' AND fieldgrouplang.deleted='f' AND
fieldgroup.courseinstanceid="+courseID+" AND
fieldgrouplang.languageID="+languageID+" AND
fieldgrouplang.fieldgroupid=fieldgroup.fieldgroupid AND
fieldgroup.fieldgroupid=fieldgroupprotection.fieldgroupid AND
fieldgroupprotection.deleted='f' AND
fieldgroupprotection.usergroupid=usergroup.usergroupid AND
usergroup.usergroupid=courseparticipant.usergroupid AND
courseparticipant.personid="+personID+" AND
courseparticipant.courseinstanceid="+courseID+";");;
while(myResult.next()) {
String
group = myResult.getString("fieldgroupid");
%>
<h4><%=
myResult.getString("name") %> </h4>
<%
myTemp5Result
= db.executeQuery("SELECT fieldid, defaultvalue FROM field WHERE
deleted='f' AND fieldgroupid="+group+";");
while(myTemp5Result.next())
{
myTemp4Result
= db.executeQuery("SELECT * FROM result WHERE deleted='f' AND
fieldid='"+myTemp5Result.getString("fieldid")+"';");
if(!myTemp4Result.next())
{
db.executeUpdate("INSERT INTO result
VALUES(false,"+personID+","+personID+",'"+myTemp5Result.getString("fieldid")+"','now','"+myTemp5Result.getString("defaultvalue")+"');");
}
}
//-----------------------------
Print fields to the screen
------------------------------------------------------------
myTempResult =
db.executeQuery("SELECT field.defaultvalue, field.fieldtypeid,
field.fieldid, fieldtranslation.name, result.value FROM fieldtranslation,
field, result WHERE field.fieldgroupid="+group+" AND
fieldtranslation.fieldid=field.fieldid AND
fieldtranslation.languageid="+languageID+" AND
result.fieldid=field.fieldid AND result.personid="+personID+" ORDER
BY ordernum;");
if(Integer.parseInt(myResult.getString("accesstype"))
== 1) { //if
student may not change fields
%>
<form>
<table>
<%
while(myTempResult.next()) {
items++;
%>
<tr><td><%=
myTempResult.getString("name") %></td><td>
<b><%= myTempResult.getString("value")
%></b></td></tr>
<% }
%>
</table>
</form>
<%
}
else
{ //
student may change fields
%>
<form
action="./courseInfoSave.jsp" method="post">
<table>
<%
while(myTempResult.next()) {
String fieldid =
myTempResult.getString("fieldid");
switch(Integer.parseInt(myTempResult.getString("fieldtypeid")))
{
case
1:
%>
<tr><td><%=
myTempResult.getString("name") %></td><td><input
type="text" name="text" value="<%=
myTempResult.getString("value")
%>"/></td></tr>
<input type="hidden"
name="textFieldID" value="<%=
myTempResult.getString("fieldid") %>">
<%
break;
case
3: //
THIS HAVE NOT BEEN TESTED!!!!!!!!!!!!!!!!!!!!
%>
<%=
myTempResult.getString("name") %>
<%
myTemp3Result =
db.executeQuery("SELECT name FROM choicetranslation WHERE
choiceid="+myTempResult.getString("value")+";");
String selectedChoice =
myTempResult.getString("defaultvalue");
if(myTemp3Result.next()) selectedChoice =
myTemp3Result.getString("name");
myTemp2Result = db.executeQuery("SELECT name, choice.choiceid FROM
choicetranslation,choice WHERE field.deleted='f' AND
field.fieldid="+fieldid+" AND fieldchoice.fieldid=field.fieldid AND
fieldchoice.choiceid=choice.choiceid AND
choicetranslation.choiceid=choice.choiceid AND choicetranslation.languageid="+languageID+";");
%>
<select
name="select">
<option selected="selected"
name="<%= myTemp3Result.getString("name") %>"
value="<%= myTempResult.getString("value") %>">
<%
while(myTemp2Result.next()) {
if(myTemp2Result.getString("choiceid").equals(myTempResult.getString("value")))
continue;
%>
<option value="<%=
myTemp2Result.getString("choiceid") %>"><%=
myTemp2Result.getString("name") %></option>
<% }
%>
</select><br
/>
<% break;
case
2:
%>
<%=
myTempResult.getString("name") %>
<%
if(myTempResult.getString("value").equals("0"))
{
%>
<input
type="checkbox" value="<%=
myTempResult.getString("fieldid") %>"
name="check"/><br />
<%
}
else
{
%>
<input
type="checkbox" checked="checked" value="<%=
myTempResult.getString("fieldid") %>"
name="check"/><br />
<%
}
break;
case
4:
%>
<%=
myTempResult.getString("name") %>
<%
if(myTempResult.getString("value").equals("0"))
{
%>
<input
type="radio" value="<%=
myTempResult.getString("fieldid") %>"
name="radio"/><br />
<%
}
else
{
%>
<input
type="radio" value="<%=
myTempResult.getString("fieldid") %>" checked="checked"
name="radio"/><br />
<%
}
break;
default:
%>
Kentän tyyppi väärä!
<%
}
}
%>
</table>
<input
type="submit" value="Tallenna"/>
<input
type="reset" value="Tyhjennä"/>
<input
type="hidden" name="course" value="<%= courseID
%>">
<input
type="hidden" name="department" value="<%=
department %>">
<input
type="hidden" name="fieldgroup" value="<%=
myResult.getString("fieldgroupid") %>">
</form>
<%
}
}
%>
<a
href="opisKurssit.jsp?course=<%= courseID %>&department=<%=
department %>">Takaisin</a>
<!--
<form
action="opisKurssit.jsp">
<input type="submit"
value="Takaisin">
<input type="hidden"
name="course" value="<%= courseID %>">
<input type="hidden"
name="department" value="<%= department %>">
</form>
-->
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,java.io.*, javax.servlet.*"
session="true"
autoFlush="true" isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application"
class="kotkabeans.Tools" />
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB" />
<jsp:useBean
id="autoNumber"
scope="application"
class="kotkabeans.AutoNumber" />
<jsp:useBean
id="localize"
scope="application"
class="kotkabeans.Localize" />
<jsp:useBean
id="mail"
scope="application"
class="kotkabeans.Mail" />
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error" />
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person" />
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule" />
<jsp:useBean
id="AddUserToCourse"
scope="application"
class="kotkabeans.AddUserToCourse"/>
<jsp:useBean
id="save"
scope="application"
class="kotkabeans.SaveInfo"/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME:
courseInfo.jsp
* LANGUAGE: jsp
* DATE: 23.4.02
* AUTHOR:
Heikki Uuksulainen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opisKurssit.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
ResultSet myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageCourseInfoSave.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME:
pageCourseInfoSave.code
* LANGUAGE: JSP
* DATE: 24.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
int i = 0;
String course = request.getParameter("course");
if(course == null) course = "";
String department =
request.getParameter("department");
if(department == null) department =
"";
String fieldgroupID =
request.getParameter("fieldgroup");
if(fieldgroupID == null) fieldgroupID =
"";
String[] parameter = new String[100];
String[] textFieldID = new
String[100];
int length;
boolean text = true, radio = true, check =
true;
// lets check if there is textfields
parameter =
request.getParameterValues("text");
if(parameter != null) {
textFieldID
= request.getParameterValues("textFieldID");
if(!save.saveText(parameter,
textFieldID)) {
text
= false;
}
}
// lets check if there is checkboxes. By
default we set them not checked
i = 0;
parameter = request.getParameterValues("check");
if(!save.saveCheck(fieldgroupID,
parameter)) {
check
= false;
}
//lets check if there is radiogroup
String radioID =
request.getParameter("radio");
if( radioID != null) { // set given fieldid's value=1
if(!save.saveRadio(fieldgroupID,
radioID)) {
radio
= false;
}
}
if(text && check && radio)
{
%>
<h4>Tiedot tallennettu!</h4>
<%
}
else {
%>
<h4>Tietojen tallentamisessa
ongelmia!!<h4>
<h4>Ota yhteys
ylläpitäjään!!</h4>
<%
}
%>
<a
href="courseInfo.jsp?course=<%= course %>&department=<%=
department %>">Takaisin</a>
<!--
<form
action="courseInfo.jsp">
<input
type="submit" value="Takaisin">
<input
type="hidden" name="course" value="<%= course
%>">
<input
type="hidden" name="department" value="<%=
department %>">
</form>
-->
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.sql.*" session="true"
autoFlush="true" isThreadSafe="true"
isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools" scope="application"
class="kotkabeans.Tools"/>
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB"/>
<jsp:useBean
id="autoNumber" scope="application"
class="kotkabeans.AutoNumber"/>
<jsp:useBean
id="localize"
scope="application" class="kotkabeans.Localize"/>
<jsp:useBean
id="mail"
scope="application" class="kotkabeans.Mail"/>
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error"/>
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person"/>
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule"/>
<jsp:useBean
id="group" scope="session"
class="kotkabeans.UserToGroup"/>
<%
/*****************************************************************************
* PAGE DESCRIPTION
******************************************************************************
*
* NAME: opry_ilmo.jsp
* LANGUAGE: JSP
* DATE: 27.2.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 27.2.2000
* - First prototype
*
*****************************************************************************/
User user =
(User)session.getValue("user");
if(user == null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opry_ilmo.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read
from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int
languageID=user.getLanguageID(); // 1 = English, 2 = Finnish
int accessGroup=1;
ResultSet myResult; // SQL
query result
ResultSet myTempResult;
ResultSet
myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
// connect to database
db.connect();
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
<head>
<link
rel="StyleSheet" href="kotka2.css"
type="text/css" media="screen" title="Kotka
stylesheet" />
<title>Kotka</title>
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageOpry_ilmo.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageOpry_ilmo.code
* LANGUAGE: JSP
* DATE: 4.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
%>
<%
String
selectedValue=request.getParameter("course");
String
selectedCourseName="";
String
selectedExGroup="";
//Exercise
String GroupName = "";
String
selectedSuExGroup="";
//Supervised Excercise
String department="";
String selectedDep="";
String departmentID="";
String homeOrg="";
String paramDep="";
int exLkm = 0;
int suExLkm = 0;
int items = 0;
// lets fetch all groups that person has
registered
myResult = db.executeQuery("SELECT DISTINCT
coursetranslation.name AS course, eventgroup.name AS group FROM
courseparticipant, eventgroup WHERE groupparticipant.deleted='f' AND
groupparticipant.personid="+personID+" AND
groupparticipant.eventgroupid=eventgroup.eventgroupid AND
eventgroup.grouptypeid NOT IN(3) AND
eventgroup.courseinstanceid=courseinstance.courseinstanceid AND courseinstance.courseid=course.courseid
AND coursetranslation.courseid=course.courseid AND
coursetranslation.languageid="+languageID+";");
%>
<h3>Ryhmät, joihin olet
ilmoittautunut:</h3>
<%
while(myResult.next()) {
items++;
%>
<b>Kurssi:</b>
<%= myResult.getString("course") %> <b>Ryhmä:</b>
<%= myResult.getString("group") %><br />
<% }
if(items
== 0) {
%>
<p>(Ei yhtään ryhmää)</p>
<% }
%>
<form
action="./opry_ilmo.jsp">
<h3>Opetusryhmiin
ilmoittautuminen</h3>
<%@
include file="pageDepCourse.code" %>
</form>
<!-- DEMOT -->
<% //
first lets check if there is demonstrations to given course
myTemp2Result =
db.executeQuery("SELECT COUNT(eventgroupid) FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND grouptypeid=1;");
if(myTemp2Result.next()) {
if((
exLkm = myTemp2Result.getInt("count")) > 0) { // if
there is, we must get their information from database
// fetch all demonstrationgroups to given course
(grouptypeid=1)
myResult = db.executeQuery("SELECT DISTINCT
eventgroupid,name FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND
grouptypeid=1;");
// fetch grouptypename (demo) to chosen language
myTempResult = db.executeQuery("SELECT name FROM grouptypetranslation
WHERE grouptypeid=1 AND languageid="+languageID+";");
selectedExGroup = "";
%>
<form
action="./groupPlaces.jsp">
<% if(myTempResult.next()) { %>
<h4><%=
myTempResult.getString("name") %></h4>
<% } %>
<select name="group">
<% if(request.getParameter("exercise")
== null || request.getParameter("exercise").equals("0"))
{
selectedExGroup = "0";
GroupName = "----Ei mikään----";
}
else {
myTemp2Result =
db.executeQuery("SELECT eventgroupid,name FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND grouptypeid=1
AND eventgroupid="+request.getParameter("exercise")+";");
if(myTemp2Result.next()) {
selectedExGroup =
myTemp2Result.getString("eventgroupid");
GroupName =
myTemp2Result.getString("name");
}
}
%>
<option
value="<%= selectedExGroup %>"
selected="selected"><%= GroupName %></option>
<% while(myResult.next()) {
String ExGroup =
myResult.getString("eventgroupid");
if(ExGroup.equals(selectedExGroup))
continue;
%>
<option
value="<%= ExGroup %>"><%=
myResult.getString("name") %></option>
<% }
%>
</select>
<input type="submit" value="OK">
<input
type="hidden" name="course" value="<%=
selectedValue %>">
<input
type="hidden" name="department" value="<%=
selectedDep %>">
<input
type="hidden" name="type" value="exercise">
</form>
<% }
}
%>
<!--
OHJAUKSET -->
<% //
first lets check if there is supervised exercises to given course
myTemp2Result =
db.executeQuery("SELECT COUNT(eventgroupid) FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND
grouptypeid=2;");
if(myTemp2Result.next()) {
if((
suExLkm = myTemp2Result.getInt("count")) > 0) { //
if there is, we must get their information from database
//haetaan
kurssiin liittyvät ohjaukset
myResult =
db.executeQuery("SELECT eventgroupid,name FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND
grouptypeid=2;");
//haetaan
opetusryhmän tyyppi (ohjaus) valitulla kielellä
myTempResult =
db.executeQuery("SELECT name FROM grouptypetranslation WHERE grouptypeid=2
AND languageid="+languageID+";");
%>
<form
action="groupPlaces.jsp">
<% if(myTempResult.next()) { %>
<h4><%=
myTempResult.getString("name") %></h4>
<% } %>
<select name="group">
<%
if(request.getParameter("suexercise") == null ||
request.getParameter("suexercise").equals("0")) {
selectedSuExGroup = "0";
GroupName = "----Ei mikään----";
} else {
myTemp2Result = db.executeQuery("SELECT
eventgroupid,name FROM eventgroup WHERE
courseinstanceid="+selectedValue+" AND deleted='f' AND grouptypeid=2
AND eventgroupid="+request.getParameter("suexercise")+";");
if(myTemp2Result.next())
{
selectedSuExGroup =
myTemp2Result.getString("eventgroupid");
GroupName =
myTemp2Result.getString("name");
}
}
%>
<option value="<%=
selectedSuExGroup %>" selected="selected"><%= GroupName
%></option>
<% while(myResult.next()) {
String SuExGroup =
myResult.getString("eventgroupid");
if(SuExGroup.equals(selectedSuExGroup)) continue;
%>
<option value="<%= SuExGroup
%>"><%= myResult.getString("name") %></option>
<% }
%>
</select>
<input type="submit" value="OK">
<input type="hidden" name="course"
value="<%= selectedValue %>">
<input type="hidden"
name="department" value="<%= selectedDep %>">
<input
type="hidden" name="type" value="suexercise">
</form>
<%
}
}
if(suExLkm == 0 && exLkm == 0) {
%>
<p>(Ei yhtään opetusryhmää)</p>
<% }
%>
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.sql.*" session="true"
autoFlush="true" isThreadSafe="true"
isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application" class="kotkabeans.Tools"/>
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB"/>
<jsp:useBean
id="autoNumber" scope="application"
class="kotkabeans.AutoNumber"/>
<jsp:useBean
id="localize"
scope="application" class="kotkabeans.Localize"/>
<jsp:useBean
id="mail"
scope="application" class="kotkabeans.Mail"/>
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error"/>
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person"/>
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule"/>
<jsp:useBean
id="adcourse"
scope="application"
class="kotkabeans.AddUserToCourse"/>
<jsp:useBean
id="adgroup"
scope="application"
class="kotkabeans.UserToGroup"/>
<%
/*****************************************************************************
* PAGE DESCRIPTION
******************************************************************************
*
* NAME: opisRegister
* LANGUAGE: JSP
* DATE: 20.3.2001
*
AUTHOR: Heikki Uuksulainen, Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
*
20.3.2000
* - First prototype
*
*****************************************************************************/
User user =
(User)session.getValue("user");
if(user == null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opry_ilmo.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read
from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int
languageID=user.getLanguageID(); // 1 = English, 2 = Finnish
int accessGroup=1;
ResultSet myResult; // SQL
query result
ResultSet myTempResult;
ResultSet
myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
// connect to database
db.connect();
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
<head>
<link
rel="StyleSheet" href="kotka2.css"
type="text/css" media="screen" title="Kotka
stylesheet" />
<title>Kotka</title>
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div class="main">
<%@ include
file="pageGroupPlaces.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageGroupPlaces.code
* LANGUAGE: JSP
* DATE: 17.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
int i=0;
String groupID =
request.getParameter("group");
if(groupID == null) groupID =
"0";
String type = request.getParameter("type");
if(type == null) type = "";
String selectedDep =
request.getParameter("department");
String selectedValue =
request.getParameter("course");
if(type.equals("exercise"))
type = "exercise";
else type = "suexercise";
if(groupID.compareTo("0") != 0) {
myResult = db.executeQuery("SELECT
begintime,endtime,code FROM event,space WHERE
eventgroupid="+groupID+" AND event.deleted='f' AND
eventspace.eventid=eventid AND eventspace.spaceid=space.spaceid;");
myTempResult = db.executeQuery("SELECT
name, maxparticipants FROM eventgroup WHERE
eventgroupid="+groupID+";");
myTemp2Result =
db.executeQuery("SELECT code,name FROM course,coursetranslation WHERE
coursetranslation.courseid=course.courseid AND course.courseid=courseinstance.courseid
AND courseinstance.courseinstanceid=eventgroup.courseinstanceid AND
languageid="+languageID+" AND
eventgroup.eventgroupid="+groupID+";");
if(myTemp2Result.next()) {
%>
<h4>Kurssi:
<%= myTemp2Result.getString("code") %> <%= myTemp2Result.getString("name")
%></h4>
<% }
if(myTempResult.next()) {
%>
<h4>Ryhmä:
<%= myTempResult.getString("name") %> </h4>
<% }
%>
<table border="3">
<tr><th></th><th>Paikka</th><th>Alkamisaika</th><th>Loppumisaika</th>
<% while(myResult.next()) {
i++;
%>
<tr><td><%= i %>.
tapaaminen</td><td><%= myResult.getString("code")
%></td><td><%= myResult.getString("begintime")
%></td><td><%= myResult.getString("endtime")
%></td></tr>
<% }
%>
</table>
<h4>Ilmoittautuneet:</h4>
<% myResult = db.executeQuery("SELECT
firstnames,lastname FROM person WHERE deleted='f' AND
groupparticipant.deleted='f' AND personid=groupparticipant.personid AND
groupparticipant.eventgroupid="+groupID+";");
i = 0;
%>
<table border="0">
<tr><th>Sukunimi</th><th>Etunimet</th>
<% while(myResult.next()) {
i++;
%>
<tr><td><%=
myResult.getString("lastname") %></td><td><%=
myResult.getString("firstnames") %></td></tr>
<%
}
%>
</table>
<p>Yhteensä <bold><%= i %></bold>
ilmoittautunutta.
<% int persons =
Integer.parseInt(myTempResult.getString("maxparticipants")) - i;
if(
persons <= 0) {
%>
Ryhmään
ei mahdu enää!
<% } %>
<form
action="opryRegister.jsp">
<% if(adgroup.checkUser(String.valueOf(personID),groupID,false))
{
%>
<input type="submit"
name="button" value="Poista ilmoittautuminen">
<% }
else if(persons > 0) {
%>
Ryhmään mahtuu vielä <%= persons %>
henkilöä!
<input
type="submit" name="button"
value="Ilmoittaudu">
<% }
%>
<input
type="hidden" name="group" value="<%= groupID
%>">
<input
type="hidden" name="department" value="<%=
selectedDep %>">
<input type="hidden" name="course"
value="<%= selectedValue %>">
<input
type="hidden" name="type" value="<%= type
%>">
</form>
<%
} else {
%>
Et valinnut ryhmää!!
<% } %>
<a
href="opry_ilmo.jsp?course=<%= request.getParameter("course")
%>&department=<%= request.getParameter("department")
%>&<%= type %>=<%= groupID %>">Takaisin</a>
<!-- <form
action="opry_ilmo.jsp">
<input
type="submit" value="Takaisin">
<input
type="hidden" name="course" value="<%=
request.getParameter("course") %>">
<input
type="hidden" name="department" value="<%=
request.getParameter("department") %>">
<input
type="hidden" name="<%= type %>" value="<%=
groupID %>">
</form>
-->
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.sql.*,java.lang.*"
session="true" autoFlush="true"
isThreadSafe="true"
isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application" class="kotkabeans.Tools"/>
<jsp:useBean
id="db"
scope="session"
class="kotkabeans.DB"/>
<jsp:useBean
id="autoNumber" scope="application"
class="kotkabeans.AutoNumber"/>
<jsp:useBean
id="localize" scope="application"
class="kotkabeans.Localize"/>
<jsp:useBean
id="mail"
scope="application" class="kotkabeans.Mail"/>
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error"/>
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person"/>
<jsp:useBean
id="usemodule"
scope="application"
class="kotkabeans.UseModule"/>
<jsp:useBean
id="adgroup"
scope="application"
class="kotkabeans.UserToGroup"/>
<jsp:useBean
id="adcourse"
scope="application" class="kotkabeans.AddUserToCourse"/>
<%
/*****************************************************************************
* PAGE DESCRIPTION
******************************************************************************
*
* NAME: opisRegisterGroup.jsp
* LANGUAGE: JSP
* DATE: 20.3.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
*
20.3.2000
* - First prototype
*
*****************************************************************************/
User user =
(User)session.getValue("user");
if(user == null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/opisRegisterGroup.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read
from user bean)
int
personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int
languageID=user.getLanguageID(); // 1 = English, 2 = Finnish
int accessGroup=1;
ResultSet myResult; // SQL
query result
ResultSet myTempResult;
ResultSet
myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
// connect to database
db.connect();
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
<head>
<link
rel="StyleSheet" href="kotka2.css"
type="text/css" media="screen" title="Kotka
stylesheet" />
<title>Kotka</title>
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@ include
file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="pageOpisRegisterGroup.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageOpisRegisterGroup.code
* LANGUAGE: JSP
* DATE: 9.4.2001
*
AUTHOR: Heikki Uuksulainen,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 7.3.2001
* - First prototype
*
*****************************************************************************/
%>
<%
String button=request.getParameter("button");
if(button == null) button =
"";
String
selectedGroupID=request.getParameter("examination");
if(selectedGroupID == null)
selectedGroupID = "0";
if(selectedGroupID.equals("0"))
{
%>
<h4>
Et valinnut tenttiä!</h4>
<%
} else {
String courseCode="";
String time="";
String spaceCode="";
String courseName="";
String info =
request.getParameter("info");
if(info == null) info = "";
myResult =
db.executeQuery("SELECT begintime,space.code AS scode,coursetranslation.name
AS cname ,course.code AS ccode,eventgroup.eventgroupid FROM
eventgroup,course,space,coursetranslation,event WHERE
spaceid=eventspace.spaceid AND eventspace.eventid=event.eventid AND
event.eventgroupid=eventgroup.eventgroupid AND eventgroup.eventgroupid="+selectedGroupID+"
AND eventgroup.courseinstanceid=courseinstance.courseinstanceid AND
courseinstance.courseid = course.courseid AND
coursetranslation.courseid=course.courseid AND
coursetranslation.languageid="+languageID+";");
if(myResult.next()) {
courseCode
= myResult.getString("ccode");
courseName
= myResult.getString("cname");
time
= myResult.getString("begintime");
spaceCode
= myResult.getString("scode");
}
if(button.equals("Ilmoittaudu")) {
if(!adgroup.checkUser(String.valueOf(personID),selectedGroupID,false)){
if(adgroup.registerUser(String.valueOf(personID),selectedGroupID,info))
{
%>
<h4>Ilmoittautuminen tenttiin
suoritettu!</h4>
<h3><%= courseCode %> <%=
courseName %></h3>
<h4>Paikka:
<%= spaceCode %></h4>
<h4>Aika: <%= time %></h4>
<%
}
else {
%>
<h4>Ilmoittautuminen ei
onnistunut! Ota yhteys ylläpitäjään!</h4>
<%
}
} else {
%>
<h4>Olet jo ilmoittautunut kyseiseen
tenttiin!</h4>
<%
}
}
else {
if(button.equals("Poista
ilmoittautuminen")) {
if(!adgroup.checkUser(String.valueOf(personID),selectedGroupID,false))
{
%>
<h4>Et
ole ilmoittautunut kyseiseen tenttiin!</h4>
<%
}
else {
if(adgroup.unregisterUser(String.valueOf(personID),selectedGroupID))
{
%>
<h4>Ilmoittautumisen poisto suoritettu!</h4>
<h3><%=
courseCode %> <%= courseName %></h3>
<h4>Paikka: <%= spaceCode %></h4>
<h4>Aika: <%= time %></h4>
<%
}
else {
%>
<h4>Ilmoittautumisen
poisto ei onnistunut! Ota yhteys ylläpitäjään!</h4>
<%
}
}
}
}
}
%>
<form
action="opisTentit.jsp">
<input type="submit"
value="OK">
<input type="hidden" name="department"
value="<%= request.getParameter("department")
%>" >
</form>
Opettajan sivut ovat tämän sovelluksen kaikkein vaativimmat toteutukseltaan, niin käytettävyyden kannalta kuin yleisen ulkoasunkin kannalta. Opettajalla on todella paljon vaatimuksia käyttöliittymän toimintojen suhteen ja toiminnot tulisi olla käytettävissä helposti, sillä opettajat käyttävät järjestelmää huomattavasti enemmän kuin opiskelijat.
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,
java.io.*,
javax.servlet.*" session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_aloitus.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
String toiminto =
request.getParameter("toiminto");
String valittu_k =
request.getParameter("kurssit");
if(valittu_k
== null) { valittu_k = ""; }
if(toiminto == null) { toiminto
= ""; }
if(toiminto.equals("Pisteytys") ||
toiminto.equals("pisteytys")) {
response.sendRedirect("./ope_paivitys.jsp?kurssit="+valittu_k+"");
}
else
if(toiminto.equals("Demopisteytys") ||
toiminto.equals("demopisteytys")) {
response.sendRedirect("./ope_demopisteet.jsp?kurssit="+valittu_k+"");
}
else
if(toiminto.equals("Pikkupäivitys") ||
toiminto.equals("pikkupäivitys")) {
response.sendRedirect("./ope_demopisteet.jsp?kurssit="+valittu_k+"");
}
else
if(toiminto.equals("Osallistujat") ||
toiminto.equals("osallistujat")) {
response.sendRedirect("./ope_raportit.jsp?kurssit="+valittu_k+"");
}
else {
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_aloitus.code" %>
</div>
</body>
</html>
<%
}
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 12.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
* date / action / author
* - what has been done
* ------/---------------------------/--------------
*
* 12.3. / Page divided to two parts / Minna
Lesonen
* - ope_aloitus.jsp kokoaan sivun
* - ope_aloitus.code sisältää asiaosuuden
sivusta
*
****************************************************************************************************/
%>
<%
String valinta;
String valittu_kurssi = request.getParameter("kurssit");
%>
<h1>Kurssikirjanpito</h1>
<h3>Kurssin valinta:</h3><br
/>
<form
action="./ope_aloitus.jsp" method="get">
Koodi
| nimi | aloitusaika <br />
<%@
include file="esiintymat.code" %>
<br
/>
<input
name="toiminto" value="Pisteytys" type="submit"
/>
<input
name="toiminto" value="Demopisteytys"
type="submit" />
<input
name="toiminto" value="Pikkupäivitys"
type="submit" />
<input name="toiminto"
value="Osallistujat" type="submit" />
<br
/><br />
</form>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autonumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_demopisteet
* LANGUAGE: jsp
* DATE: 27.4.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
String
valittu_kurssi = request.getParameter("kurssit");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_demopisteet.jsp?kurssit="+valittu_kurssi+"");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myResult2; // SQL query
result
ResultSet myResult3; // SQL query
result
ResultSet myResult4; // SQL query
result
ResultSet myResult5; // SQL query
result
ResultSet myTempResult;
ResultSet myTempResult2;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<div
class="leftbar">
<%@ include
file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_demopisteet.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_demopisteet.code
* LANGUAGE: jsp
* DATE: 6.4.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* TOIMINTA
****************************************************************************************************
*
*
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
%>
<%
String valinta =
request.getParameter("kurssit");
int i=1;
// int access_level =
usemodule.courseRight(personID, Integer.parseInt(valittu_kurssi));
int access_level = 3;
String eg_id = "",
eg_nimi="";
String oppilas_id = "";
String fiildi ="";
String fiildit[] = new String[10000];
int fid = 0, fgid = 0;
int
summa = 0, ali = 0, al = -1;
String
rek="", val="";
String
nimi="nimi_", tulos="tulos_", paivays="pvm_",
id="id_";
String
tallenna = request.getParameter("tallenna");
int a=0;
if(tallenna
!= null && tallenna.equals("tallenna")) {
// TALLENNETAAN TIEDOT
String t_nimi="", t_tulos="", t_pvm="",
t_id="", t_fid="";
String vertaus = "", vertaus_tulos="";
int
muuttuja = 0, apu = 0, m2=-1;
String onnistuu ="TULOS: ";
int kerrat
= Integer.parseInt(request.getParameter("kpl"));
for(int k=0; k<=kerrat; k++) {
muuttuja
= 0;
do
{
t_tulos = request.getParameter(tulos + k + "_" + muuttuja);
// PÄIVÄYKSEKSI MENEE MUUTOS/LISÄYSPÄIVÄ
t_id =
request.getParameter(id + k + "_" + muuttuja);
t_fid = request.getParameter("fid_"
+ k + "_" + muuttuja);
if(t_id != null && t_fid != null
&& t_tulos != null) {
if(t_tulos.equals("")) { t_tulos = "0"; }
myResult5 =
db.executeQuery("SELECT value FROM result WHERE personid =
"+t_id+" AND fieldid = "+t_fid+";");
//
TALLENNETAAN MUUTETUT ARVOT
if(myResult5.next()) {
vertaus =
myResult5.getString("value");
if(vertaus != null &&
!vertaus.equals("") && (vertaus.compareTo(t_tulos) != 0)) {
apu = db.executeUpdate("UPDATE result SET
value="+t_tulos+", registered = 'now', person2id =
"+personID+" WHERE personid = "+t_id+" AND
fieldid="+t_fid+";");
onnistuu = onnistuu + apu;
}
}
// TALLENNETAAN UUDET ARVOT, TÄNNE EI PITÄISI KOSKAAN TULLA!!!!
else { %>else <%
apu = db.executeUpdate("INSERT INTO result VALUES(FALSE,
"+t_id+", "+personID+", "+t_fid+", 'now',
"+t_tulos+");");
onnistuu = onnistuu + apu;
}
}
muuttuja++;
}while(t_tulos != null && !t_tulos.equals("")
&& !t_tulos.equals("null"));
}
if(onnistuu.indexOf("0") >= 0) { %> <font
class="pun">Kaikkien tulosten vienti ei onnistunut! <%=
onnistuu %></font><br /> <%}
else
{ %> Tulosten vienti onnistui!<br
/> <%}
}
%>
<form
method="get" action="./ope_demopisteet.jsp">
<H3>Valitse kurssi:</H3>
<%@
include file="esiintymat.code" %>
<input type="submit"
value="Hae kurssin tiedot"/>
<br />
<input type="submit"
value="tallenna" name="tallenna" />
<%
// OPETTAJALLE PITÄÄ HAKEA KAIKKIEN
DEMOPISTEET PÄIVITETTÄVIKSI,
// DEMONPITÄJILLE MYÖS
if(valittu_kurssi != null &&
!valittu_kurssi.equals("")) {
//
HAETAAN KAIKKI KURSSIESIINTYMÄN eventgroupid:t
myResult =
db.executeQuery("SELECT DISTINCT eventgroupid, name FROM eventgroup WHERE
courseinstanceid = "+valittu_kurssi+" AND grouptypeid = 1 AND deleted
= FALSE;");
//
OPETTAJAN OIKEUKSILLA
%><h4>Hardkoodattu open oikeuksille!</h4><%
if(access_level
== 3) {
//
KÄYDÄÄN LÄPI KAIKKI eventgroupissa OLEVAT DEMORYHMÄT
while(myResult.next())
{
eg_id = myResult.getString("eventgroupid");
eg_nimi =
myResult.getString("name");
//
HAETAAN eventgrouppiin KUULUVIEN eventtien MÄÄRÄ
myTempResult2
= db.executeQuery("SELECT DISTINCT count(eventid) AS summa FROM event
WHERE eventgroupid = "+eg_id+" AND deleted =FALSE;");
myTempResult2.next();
summa =
myTempResult2.getInt("summa");
%><h5><%= eg_nimi
%></h5><table>
<tr><th>sukunimi</th><th>kutsumanimi</th><th>syntymäaika</th><%
for(int p=0; p<summa; p++) {
%><th><%= p+1 %> päiväys</th><th>tulos</th><th></th>
<% }
%></tr><%
// HAETAAN KAIKKIEN RYHMÄÄN OSALLISTUNEIDEN PERSONID:T
myTempResult
= db.executeQuery("SELECT DISTINCT gp.personid, p.lastname FROM
groupparticipant AS gp, person AS p WHERE gp.eventgroupid = "+eg_id+"
AND gp.deleted = FALSE AND p.personid = gp.personid AND p.deleted= FALSE ORDER
BY p.lastname;");
//
KÄYDÄÄN LÄPI KAIKKI RYHMÄÄN OSALLISTUNEET
while(myTempResult.next())
{
oppilas_id =
myTempResult.getString("personid");
//
AL PÄIVITTYY OPISKELIJAA VAIHTAESSA
al++;
//
HAETAAN OPISKELIJAN TIEDOT
myResult3
= db.executeQuery("SELECT DISTINCT * FROM person AS p WHERE p.personid =
"+oppilas_id+" AND p.deleted = FALSE;");
if(myResult3.next()) {
%><tr><td class="reunat"><%= myResult3.getString("lastname")
%></td>
<td
class="reunat"><%= myResult3.getString("callname")
%></td>
<td
class="reunat"><%= myResult3.getString("socsecbirth")
%></td><%
// NOLLATAAN LASKURI, JOKA KULKEE FIELDIN
MUKAAN
ali = 0;
//for(int d=0; d<summa; d++) {
// FIELDTYPE 5 ON VARATTU DEMOPISTEILLE!!
// HAETAAN FIELDID:T JA TULOKSET
myResult4 = db.executeQuery("SELECT
DISTINCT r.fieldid, fg.fieldgroupid, r.value, date(r.registered) AS registered
"+
"FROM
fieldgroup AS fg, field, result AS r WHERE field.fieldtypeid = 5 AND
field.fieldgroupid = fg.fieldgroupid AND fg.courseinstanceid =
"+valittu_kurssi+" AND fg.deleted = FALSE AND field.deleted =FALSE
AND r.deleted = FALSE AND r.fieldid = field.fieldid AND r.personid = "+oppilas_id+";");
// KÄYDÄÄN LÄPI KAIKKI KAIKKI KENTÄT
while(ali < summa) {
if(myResult4.next())
{
fiildi = myResult4.getString("fieldid");
fiildit[ali]
= myResult4.getString("fieldid");
fgid = Integer.parseInt(myResult4.getString("fieldgroupid"));
rek
= myResult4.getString("registered");
val
= myResult4.getString("value");
}
// JOS EI LÖYDY ENÄÄ FIELDID:TÄ, TEHDÄÄN
SELLAINEN
if(fiildi == null ||
fiildi.equals("")) {
if(al == 0 && ali == 0) {
fgid = autonumber.getNumber("FieldGroup");
db.executeUpdate("INSERT INTO fieldgroup VALUES(FALSE,
"+fgid+", "+valittu_kurssi+");");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 1,
"+fgid+", 1);");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 2,
"+fgid+", 2);");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 2,
"+fgid+", 3);");
db.executeUpdate("INSERT INTO fieldgrouplang VALUES(FALSE,
"+fgid+", 2, 'demopisteet');");
db.executeUpdate("INSERT INTO fieldgrouplang VALUES(FALSE,
"+fgid+", 1, 'dem. points');");
for(int kello=0;
kello<summa; kello++) {
fiildit[kello] =
Integer.toString(autonumber.getNumber("Field"));
db.executeUpdate("INSERT INTO field VALUES(FALSE,
"+fiildit[kello]+", 5, "+fgid+", '0', 1);");
db.executeUpdate("INSERT INTO result VALUES(FALSE,
"+oppilas_id+", "+personID+", "+fiildit[kello]+",
'now', 0);");
}
}
fiildi = fiildit[ali];
}
%><td class="reunat"><%= rek %></td>
<td class="reunat"><input type="text"
value="<%= val %>" name="<%= tulos + al +"_"+
ali %>" size = "5" /></td>
<td class="reunat"><input type="hidden" value="<%=
oppilas_id %>" name = "<%= id+ al +"_"+ ali
%>" />
<input type="hidden" value="<%= fiildi %>"
name = "<%= "fid_"+al+"_"+ali %>"
/></td><%
ali++;
fiildi ="";
} // while
%></tr><%
}
}
}
%></table><%
}
//
TUNTIOPETTAJAN OIKEUKSILLA
else
if(access_level == 2) {
//
KÄYDÄÄN LÄPI KAIKKI eventgroupissa OLEVAT DEMORYHMÄT
while(myResult.next())
{
eg_id =
myResult.getString("eventgroupid");
eg_nimi =
myResult.getString("name");
// HAETAAN eventgrouppiin KUULUVIEN eventtien
MÄÄRÄ
myTempResult2
= db.executeQuery("SELECT DISTINCT count(eventid) AS summa FROM event
WHERE eventgroupid = "+eg_id+" AND deleted =FALSE;");
myTempResult2.next();
summa = myTempResult2.getInt("summa");
%><h5><%= eg_nimi
%></h5><table>
<tr><th>sukunimi</th><th>kutsumanimi</th><th>syntymäaika</th><%
for(int p=0; p<summa; p++) {
%><th><%= p+1 %>
päiväys</th><th>tulos</th><th></th> <% }
%></tr><%
// HAETAAN KAIKKIEN RYHMÄÄN OSALLISTUNEIDEN PERSONID:T
myTempResult
= db.executeQuery("SELECT DISTINCT gp.personid, p.lastname FROM
groupparticipant AS gp, person AS p WHERE gp.eventgroupid = "+eg_id+"
AND gp.deleted = FALSE AND p.personid = gp.personid AND p.deleted= FALSE ORDER
BY p.lastname;");
//
KÄYDÄÄN LÄPI KAIKKI RYHMÄÄN OSALLISTUNEET
while(myTempResult.next())
{
oppilas_id =
myTempResult.getString("personid");
//
AL PÄIVITTYY OPISKELIJAA VAIHTAESSA
al++;
//
HAETAAN OPISKELIJAN TIEDOT
myResult3
= db.executeQuery("SELECT DISTINCT * FROM person AS p WHERE p.personid =
"+oppilas_id+" AND p.deleted = FALSE;");
if(myResult3.next()) {
%><tr><td class="reunat"><%=
myResult3.getString("lastname") %></td>
<td
class="reunat"><%= myResult3.getString("callname")
%></td>
<td
class="reunat"><%= myResult3.getString("socsecbirth")
%></td><%
// NOLLATAAN LASKURI, JOKA KULKEE FIELDIN
MUKAAN
ali = 0;
//for(int d=0; d<summa; d++) {
// FIELDTYPE 5 ON VARATTU DEMOPISTEILLE!!
// HAETAAN FIELDID:T JA TULOKSET
myResult4 = db.executeQuery("SELECT
DISTINCT r.fieldid, fg.fieldgroupid, r.value, date(r.registered) AS registered
"+
"FROM
fieldgroup AS fg, field, result AS r WHERE field.fieldtypeid = 5 AND
field.fieldgroupid = fg.fieldgroupid AND fg.courseinstanceid =
"+valittu_kurssi+" AND fg.deleted = FALSE AND field.deleted =FALSE
AND r.deleted = FALSE AND r.fieldid = field.fieldid AND r.personid =
"+oppilas_id+";");
// KÄYDÄÄN LÄPI KAIKKI KAIKKI KENTÄT
while(ali < summa) {
if(myResult4.next())
{
fiildi = myResult4.getString("fieldid");
fiildit[ali]
= myResult4.getString("fieldid");
fgid = Integer.parseInt(myResult4.getString("fieldgroupid"));
rek
= myResult4.getString("registered");
val
= myResult4.getString("value");
}
// JOS EI LÖYDY ENÄÄ FIELDID:TÄ, TEHDÄÄN
SELLAINEN
if(fiildi == null ||
fiildi.equals("")) {
if(al == 0 && ali == 0) {
fgid = autonumber.getNumber("FieldGroup");
db.executeUpdate("INSERT INTO fieldgroup VALUES(FALSE,
"+fgid+", "+valittu_kurssi+");");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 1,
"+fgid+", 1);");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 2,
"+fgid+", 2);");
db.executeUpdate("INSERT INTO fieldgroupprotection VALUES(FALSE, 2,
"+fgid+", 3);");
db.executeUpdate("INSERT INTO fieldgrouplang VALUES(FALSE,
"+fgid+", 2, 'demopisteet');");
db.executeUpdate("INSERT INTO fieldgrouplang VALUES(FALSE,
"+fgid+", 1, 'dem. points');");
for(int kello=0;
kello<summa; kello++) {
fiildit[kello] =
Integer.toString(autonumber.getNumber("Field"));
db.executeUpdate("INSERT INTO field VALUES(FALSE, "+fiildit[kello]+",
5, "+fgid+", '0', 1);");
db.executeUpdate("INSERT INTO result VALUES(FALSE,
"+oppilas_id+", "+personID+", "+fiildit[kello]+",
'now', 0);");
}
}
fiildi = fiildit[ali];
}
%><td class="reunat"><%= rek %></td>
<td class="reunat"><input type="text"
value="<%= val %>" name="<%= tulos + al +"_"+
ali %>" size ="5" /></td>
<td class="reunat"><input type="hidden"
value="<%= oppilas_id %>" name = "<%= id+ al
+"_"+ ali %>" />
<input type="hidden" value="<%= fiildi %>"
name = "<%= "fid_"+al+"_"+ali %>"
/></td><%
ali++;
fiildi ="";
} // while
%></tr><%
}
}
}
%></table><%
}
// MUUTEN
else {
response.sendRedirect("./OpisKurssit.jsp");
}
%><input type="submit"
value="tallenna" name="tallenna" />
<input type="hidden"
value="<%= al %>" name="kpl" /><%
}
else { %>
<h2> Valitse kurssi! </h2> <%
}
%>
</form>
<%@
page language="Java" import="kotkabeans.*, java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_kurssilaiset
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_kurssilaiset.jsp");
}
else {
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
String valittu_kurssi =
request.getParameter("kurssit");
String valinta;
String valittu_k =
request.getParameter("kurssit");
String demot =
request.getParameter("demot");
String paivitys =
request.getParameter("paivitys");
//
SIIRRYTÄÄN LISÄYS-SIVUSTOON, JOS KÄYTTÄJÄ ON PAINANUT LISÄYS- TAI
MUOKKAUS-PANIKETTA
if(demot
!= null && demot.equals("Demopisteiden anto")) {
if(valittu_k == null) {
response.sendRedirect("ope_demopisteet.jsp"); }
else
{
response.sendRedirect("ope_demopisteet.jsp?kurssit="+valittu_k+"");
}
}
else
if(paivitys != null && paivitys.equals("Opiskelijoiden tietojen
muokkaus")) {
if(valittu_k
== null) {
response.sendRedirect("ope_paivitys.jsp"); }
else
{
response.sendRedirect("ope_paivitys.jsp?kurssit="+valittu_k+"");
}
}
else {
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KURki</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<!--
Muutettu -->
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_kurssilaiset.code" %>
</div>
</body>
</html>
<%
}
}
%>
<?xml version="1.0"
encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KURki</title>
</head>
<body>
<h1>Kurssilaisiin liittyvien tietojen
muokkaus</h1>
<form
action="./ope_kurssilaiset.jsp" method="get">
<div class="vasen">
<%@ include
file="esiintymat.code" %>
</div>
<div>
<p>
<input type="submit"
name="demot" value="Demopisteiden anto" /><br />
<input
type="submit" name="paivitys" value="Opiskelijoiden
tietojen muokkaus" /><br />
<input type="submit" name="pitajat"
value="Lisää henkilö kurssille" /><br />
<input type="submit" name="kurssilaiset"
value="Hae kurssille ilmoittautuneet" /><br />
</p>
</div>
</form>
<%
if(valittu_kurssi != null) {
%><p>
<h3>Raportit:</h3>
<a
href="./raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=demot">Demopisteet</a><br>
<a href="./raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=tentit">Tenttipisteet</a><br
/>
<a
href="./raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=muu">Keksimätön
raportti</a>
</p>
<%
myResult = db.executeQuery("SELECT
callname, lastname FROM person "+
"WHERE personid in(SELECT personid
FROM courseparticipant "+
"WHERE courseinstanceid =
"+valittu_kurssi+" AND usergroupid = 1) "+
"ORDER BY lastname;");
%><h3>Kurssilaiset:</h3>
<table><%
while(myResult.next()) {
%><tr><td><%=
myResult.getString("lastname") %></td><td><%=
myResult.getString("callname") %></td></tr><%
}
%></table><%
myResult = db.executeQuery("SELECT
callname, lastname FROM person "+
"WHERE personid in(SELECT personid
FROM courseparticipant "+
"WHERE courseinstanceid =
"+valittu_kurssi+" AND usergroupid = 2) "+
"ORDER BY lastname;");
%><h3>Ohjaajat
ja tuntiopettajat:</h3>
<table><%
while(myResult.next()) {
%><tr><td><%=
myResult.getString("lastname") %></td><td><%=
myResult.getString("callname") %></td></tr><%
}
%></table><%
myResult = db.executeQuery("SELECT
callname, lastname FROM person "+
"WHERE personid in(SELECT personid
FROM courseparticipant "+
"WHERE courseinstanceid =
"+valittu_kurssi+" AND usergroupid = 3) "+
"ORDER BY lastname;");
%><h3>Luennoijat:</h3>
<table><%
while(myResult.next()) {
%><tr><td><%=
myResult.getString("lastname") %></td><td><%=
myResult.getString("callname") %></td></tr><%
}
%></table><%
}
%>
</body>
</html>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
* date / action / author
* - what has been done
* ------/---------------------------/--------------
*
* 19.3.
/ Added kurssit.code / Minna
Lesonen
* - kurssien valintataulukko tulee
esiintymat.code:lla
*
* 10.4. / Added courseinstance add / Minna Lesonen
* - kurssiesiintymän lisäämiseen päästään
napin painamisella ja sendRedirectillä
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_kurssit.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
ResultSet myTempResult2;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
String valittu_k =
request.getParameter("kurssit");
String lisays =
request.getParameter("lisaa");
String muokkaus =
request.getParameter("muokkaa");
String lisatiedot =
request.getParameter("lisa_tiedot");
String demot = request.getParameter("demot");
String paivitys =
request.getParameter("paivitys");
//
SIIRRYTÄÄN LISÄYS-SIVUSTOON, JOS KÄYTTÄJÄ ON PAINANUT LISÄYS- TAI
MUOKKAUS-PANIKETTA
if(
(lisays != null && lisays.equals("lisaa")) || (muokkaus !=
null && muokkaus.equals("muokkaa"))) {
if(valittu_k == null) {
response.sendRedirect("ope_lisaa_kurssi.jsp?muokkaa="+muokkaus+"");
}
else {
response.sendRedirect("ope_lisaa_kurssi.jsp?kurssit="+valittu_k+"&muokkaa="+muokkaus+"");
}
}
else if(lisatiedot != null &&
lisatiedot.equals("lisatiedot")) {
if(valittu_k == null) {
response.sendRedirect("ope_lisatiedot.jsp"); }
else
{
response.sendRedirect("ope_lisatiedot.jsp?kurssit="+valittu_k+"");
}
}
else if(demot != null &&
demot.equals("Demopisteiden anto")) {
if(valittu_k == null) {
response.sendRedirect("ope_demopisteet.jsp"); }
else
{
response.sendRedirect("ope_demopisteet.jsp?kurssit="+valittu_k+"");
}
}
else
if(paivitys != null && paivitys.equals("Opiskelijoiden tietojen
muokkaus")) {
if(valittu_k
== null) {
response.sendRedirect("ope_paivitys.jsp"); }
else
{
response.sendRedirect("ope_paivitys.jsp?kurssit="+valittu_k+"");
}
}
else {
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<div
class="leftbar">
<%@ include
file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include file="ope_kurssit.code"
%>
</div>
</body>
</html>
<%
}
%>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_kurssit.code
* LANGUAGE: jsp
* DATE: 6.4.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* TOIMINTA
*
* MAIL-PAVUN TOIMIMATTOMUUDEN VUOKSI KAIKKI
MAILIN LÄHETTÄMISTÄ VAATIVAT
* TOIMINNOT EIVÄT TOIMI!!
* Esim. Kurssin pysyvä poistaminen pitäisi
hoitia kys. painiketta painamalla,
* joka lähettää ylläpitäjälle pyynnön kurssin
poistamisesta.
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
* 6.4.01
Lisätty demo- ja ohjausaikojen haku dynaamisesti ja
* kurssille ilmoittautuneiden määrän laskuri.
* Demo- ja ohjausajat incluudataan
* (hae_demot_listana.code ja
hae_ohjaukset_listana.code)
* 24.4.01 Muutettu kurssin tapahtumat
dynaamiseksi hauksi.
* (hae_ryhmat_listana.code)
*
*
****************************************************************************************************/
%>
<%
String valittu_kurssi = request.getParameter("kurssit");
String valittu_tapahtuma =
request.getParameter("poista");
String valittu_aktivoi =
request.getParameter("aktivoi");
String maara;
String valinta;
String
aloitus = "", lopetus = "", uri = "", tila =
"";
String
ryhmaid = "";
String poisto_id ="";
%>
<h1>Kurssien muokkaus</h1>
<%
/***********************************************************************************************
First we
check if user wants to remove selected courseinstance from students.
If user
wants remove a courseinstance, he must have selected the courseinstace.
If he
hasn't, we show an error message.
After
action we show results to user.
***********************************************************************************************/
if(valittu_tapahtuma != null &&
valittu_tapahtuma.equals("poista")) {
if(valittu_kurssi != null) {
int
poistettu = db.executeUpdate("UPDATE courseinstance SET deleted = TRUE
WHERE courseinstanceid="+valittu_kurssi+";");
int poistettu_eg =
db.executeUpdate("UPDATE eventgroup SET deleted = TRUE WHERE
courseinstanceid = "+valittu_kurssi+";");
myResult = db.executeQuery("SELECT
eventgroupid FROM eventgroup WHERE courseinstanceid
="+valittu_kurssi+" AND deleted = TRUE;");
if(myResult.next()) {
poisto_id = myResult.getString("eventgroupid");
int poistettu3 = db.executeUpdate("UPDATE event SET deleted=TRUE
WHERE eventgroupid = "+poisto_id+";");
}
int poistettu_fg =
db.executeUpdate("UPDATE fieldgroup SET deleted = TRUE WHERE
courseinstanceid = "+valittu_kurssi+";");
myResult = db.executeQuery("SELECT
fieldgroupid FROM fieldgroup WHERE courseinstanceid
="+valittu_kurssi+" AND deleted = TRUE;");
if(myResult.next()) {
poisto_id = myResult.getString("fieldgroupid");
int poistettu3 = db.executeUpdate("UPDATE field SET deleted=TRUE
WHERE fieldgroupid = "+poisto_id+";");
}
if(poistettu
> 0 ) { %>
<font class="pun">Kurssi
poistettu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssia ei
poistettu!</font><br /> <%
}
if(poistettu_eg
> 0 ) { %>
<font class="pun">Kurssin
tapahtumat poistettu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssin
tapahtumia ei poistettu (tai niitä ei ollut)!</font><br /> <%
}
if(poistettu_fg
> 0 ) { %>
<font class="pun">Kurssin
lisatapahtumat poistettu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssin
lisatapahtumia ei poistettu (tai niitä ei ollut)!</font><br />
<%
}
}
else
{ %>
<font
class="pun">Et valinnut kurssia!</font> <%
}
}
/***********************************************************************************************
If user
wants to re-activate the selected courseinstance and make it visible to
students,
we update
the deleted field of selected courseinstance and it's evenrtgroups,
events,
fieldgroups and fields.
If user
wants remove a courseinstance, he must have selected the courseinstace.
If he
hasn't, we show an error message.
After
action we show results to user.
***********************************************************************************************/
if(valittu_aktivoi != null &&
valittu_aktivoi.equals("aktivoi")) {
if(valittu_kurssi != null) {
int
palautettu = db.executeUpdate("UPDATE courseinstance SET deleted = FALSE
WHERE courseinstanceid="+valittu_kurssi+";");
int palautettu_eg =
db.executeUpdate("UPDATE eventgroup SET deleted = FALSE WHERE
courseinstanceid = "+valittu_kurssi+";");
myResult = db.executeQuery("SELECT
eventgroupid FROM eventgroup WHERE courseinstanceid
="+valittu_kurssi+" AND deleted = FALSE;");
if(myResult.next()) {
poisto_id = myResult.getString("eventgroupid");
int palautettu3 = db.executeUpdate("UPDATE event SET deleted=FALSE
WHERE eventgroupid = "+poisto_id+";");
}
int palautettu_fg =
db.executeUpdate("UPDATE fieldgroup SET deleted = FALSE WHERE
courseinstanceid = "+valittu_kurssi+";");
myResult = db.executeQuery("SELECT
fieldgroupid FROM fieldgroup WHERE courseinstanceid
="+valittu_kurssi+" AND deleted = FALSE;");
if(myResult.next()) {
poisto_id = myResult.getString("fieldgroupid");
int poistettu3 = db.executeUpdate("UPDATE field SET deleted=FALSE
WHERE fieldgroupid = "+poisto_id+";");
db.executeUpdate("UPDATE fieldgrouplang SET deleted=FALSE WHERE
fieldgroupid = "+poisto_id+";");
db.executeUpdate("UPDATE fieldtranslation SET deleted=FALSE "+
"WHERE fieldid IN(SELECT fieldid FROM
field WHERE fieldgroupid = "+poisto_id+");");
}
if(palautettu
> 0 ) { %>
<font class="pun">Kurssi
aktivoitu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssia ei
aktivoitu!</font><br /> <%
}
if(palautettu_eg
> 0 ) { %>
<font class="pun">Kurssin
tapahtumat aktivoitu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssin
tapahtumia ei aktivoitu (tai niitä ei ollut)!</font><br /> <%
}
if(palautettu_fg
> 0 ) { %>
<font class="pun">Kurssin
lisatapahtumat aktivoitu!</font><br /> <%
}
else
{ %>
<font class="pun">Kurssin
lisatapahtumia ei aktivoitu (tai niitä ei ollut)!</font><br />
<%
}
}
else
{ %>
<font
class="pun">Et valinnut kurssia!</font> <%
}
}
/***********************************************************************************************
If user
wants add a new courseinstance, but he hasn't it in the list, he has to use
this link.
***********************************************************************************************/
%>
<b><a
href="addCourseInstance.jsp">Lisää uuden kurssin
instanssi.</a></b>
<div class="keskelle">
<form
method="get" action="./ope_kurssit.jsp">
<div class="vasen">
<h3>Valitse kurssi:</h3>
<%
/***********************************************************************************************
Esiintymat.code
includes a list, witch includes all users courseinstaces.
To use
this file you have to presented two stringd valittu_kurssi and valinta.
In
valittu_kurssi in the id of selected courseinstace and avlinta can be empty.
***********************************************************************************************/
%>
<%@
include file="esiintymat.code" %>
</div>
<!--div
class="tyhja_oikea"-->
<br /><br />
<input type="submit"
value="Hae kurssin tiedot"/><br />
<a
href="ope_lisaa_kurssi.jsp?kurssit=<%=valittu_kurssi%>&lisaa=lisaa">Lisaa</a><br
/>
<a
href="ope_lisaa_kurssi.jsp?kurssit=<%=valittu_kurssi%>&muokkaa=muokkaa">Muokkaa</a><br
/>
<a
href="ope_kurssit.jsp?kurssit=<%=valittu_kurssi%>&poista=poista">Poista</a><br
/>
<a
href="ope_lisatiedot.jsp?kurssit=<%=valittu_kurssi%>">Lisatiedot</a><br
/>
<a
href="ope_kurssit.jsp?kurssit=<%=valittu_kurssi%>&aktivoi=aktivoi">Aktivoi</a><br
/>
<a
href="ope_kurssit.jsp?kurssit=<%=valittu_kurssi%>&pysyva=poista">Poista
pysyvästi (ei toimi)</a><br />
<a
href="ope_kurssit.jsp?kurssit=<%=valittu_kurssi%>&lista=luo">Postituslistan
luonti (ei toimi)</a><br />
<a href="ope_demopisteet.jsp?kurssit=<%=valittu_kurssi%>&demot=anto">Demopisteiden
anto</a><br />
<a
href="ope_paivitys.jsp?kurssit=<%=valittu_kurssi%>&paivita=paivita">Opiskelijoiden
pisteiden
muokkaus</a><br />
<!--
<br />
<input type="submit"
value="lisaa" name="lisaa"/>
<input type="submit"
value="muokkaa" name="muokkaa"/>
<input type="submit"
value="poista" name="poista"/>
<br />
<input type="submit"
value="lisatiedot" name="lisa_tiedot" />
<input type="submit"
value="aktivoi" name="aktivoi"/>
<br
/>
<input
type="submit" value="raportit" />
<input type="submit"
value="poista pysyvasti" name="pysyva" />
<br /><br />
<input type="submit"
value="Postituslistan luonti" />
<br />
<input type="submit"
value="Demopisteiden anto" name="demot"/>
<br />
<input type="submit"
value="Opiskelijoiden tietojen muokkaus"
name="paivitys"/>
<br /><br />
<input type="submit"
value="Hae kurssin tiedot"/>
<br
/><br /><br />
-->
<!--/div-->
</form>
</div>
<%
/********************************************************************************************************************
Now we
fetch from database infromation about courseinstance
and show
it to user.
We include
file hae_ryhmat_listana.code, witch needs courseinstace and grouptypeid.
You have
have two strings valittu_kurssi and ryhmaid to use this file.
In ryhmaid
has to be the id of wanted grouptype and in valittu_kurssi courseinstanceid.
********************************************************************************************************************/
if(valittu_kurssi == null || valittu_kurssi == "" ) {
maara =
"0";
}
else {
myResult = db.executeQuery("SELECT
count(courseinstanceid) AS maara FROM courseparticipant WHERE courseinstanceid
= "+valittu_kurssi+"; ");
//
next palauttaa false, jos kyselyn tuloksena ei tullut mitään
//
samalla se siirtää osoittimen kyselyn seuraavalle riville
if(myResult.next())
{ maara = myResult.getString("maara"); }
else { maara = "0"; }
}
if(valittu_kurssi != null && !valittu_kurssi.equals(""))
{
myResult =
db.executeQuery("SELECT date(startdate) AS startdate, date(enddate) AS
enddate, uri, deleted FROM courseinstance WHERE courseinstanceid =
"+valittu_kurssi+";");
if(myResult.next()) {
aloitus = myResult.getString("startdate");
lopetus =
myResult.getString("enddate");
uri = myResult.getString("uri");
tila =
myResult.getString("deleted");
}
}
%>
<div
class="vasen">
<%
if(valittu_kurssi != null) {
%>
<h1>Valitun kurssin tiedot</h1>
osallistujamäärä: <b><%= maara %></b> ilmoittautunutta
<br />
aloitus: <b><%= aloitus %></b><br />
lopetus:<b><%= lopetus %></b><br />
url:
<b><%= uri %></b><br />
tila:
<b><%if(tila.equals("false")) {%>aktiivinen<%}
if(tila.equals("true")) {%>poistettu opiskelijoilta<%}%>
</b><br /><br />
<%
myTempResult2 =
db.executeQuery("SELECT DISTINCT grouptypeid FROM eventgroup WHERE
courseinstanceid = "+valittu_kurssi+" AND deleted = FALSE;");
while(myTempResult2.next()) {
ryhmaid =
myTempResult2.getString("grouptypeid");
%> <%@ include
file="hae_ryhmat_listana.code" %> <%
}
}
%>
</div>
<div
class="vasen">
<%
/*****************************************************************************************************
Now we
fetch additional information about courseinstace.
If user
has defined checkboxes we count selected ones, other way we just show what user
has defined.
*****************************************************************************************************/
%>
<%
String field_nimi = "", field_maara
="", fieldg_id="", fiildi="";
if(valittu_kurssi
!= null && !valittu_kurssi.equals("")) {
%><h1> </h1>
<h4>Lisätiedot:</h4>
<b>1. Valintaruudut</b>
<table>
<tr><th>nimi</th><th>valittujen
määrä</th></tr><%
myResult = db.executeQuery("SELECT
DISTINCT fg.name, f.fieldgroupid, f.deleted FROM fieldgroup AS f,
fieldgrouplang AS fg "+
"WHERE courseinstanceid =
"+valittu_kurssi+" AND f.fieldgroupid = fg.fieldgroupid "+
"AND field.fieldgroupid =
f.fieldgroupid AND field.fieldtypeid = 2 AND f.deleted = FALSE "+
"AND fg.deleted = FALSE;");
while(myResult.next()) {
%><tr><td><%=
myResult.getString("name") %>: </td></tr><%
fieldg_id =
myResult.getString("fieldgroupid");
myTempResult = db.executeQuery("SELECT
DISTINCT ft.name, f.fieldid FROM field AS f, fieldtranslation AS ft "+
"WHERE f.fieldgroupid =
"+fieldg_id+" AND f.fieldtypeid = 2 AND f.fieldid = ft.fieldid
"+
"AND f.deleted = FALSE AND ft.deleted
= FALSE;");
while(myTempResult.next()) {
fiildi =
myTempResult.getString("fieldid");
myTempResult2 =
db.executeQuery("SELECT DISTINCT count(r.fieldid) AS maara FROM result AS
r "+
"WHERE r.fieldid =
"+fiildi+" AND r.deleted = FALSE;");
while(myTempResult2.next()) {
%><tr><td><%= myTempResult.getString("name")
%></td><td><%= myTempResult2.getString("maara")
%> kpl </td></tr><%
}
}
}
}
%>
</table>
<%
if(valittu_kurssi != null &&
!valittu_kurssi.equals("")) {
%><b>2. Lisäksi olet määritellyt seuraavat lisätiedot:
</b><br /><%
myResult =
db.executeQuery("SELECT DISTINCT fg.name, f.fieldgroupid, f.deleted FROM
fieldgroup AS f, fieldgrouplang AS fg "+
"WHERE
courseinstanceid = "+valittu_kurssi+" AND f.fieldgroupid =
fg.fieldgroupid AND field.fieldgroupid = f.fieldgroupid "+
"AND
field.fieldtypeid <> 2 AND field.fieldtypeid < 5 AND f.deleted = FALSE
AND fg.deleted = FALSE;");
while(myResult.next()) {
%><%=
myResult.getString("name") %>: <%
fieldg_id =
myResult.getString("fieldgroupid");
myTempResult =
db.executeQuery("SELECT DISTINCT ft.name, f.fieldid FROM field AS f,
fieldtranslation AS ft "+
"WHERE f.fieldgroupid =
"+fieldg_id+" AND f.fieldtypeid <> 2 AND f.deleted = FALSE AND
f.fieldid = ft.fieldid;");
%><ul><%
while(myTempResult.next()) {
%><li><%=
myTempResult.getString("name") %></li><%
}
%></ul><%
}
}
%>
</div>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,java.lang.*,
java.io.*,
javax.servlet.*" session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_lisaa_kurssi.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<!--
Muutettu -->
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include file="ope_lisaa_kurssi.code"
%>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_lisaa_kurssi
* LANGUAGE: jsp
* DATE: 10.4.01
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
* LEVEL PITÄÄ MUUTTAA UUDEN TIETOKANNAN
PÄIVITYKSESSÄ!!
* RIVIEN LISÄÄMINEN PITÄÄ TEHDÄ!!
*
****************************************************************************************************/
%>
<%
String valinta = "", valinta2 = "";
String org="", min="",
max="",aste="",oma_org="", url ="",
alku_paivays="", loppu_paivays="", apu="";
int
pos = -1;
String alku="", loppu="", alku_kello="",
loppu_kello="";
//
aste tulee muuttumaan uudessa tietokannassa!
int
kurssi_id = -1;
int riveja
= 16;
String koodi="";
String valittu_kurssi =
request.getParameter("kurssit");
String vikaa =
request.getParameter("vika");
String talletus =
request.getParameter("talletus");
String muokkaa = request.getParameter("muokkaa");
if(valittu_kurssi
!= null && !valittu_kurssi.equals("")) {
//
Haetaan tietokannasta tuodun kurssin tiedot,
//
jonka avulla voidaan täyttää alustavat tiedot uudelle kurssiesiintymälle.
myTempResult
= db.executeQuery("SELECT courseid FROM courseinstance WHERE
courseinstanceid = "+valittu_kurssi+";");
if(myTempResult.next()) {
valinta =
myTempResult.getString("courseid");
//
valinta muuttuu jossain ja jostain syystä, joten pitää käyttää toista muuttujaa
apuna
valinta2 =
valinta;
myResult = db.executeQuery("SELECT
* FROM course WHERE courseid = "+valinta+";");
if(myResult.next()) {
koodi
= myResult.getString("code");
org =
myResult.getString("organisationid");
min = myResult.getString("mincredits");
max =
myResult.getString("maxcredits");
aste =
myResult.getString("level");
}
}
myResult = db.executeQuery("SELECT
startdate, enddate, URI FROM courseinstance WHERE courseinstanceid = "+valittu_kurssi+";");
if(myResult.next()) {
alku_paivays =
myResult.getString("startdate");
loppu_paivays =
myResult.getString("enddate");
pos
= alku_paivays.indexOf(" ");
alku
= alku_paivays.substring(0, pos);
alku_kello
= alku_paivays.substring( pos);
pos
= loppu_paivays.indexOf(" ");
loppu
= loppu_paivays.substring(0, pos);
loppu_kello
= loppu_paivays.substring( pos);
url =
myResult.getString("uri");
}
}
%>
<h1>Kurssiesiintymän
lisääminen/muokkaaminen</h1>
<%
if(vikaa != null && vikaa.compareTo("ei_kaikkia") ==
0) {
%><h2>Kaikki kentät pitää
täyttää!</h2><%
}
if(vikaa != null && vikaa.compareTo("koodi") == 0) {
%><h2>Kurssin koodi jo käytössä!</h2><%
}
if(talletus != null &&
talletus.compareTo("ok") == 0) {
%><h2>Toiminto
suoritettu!</h2><%
}
if(talletus
!= null && talletus.compareTo("alku_puuttuu") == 0) {
%><h2>Kurssilta puuttui aloitusaika!!</h2><%
}
if(talletus != null &&
talletus.compareTo("kurssi_puuttuu") == 0) {
%><h2>Kurssiesiintymälle pitää valita toinenkurssi
pohjaksi!</h2><%
}
%>
<div
class="vasen">
<form
action="ope_lisaa_kurssi.jsp" method="get">
<%@
include file="esiintymat.code" %>
<input type="submit"
value="hae tiedot" name="lisaa"/>
</form>
<form
action="ope_lisaa_kurssi_2.jsp" method="get">
<input type="submit"
value="lisaa uusi esiintymä" name="uusi_kurssi" />
<input type="submit"
value="muokkaa" name="muokkaa" /><br />
<input type="hidden"
value="<%= valinta2 %>" name="ku" />
<br />
Koodi: <%= koodi %><br />
Opintoviikot: <%= min %>/<%= max
%><br />
Aste: <%= aste %><br />
Organisaatio: <%= org %><br />
aloitus pvm: <input name="alku" type="text"
value="<%= alku %>" />
kello: <input
name="alku_kello" value="<%= alku_kello %>"
/><br />
lopetus pvm: <input name="loppu" type="text"
value="<%= loppu %>" />
kello: <input
name="loppu_kello" value="<%= loppu_kello %>"
/><br />
www-sivu: <input name="www"
type="text" value="<%= url %>" size="50"
/><br />
<%
//
PITÄISI OLLA HAKUEHTOMA MYÖS DELETED=FALSE?
//
JOS ON EI NÄY POISTETTUJEN TIEDOT
//
POISTETTU-TIEDOLLA EI TEHDÄ MITÄÄN
myTempResult
= db.executeQuery("SELECT DISTINCT grouptypeid, numberofoccurences AS
occurences, eventgroupid, deleted FROM eventgroup WHERE courseinstanceid =
"+valittu_kurssi+" ORDER BY deleted;");
//
VOI KUN SAISI KYSELYN TULOKSESTA MYÖS RIVIEN MÄÄRÄN!!
int rivit
= 500;
String[] tyyppi_id = new String[rivit];
String[] kerrat = new String[rivit];
String[] maara = new String[rivit];
String[] poistettu = new String[rivit];
String groupid ="";
int i = 0;
while(myTempResult.next()
&& valittu_kurssi != null &&
!valittu_kurssi.equals("")) {
tyyppi_id[i]
= myTempResult.getString("grouptypeid");
poistettu[i] =
myTempResult.getString("deleted");
groupid = myTempResult.getString("eventgroupid");
//
Määrä haetaan eventgroup-taulusta
myResult =
db.executeQuery("SELECT DISTINCT count(eventgroupid) AS maara FROM
eventgroup WHERE grouptypeid = "+tyyppi_id[i]+" AND courseinstanceid
= "+valittu_kurssi+" AND deleted = FALSE;");
while(myResult.next()) {
maara[i] = myResult.getString("maara");
}
//
Todelliset toistokerrat haetaan event-taulusta
myResult =
db.executeQuery("SELECT DISTINCT count(eventid) AS maara FROM event WHERE
eventgroupid = "+groupid+" AND deleted = FALSE;");
while(myResult.next()) {
kerrat[i] = myResult.getString("maara");
}
if(i > 0 &&
tyyppi_id[i].equals(tyyppi_id[i-1])) {
if(Integer.parseInt(kerrat[i]) >
Integer.parseInt(kerrat[i-1])) {
kerrat[i-1] = kerrat[i];
}
maara[i] = "";
tyyppi_id[i] ="";
kerrat[i] = "";
i--;
}
i++;
}
%>
<%
// HAETAAN GROUPTYPE KANNASTA
// NIIDEN AVULLA LUODAAN TAULUKKO, JOHON
TÄYTETÄÄN KURSSIN TAPAHTUMAT
int
vaihtoehtoja = 0;
myResult =
db.executeQuery("SELECT count(grouptypeid) AS grouptypeid FROM
grouptypetranslation "+
"WHERE languageid =
"+languageID+" AND deleted = FALSE;");
if(myResult.next())
{ vaihtoehtoja = myResult.getInt("grouptypeid"); }
String[]
group_name = new String[vaihtoehtoja];
String[]
group_type = new String[vaihtoehtoja];
int mm=0;
myResult =
db.executeQuery("SELECT grouptypeid, name FROM grouptypetranslation
"+
"WHERE languageid =
"+languageID+" AND deleted = FALSE;");
while(myResult.next())
{
group_name[mm] =
myResult.getString("name");
group_type[mm] =
myResult.getString("grouptypeid");
mm++;
//
VARMISTETAAN VIELÄ, ETTEI MENE TAULUKOIDEN ULKOPUOLELLE
if(mm >= vaihtoehtoja) { break; }
}
//
TAPAHTUMIA OVAT MM: LUENNOT, DEMOT JA OHJAUKSET
%>
<table>
<tr><th>tapahtuma:</th><th>ryhmien
määrä:</th><th>kerrat:</th></tr>
<%
String ryhma = "", ryhma_kerrat = "", ryhma_maara =
"";
String nimi_maara = "", nimi_kerrat = "",
nimi_tyyppi = "";
int apu_i
= 0, oo;
for(int o=0; o<mm; o++) {
nimi_maara
= "ryhma_maara" + apu_i;
nimi_kerrat = "ryhma_kerrat" + apu_i;
nimi_tyyppi = "ryhma_tyyppi" + apu_i;
ryhma = "ryhma" + apu_i;
apu_i++;
//
KÄYDÄÄN LÄPI KANNASSA OLEVAT TIEDOT JA VERRATAAN LÖYTYYKÖ SIELTÄ NYT MENOSSA
OLEVAA TAPAHTUMATYYPPIÄ
//
FORIA SEURAAVA IF ON TOIMINNALTAAN FOR-LAUSEEN SISÄLLÄ OLEVAN IF:N ELSE
for(oo=0;
oo<i; oo++) {
if(tyyppi_id[oo] != null &&
tyyppi_id[oo].equals(group_type[o])) { %>
<tr><td><input
type="hidden" name="<%= ryhma %>" value= "<%=
tyyppi_id[oo] %>" /><%= group_name[o] %></td>
<td><input name="<%=
nimi_maara %>" <% if(maara[oo] != null &&
!maara[oo].equals("")) {%> value = "<%= maara[oo]
%>" <% } %> /></td>
<td><input
name="<%= nimi_kerrat %>" <% if(kerrat[oo] != null
&& !kerrat[oo].equals("")) {%> value = "<%=
kerrat[oo] %>" <% } %> /></td>
<% oo = i+10;
}
}
//
oo KASVAA VIELÄ KERRAN FOR-LAUSEELLA, JOLLOIN VERRATTAVAN PITÄÄ OLLA YHTÄ
SUUREMPI
if(oo !=
i+11) { %>
<tr><td><input
type="hidden" name="<%= ryhma %>" value= "<%=
group_type[o] %>" /><%= group_name[o] %></td>
<td><input name="<%=
nimi_maara %>" <% if(group_type[o].equals("4")) {%>
value = "1" <% } %> /></td>
<td><input name="<%=
nimi_kerrat %>" <% if(group_type[o].equals("3")) {%>
value = "1" <% } %> /></td>
<%
} %>
</tr>
<% } %>
</table>
<input type="submit"
value="lisaa uusi esiintymä" name="uusi_kurssi" />
<input type="submit"
value="muokkaa" name="muokkaa" /><br />
<% if(valittu_kurssi != null) { %>
<input name="kurssit"
type="hidden" value="<%= valittu_kurssi %>" />
<% }
%>
</form>
</div>
<div>
<h4>Lyhyt Ohje</h4>
<ul>
<li>Anna pvm muodossa:
vvvv-kk-pp</li>
<li>Anna kello muodossa:
hh:mm</li>
<li>Muista kirjoittaa linkin alkuun
protokolla (http://)</li>
<li>Tapahtuma valikosta valitaan oikea
tapahtuma</li>
<li>Määrä-sarakkeeseen tulee
samanlaisten ryhmien määrä (eli montako demoryhmää halutaan)</li>
<li>Kerrat-sarakkeeseen tulee kertojen
määrä</li>
<li>Tenttien lisääminen ja muokkaaminen
suositellaan tehtäväksi Tentit-osiossa. <br />
Tenteille voi laittaa ainoastaa yhden kerran!</li>
<li>Poistetut ovat listojen lopussa.
</li>
</ul>
</div>
<%@
page language="Java" import="kotkabeans.*, java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autonumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_lisatiedot
* LANGUAGE: jsp
* DATE: 4.5.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* ACTION
****************************************************************************************************
* Sivulta näkee kurssille määritellyt lisätapahtumat,
* joita voi myös muokata, lisätä ja
yksittäisiä lomakkeita poistaa.
* Koko systeemin "poisto" tapahtuu
kurssit sivulta.
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_lisatiedot.jsp");
}
else {
// person parameters (read from user bean)
int personID=user.getPersonID();
int homeOrganisationID=user.getOrganisationID(); // 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myResult2; // SQL query result
ResultSet myResult3; // SQL query
result
ResultSet myResult4; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<!--
Muutettu -->
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_lisatiedot.code" %>
</div>
</body>
</html>
<%
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_LISATIEDOT.code
* LANGUAGE: jsp
* DATE: 30.4.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* TOIMINTA
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
* TARKISTUS PITÄÄ KORJATA TOIMIMAAN OIKEIN!!
*
****************************************************************************************************/
%>
<%
String valinta ="";
//
TYYPPEJÄ ON ERI TYYPPIEN MÄÄRÄ FIELDTYPELANG-TAULUSSA
int
tyyppejä = 15;
String valittu_kurssi = request.getParameter("kurssit");
String[]
tyyppi_id = new String[tyyppejä];
String[] tyyppi_nimi = new String[tyyppejä];
int i = 0;
String s_lom_kpl =
request.getParameter("lom_kpl");
String hae =
request.getParameter("hae");
String tee = request.getParameter("tee");
int lom_kpl = 0;
if(s_lom_kpl != null &&
!s_lom_kpl.equals("")) { lom_kpl = Integer.parseInt(s_lom_kpl); }
//
HAKEE KAIKKI MAHDOLLISET TYYPIT, JOITA LOMAKKEEN KENTÄT VOIVAT OLLA
//
myResult = db.executeQuery("SELECT *
FROM fieldtypelang WHERE languageid = "+languageID+" AND deleted =
FALSE AND fieldtypeid < 5;");
while(myResult.next()){
tyyppi_id[i] =
myResult.getString("fieldtypeid");
tyyppi_nimi[i] =
myResult.getString("name");
i++;
}
String s_muutos = "";
String
b_muutos = "";
String kappale = "kpl"; //
PARAMETRIN NIMI
String
s_kpl =""; //
PARAMETRIN ARVO
int
kpl = 0; // apumuuttuja yo:lle
String lom_nimi = "lom_nimi"; // parametrin nimi
String l_nimi = ""; // parametrin arvo
String muutos = "muutos";
String
fg_id = ""; // fieldgroupin arvo
String
fg_deleted; // ei oikeastaan edes tarvita, typerä tarkistus
String ken_nimi = "k_nimi"; //
parametrin nimi
String k_nimi = ""; // parametrin arvo
String
k_id = ""; // parametrin arvo
String
k_oletus =""; // parametrin arvo
String
k_type = ""; // parametrin arvo
String apu ="";
String
poistettu = "";
//
tallennukseen tai muutokseen tarvittavia muuttujia:
String
lisays = request.getParameter("lisaa");
String muokkaus =
request.getParameter("muuta");
String s_lomakkeet =
request.getParameter("lom_kpl");
int
lomakkeet = 0;
if(s_lomakkeet != null && !s_lomakkeet.equals("")) {
lomakkeet = Integer.parseInt(s_lomakkeet); }
String s_kentat = "";
int
kentat = 0;
//
TULOKSIA KÄYTETÄÄN TIETOKANNAN MUUTOKSEN TARKISTAMISEEN
//
TARKISTUS ON TÄLLÄ HETKELLÄ VAILLINAINEN, SIIHEN JÄÄ VIIMEISEN TILA!!
int
tulos1 = -1, tulos2 = -1, tulos3 = -1, tulos4 = -1, tulos5 = -1, tulos6 = -1,
tulos7 = -1,tulos8 = -1;
String uusi_fg = "", uusi_f ="", f_type =
"", f_oletus="";
String f_nimi ="", fg_nimi="",
fg_muutos="", us_id="", fg_tuhoa="",
fg_tuhoa_id="";
//
LISÄTÄÄN LISÄTAPAHTUMIA KURSSILLE TAI MUOKATAAN NIITÄ
//
POISTAMINEN TOIMII VAIN KURSSIT-SIVULLA POISTON YHTEYDESSÄ!!!!
if((lisays != null && !lisays.equals("")) ||
(muokkaus != null && !muokkaus.equals(""))) {
if(valittu_kurssi == null || valittu_kurssi.equals("")) {
%>
<font class="pun">Valitse kurssi!</font><br
/> <%
}
else {
for(int n=0; n<lomakkeet; n++) {
uusi_fg =
request.getParameter("fg_id" + n);
fg_nimi = request.getParameter(lom_nimi +
n);
fg_muutos = request.getParameter(muutos +
n);
fg_tuhoa =
request.getParameter("poista_lom" + n);
// "DELETOIDAAN" TAPAHTUMIA
if(fg_tuhoa != null &&
!fg_tuhoa.equals("") && uusi_fg != null &&
!uusi_fg.equals("null") && !uusi_fg.equals("")) {
db.executeUpdate("UPDATE
fieldgroupprotection SET deleted = TRUE WHERE fieldgroupid
="+uusi_fg+";");
db.executeUpdate("UPDATE
fieldgrouplang SET deleted = TRUE WHERE fieldgroupid
="+uusi_fg+";");
db.executeUpdate("UPDATE fieldgroup
SET deleted = TRUE WHERE fieldgroupid ="+uusi_fg+";");
myResult4 = db.executeQuery("SELECT
fieldid FROM field WHERE fieldgroupid = "+uusi_fg+";");
while(myResult4.next()) {
fg_tuhoa_id = myResult4.getString("fieldid");
db.executeUpdate("UPDATE fieldtranslation SET deleted = TRUE WHERE
fieldid = "+fg_tuhoa_id+";");
}
}
else {
// MUOKATAAN LISATIETOJA
if(muokkaus != null &&
!muokkaus.equals("") && uusi_fg != null &&
!uusi_fg.equals("") && !uusi_fg.equals("null")) {
tulos1 = db.executeUpdate("UPDATE fieldgroup SET courseinstanceid =
"+valittu_kurssi+" WHERE fieldgroupid =
"+uusi_fg+";");
if(fg_nimi != null && !fg_nimi.equals("")) {
tulos4 = db.executeUpdate("UPDATE
fieldgrouplang SET name = '"+fg_nimi+"' WHERE fieldgroupid =
"+uusi_fg+" AND languageid = "+languageID+";");
}
}
//
LISÄTÄÄN LISÄTIETOJA
else
{
// LISÄTTÄESSÄ HAETAAN SEURAAVA ID:N ARVO
Autonumberista.
uusi_fg = Integer.toString(autonumber.getNumber("FieldGroup"));
tulos1 = db.executeUpdate("INSERT INTO fieldgroup VALUES(FALSE,
"+uusi_fg+", "+valittu_kurssi+");");
if(fg_nimi != null && !fg_nimi.equals("")) {
tulos4 = db.executeUpdate("INSERT
INTO fieldgrouplang VALUES(FALSE, "+uusi_fg+",
"+languageID+", '"+fg_nimi+"');");
}
}
if(uusi_fg != null &&
!uusi_fg.equals("") && !uusi_fg.equals("null")) {
//
ENSIN "POISTETAAN" KAIKKI LIITTYVÄT TIEDOT fieldgroupprotectionista
myResult3 = db.executeQuery("SELECT
DISTINCT * FROM fieldgroupprotection WHERE fieldgroupid =
"+uusi_fg+";");
while(myResult3.next()) {
us_id = myResult3.getString("usergroupid");
tulos5 = db.executeUpdate("UPDATE fieldgroupprotection SET deleted
= TRUE WHERE fieldgroupid = "+uusi_fg+" AND usergroupid =
"+us_id+";");
}
// SITTEN LISÄTÄÄN NE SINNE
if(fg_muutos != null &&
fg_muutos.equals("on")) {
tulos6 = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 2, "+uusi_fg+", 1);");
}
else {
tulos6 = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 1, "+uusi_fg+", 1);");
}
tulos7 = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 2, "+uusi_fg+", 2);");
}
//
LOMAKKEEN KENTTIEN MUOKKAUS/LISÄÄMINEN
s_kentat =
request.getParameter(kappale + n);
if(s_kentat != null &&
!s_kentat.equals("")) {
kentat = Integer.parseInt(s_kentat); }
int paikka = -1;
for(int k=0; k<kentat; k++) {
uusi_f = request.getParameter("f_id" + n + "_" + k);
f_type = request.getParameter("tyyppi" + n + "_"
+k);
paikka = f_type.indexOf(" ");
if(paikka > 0) { f_type =
f_type.substring(0, paikka); }
f_nimi = request.getParameter(ken_nimi + n + "_" + k);
f_oletus = request.getParameter("k_oletus" + n + "_"
+ k);
if(muokkaus
!= null && !muokkaus.equals("") && uusi_f != null
&& !uusi_f.equals("")) {
if(f_type != null && !f_type.equals("") &&
f_oletus != null && !f_oletus.equals("")) {
tulos2 = db.executeUpdate("UPDATE
field SET fieldgroupid = "+uusi_fg+", fieldtypeid =
"+f_type+", defaultvalue = '"+f_oletus+"' WHERE fieldid =
"+uusi_f+";");
}
else {
tulos2
= db.executeUpdate("UPDATE field SET fieldgroupid = "+uusi_fg+"
WHERE fieldid = "+uusi_f+";");
}
if(f_nimi != null && !f_nimi.equals(""))
{
tulos3 = db.executeUpdate("UPDATE
fieldtranslation SET name= '"+f_nimi+"' WHERE fieldid =
"+uusi_f+";");
}
}
else {
uusi_f = Integer.toString(autonumber.getNumber("Field"));
if(f_nimi != null && f_type != null && f_oletus != null
&& uusi_fg != null && !f_nimi.equals("")) {
tulos2 = db.executeUpdate("INSERT INTO field VALUES(FALSE,
"+uusi_f+", "+f_type+", "+uusi_fg+",
'"+f_oletus+"',1);");
tulos3 = db.executeUpdate("INSERT INTO fieldtranslation
VALUES(FALSE, "+uusi_f+", "+languageID+",
'"+f_nimi+"');");
}
}
}
// kenttien for-silmukan lopetus
} // tuhoamisen else-ehdon lopetus
}
// lomakkeen for-silmukan lopetus
}
if(tulos1 > 0) { %> Lomakkeen tapahtuma onnistui!<br
/> <% }
else {
%> <font class="pun"> Lomakkeen tapahtumat epäonnistuivat!
</font><br /> <% }
if(tulos4 > 0) { %> Lomakkeen nimien tapahtuma
onnistui!<br /> <% }
else {
%> <font class="pun"> Lomakkeen nimet epäonnistuivat!
</font><br /> <% }
if(tulos2 > 0) { %> Kenttien tapahtuma onnistui!<br />
<% }
else {
%> <font class="pun"> Kenttien tapahtumat epäonnistuivat!
</font><br /> <% }
if(tulos3 > 0) { %> Kenttien nimien tapahtuma
onnistui!<br /> <% }
else {
%> <font class="pun"> Kenttien nimet epäonnistuivat! </font><br
/> <% }
if(tulos5 > 0) { %> Muutoksen salliminen oppilaille
onnistui!<br /> <% }
else {
%> <font class="pun"> Oppilaat eivät saa muuttaa yhtään
kenttää! </font><br /> <% }
}
//
HAETAAN VALITUN KURSSIN LOMAKEMÄÄRÄ
if(valittu_kurssi != null &&
!valittu_kurssi.equals("") && (tee == null ||
tee.equals(""))) {
/* myResult = db.executeQuery("SELECT
DISTINCT count(fieldgroupid) AS summa FROM fieldgroup "+
"WHERE
courseinstanceid = "+valittu_kurssi+" AND deleted = FALSE "+
"AND
fieldgroup.fieldgroupid = field.fieldgroupid AND field.fieldtypeid <
5;");
if(myResult.next()) {
s_lom_kpl =
myResult.getString("summa");
lom_kpl = Integer.parseInt(s_lom_kpl);
}
//
TEHDÄÄN TÄLLAINEN VIRITYS, KUN YO. HAKU EI TOIMI OIKEIN, VAAN LASKEE MUKAAN
KAIKKI FIELDIEN FIELDGROUPIT
//
TÄMÄ HAKEE TOSIAAN VAIN FIELDGROUPISTA
//
ALIMMAN PITÄISI TOIMIA OIKEIN!!
lom_kpl =
0;
myResult = db.executeQuery("SELECT
DISTINCT * FROM fieldgroup "+
"WHERE
courseinstanceid = "+valittu_kurssi+" AND deleted = FALSE "+
"AND
fieldgroup.fieldgroupid = field.fieldgroupid AND field.fieldtypeid <
5;");
while(myResult.next()) {
s_lom_kpl =
myResult.getString("fieldgroupid");
lom_kpl++;
}
*/
myResult = db.executeQuery("SELECT
count(fieldgroupid) AS summa FROM fieldgroup "+
"WHERE
courseinstanceid = "+valittu_kurssi+" AND deleted = FALSE AND deleted
= FALSE "+
"AND
fieldgroup.fieldgroupid IN (SELECT field.fieldgroupid FROM Field WHERE
field.fieldtypeid < 5 );");
myResult.next();
lom_kpl =
myResult.getInt("summa");
}
%>
<form
method="get" action="./ope_lisatiedot.jsp">
<H3>Valitse kurssi:</H3>
<%@
include file="esiintymat.code" %>
<input type="submit"
value="Hae kurssin tiedot" name="hae"/>
<br /><br />
<input type="submit"
value="lisaa tiedot" name="lisaa" />
<input type="submit"
value="muuta tiedot" name="muuta" />
<br /><br />
Lomakkeiden määrä: <input
type="text" name="lom_kpl" value="<%= lom_kpl
%>" /><input type="submit" value="tee
lomakkeet" name = "tee" />
<br
/><br /><br />
<%
// HAETAAN KAIKKI VALITTUUN KURSSIIN KUULUVAT
LOMAKKEET
if(valittu_kurssi != null &&
!valittu_kurssi.equals("")) {
myResult =
db.executeQuery("SELECT DISTINCT fl.name, f.fieldgroupid, f.deleted FROM
fieldgroup AS f, fieldgrouplang AS fl "+
"WHERE
courseinstanceid = "+valittu_kurssi+" AND f.fieldgroupid =
fl.fieldgroupid AND fl.languageid = "+languageID+" "+
"AND
f.deleted = FALSE AND fl.deleted = FALSE "+
"AND
f.fieldgroupid = field.fieldgroupid AND field.fieldtypeid < 5 ORDER BY
f.deleted;");
}
for(int
n=0;n<lom_kpl; n++) {
//
JOS KURSSIIN LÖYTYI LOMAKKEITA, KÄYDÄÄN NE YKSITELLEN SILMUKAN MUKANA LÄPI
if(myResult.next())
{
l_nimi =
myResult.getString("name");
fg_id =
myResult.getString("fieldgroupid");
fg_deleted =
myResult.getString("deleted");
}
else {
l_nimi = request.getParameter(lom_nimi +
n);
fg_id =
request.getParameter("fg_id" + n);
fg_deleted
= "";
}
//
ENSIN MÄÄRITELLÄÄN LOMAKE
//
VARMISTETAAN VIELÄ, ETTÄ POISTETUISSA ON RASTI, JOS NIITÄ ON, (EI PITÄISI OLLA)
%>
<font
class="pun">Poista lomake: <input type="checkbox"
name="<%= "poista_lom" + n %>"
<%
if(fg_deleted.equals("true")) { %> checked="on"<% }
%> /></font> <br />
Lomakkeen
nimi: <input type="text" value="<%= l_nimi %>"
name="<%= lom_nimi + n %>" />
<input
type="hidden" name="<%= "fg_id" + n %>"
value="<%= fg_id %>" />
<%
//
HAETAAN TIETOKANNASTA TIETO, SAAKO OPPILAS MUUTTAA LOMAKKEEN TIETOJA
if(fg_id
!= null && !fg_id.equals("")) {
myTempResult = db.executeQuery("SELECT
DISTINCT accesstype FROM fieldgroupprotection WHERE fieldgroupid =
"+fg_id+" AND usergroupid = 1 AND deleted= FALSE;");
if(myTempResult.next()) { s_muutos =
myTempResult.getString("accesstype");
if(s_muutos.equals("2")) {
b_muutos = "checked=on"; }
else
{ b_muutos = ""; }
}
}
%>
oppilas saa muuttaa: <input type="checkbox"
name="<%= muutos + n %>" <%= b_muutos %> /><br
/>
<%
b_muutos = "";
//
HAETAAN LOMAKKEEN KENTTÄMÄÄRÄ, PARAMETRISTA TAI TIETOKANNASTA VALITAAN SUUREMPI
ARVO
// AND
deleted=FALSE
s_kpl = request.getParameter(kappale +
n);
if(fg_id != null &&
!fg_id.equals("")) {
myTempResult =
db.executeQuery("SELECT DISTINCT count(fieldgroupid) AS maara FROM field
"+
"WHERE fieldgroupid = "+fg_id+" AND fieldtypeid <
5;");
if(myTempResult.next()) {
apu =
myTempResult.getString("maara");
int
apu_muunnos = 0;
if(apu
!= null) { apu_muunnos =
Integer.parseInt(apu); }
int
s_kpl_muunnos = 0;
if(s_kpl != null) { s_kpl_muunnos =
Integer.parseInt(s_kpl); }
if(s_kpl == null || apu_muunnos >=
s_kpl_muunnos || (hae != null && !hae.equals(""))) {
s_kpl = apu;
}
}
}
if(s_kpl != null &&
!s_kpl.equals("") && !s_kpl.equals("0")) { kpl = Integer.parseInt(s_kpl); }
else { kpl = 0; s_kpl = "0"; }
// if(s_kpl.equals("null") ||
s_kpl == null || s_kpl.equals("")) { s_kpl = "0";}
%>
Lomakkeen kenttämäärä: <input type="text" name="<%=
kappale + n %>" value="<%= s_kpl %>" />
<input type="submit" value="tee kentat"
name="tee" />(kannassa: <%= apu %>)
<br />
<%
//
HAETAAN LOMAKKEEN KENTTIEN TIEDOT
// AND
f.deleted = FALSE AND fl.deleted = FALSE
int typera = 0;
myTempResult = null;
if(fg_id != null &&
!fg_id.equals("")) {
myTempResult = db.executeQuery("SELECT
DISTINCT fl.name AS name, f.fieldid AS id, f.fieldtypeid AS type,
f.defaultvalue AS df "+
"FROM
field AS f, fieldtranslation AS fl WHERE fl.languageid =
"+languageID+" AND f.fieldgroupid = "+fg_id+" "+
"AND
f.fieldid = fl.fieldid AND f.fieldtypeid < 5;");
}
for(int k=0; k<kpl; k++) {
//
SITTEN LOMAKKEELLE TULEVAT KENTÄT
k_nimi =""; k_id=""; k_oletus="";
k_type="";
if(myTempResult.next())
{
k_nimi =
myTempResult.getString("name");
k_id = myTempResult.getString("id");
k_oletus =
myTempResult.getString("df");
k_type =
myTempResult.getString("type");
}
%> Valinnan nimi: <input type="text" value="<%=
k_nimi %>" name="<%= ken_nimi + n + "_" + k
%>"/>
<input
type="hidden" value="<%= k_id %>" name="<%=
"f_id" + n + "_" + k %>" />
,
tyyppi: <select name="<%= "tyyppi" + n + "_" +k
%>" >
<%
for(int j=0;j<i;j++){ %>
<option
value="<%=tyyppi_id[j]%>"
<% if(!k_type.equals("") &&
tyyppi_id[j].equals(k_type)) { %>selected="selected"<% }
%>><%=tyyppi_nimi[j]%></option><%
}
%>
</select>
ja
oletusarvo: <input type="text" value="<%= k_oletus
%>" name="<%= "k_oletus" + n + "_" + k
%>"/><br /> <%
}
%>
<br /> <%
}
%>
<input type="submit"
value="lisaa tiedot" name="lisaa" />
<input type="submit"
value="muuta tiedot" name="muuta" />
</form>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false" errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autonumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_paivitys
* LANGUAGE: jsp
* DATE: 9.5.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* ACTION
****************************************************************************************************
* Opettaja
valitsee päivitettävät kentät, joiden persusteella
* luodaan taulukko, johon opettaja voi
täyttää kentät.
* TOIMINTA EDELLYTTÄÄ, ETTÄ OPISKELIJAN
SIVULLA ALUSTETAAN RESULT-TAULU!!
*
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
String
valittu_kurssi = request.getParameter("kurssit");
String
valinta = request.getParameter("kurssit");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_paivitys.jsp?kurssit="+valittu_kurssi+"");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myResult2; // SQL query
result
ResultSet myResult3; // SQL query
result
ResultSet myResult4; // SQL query
result
ResultSet myResult5; // SQL query result
ResultSet myTempResult;
ResultSet myTempResult2;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<div
class="leftbar">
<%@ include
file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_paivitys.code" %>
</div>
</body>
</html>
<%
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_paivitys.code
* LANGUAGE: jsp
* DATE: 9.5.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* TOIMINTA
****************************************************************************************************
* Opettaja voi päivittää oppilaiden tietoja
kurssilta.
*
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
%>
<%
String
eg_id="";
String
e_id="";
String
kirjain = "abcdefghijklmnopqrstuvwxyzåäö_";
int apu_kirjain = 0;
String
access_ok="";
int laskin
= 0;
%>
<form
method="get" action="./ope_paivitys.jsp">
<H3>Valitse kurssi:</H3>
<%@
include file="esiintymat.code" %>
<input type="submit"
value="Hae kurssin tiedot"/><br />
</form>
<div
class="vasen"><%
if(valittu_kurssi != null &&
!valittu_kurssi.equals("null")) {
int
access_level = usemodule.courseRight(personID,
Integer.parseInt(valittu_kurssi));
%>
<form method="get"
action="./ope_paivitys_2.jsp">
<input
type="submit" name="paivita" value="Päivitä
tiedot" />
<h3>Valitse kentät:</h3>
<table><tr>
<%
//
LUENTOJA EI OTETA MUKAAN!
myResult =
db.executeQuery("SELECT DISTINCT eventgroupid, name FROM eventgroup
"+
"WHERE courseinstanceid =
"+valittu_kurssi+" AND deleted = FALSE AND grouptypeid <>
4;");
int para = 0;
while(myResult.next()) {
eg_id = myResult.getString("eventgroupid");
%><td
class="ylos"><%= myResult.getString("name")
%><%
myResult2 = db.executeQuery("SELECT
DISTINCT eventid FROM event WHERE eventgroupid = "+eg_id+" AND
deleted = FALSE;");
laskin = 0;
%><ul><%
while(myResult2.next()) {
laskin++;
e_id =
myResult2.getString("eventid");
%><li><%=laskin%><input type="checkbox"
name="<%= "e_"+ para %>"
value="<%=e_id%>" /></li><%
para++;
}
%></ul></td><%
}
%>
</tr>
</table>
<h3>Valitse
sukunimen alkukirjain:</h3>
(ei
yhtään valittu ja seuraava kohta tyhjä = kaikki)<br />
<%
while(apu_kirjain < kirjain.length()) {
%><%=kirjain.charAt(apu_kirjain)%><input
type="checkbox"
name="<%=kirjain.charAt(apu_kirjain)%>"
value="<%=kirjain.charAt(apu_kirjain)%>" /><%
apu_kirjain++;
}
%>
<h3>tai anna sukunimet (nimi, nimi):</h3>
<%
%><input type="text"
name="nimet" size="100" /><br /><%
%>
<input type="hidden"
name="kpl" value="<%= para %>" />
<input
type="hidden" name="kurssit" value="<%=
valittu_kurssi %>" />
<input type="submit" name="paivita"
value="Päivitä tiedot" />
</form>
<hr /><%
}
else { %><h3>Ei kurssia
valittuna!</h3><% } %>
</div>
<%@
page language="Java" import="kotkabeans.*, java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_raportit.jsp");
}
else {
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<!--
Muutettu -->
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_raportit.code" %>
</div>
</body>
</html>
<%
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_kurssit.code
* LANGUAGE: jsp
* DATE: 6.4.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* TOIMINTA
*
* MAIL-PAVUN TOIMIMATTOMUUDEN VUOKSI KAIKKI
MAILIN LÄHETTÄMISTÄ VAATIVAT
* TOIMINNOT EIVÄT TOIMI!!
* Esim. Kurssin pysyvä poistaminen pitäisi
hoitia kys. painiketta painamalla,
* joka lähettää ylläpitäjälle pyynnön kurssin
poistamisesta.
****************************************************************************************************
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
* 6.4.01
Lisätty demo- ja ohjausaikojen haku dynaamisesti ja
* kurssille ilmoittautuneiden määrän laskuri.
* Demo- ja ohjausajat incluudataan
* (hae_demot_listana.code ja
hae_ohjaukset_listana.code)
* 24.4.01 Muutettu kurssin tapahtumat
dynaamiseksi hauksi.
* (hae_ryhmat_listana.code)
*
*
****************************************************************************************************/
%>
<%
String valittu_kurssi =
request.getParameter("kurssit");
String valinta = "";
%>
<h1>Raportit</h1>
<div
class="vasen">
<form
action="./ope_raportit.jsp" method="get">
<%@
include file="esiintymat.code" %>
<input type="submit"
name="hae kurssi" value="Hae kurssi"/>
</form>
</div>
<div>
<h3>Valitse raportti:</h3>
Paina ensin hae kurssi ja valitse sitten
linkki.
<ul>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=kurssilaiset"
target="new">Kurssilaiset</a></li>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=kurssilaiset,
sähköpostilista" target="new">Kurssilaiset,
sähköpostilista</a></li>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=demot"
target="new">Demot</a></li>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=tentit"
target="new">Tentit</a></li>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=harkat"
target="new">Harkat</a></li>
<li><a
href="raportti.jsp?kurssit=<%=valittu_kurssi%>&raportit=omat"
target="new">Omat</a></li>
</ul>
<div>
<div class="keskelle">
<b>Sama toiminta eri
toteutuksella:</b>
<div
class="vasen">
<form
action="raportti.jsp" method="get"
target="new">
<%@ include
file="esiintymat.code" %>
</div>
<div>
<h3>Valitse raportti:</h3>
<input type="submit" value="Kurssilaiset"
name="raportit" />
<input type="submit" value="Kurssilaiset,
sähköpostilista" name="raportit" />
<input type="submit" value="Demopisteet"
name="raportit" />
<input type="submit" value="Tenttitulokset"
name="raportit" />
<input type="submit" value="Harjoitustyöt"
name="raportit" />
<br />
<input type="submit" value="Omat tentit"
name="raportit" />
<input type="submit" value="Omat kurssit"
name="raportit" />
<br />
<input type="submit" value="Oma raportti"
name="raportit" />
</form>
</div>
</div>
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.sql.*,java.lang.*,
java.io.*,
javax.servlet.*" session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<jsp:useBean
id="autonumber" scope="session" class="kotkabeans.AutoNumber"
/>
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_tallenna_kurssi
* LANGUAGE: jsp
* DATE: 19.4.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
*
COPYRIGHT (C)
KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
* 10.4.
PAKOLLINEN LISÄYS: KÄYTTÄJÄN OIKEUSTASON TARKISTUS!
* VAIN OPETTJALLA ja YLLÄPIDOLLA OIKEUS TÄHÄN
TOIMINTOON!!
* TILANVARAUS TOIMINTO PUUTTUU!!
*
****************************************************************************************************
****************************************************************************************************
* VIAT
****************************************************************************************************
*
* TALLETUKSEN TARKISTUS PUUTTEELLINEN, TOIMII
VAIN SIINE PÄIN
*
****************************************************************************************************/
%>
<%
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_lisaa_kurssi.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myResult2; // SQL query
result
ResultSet myResult5; // SQL query
result
ResultSet myResult6; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<%
String
talletuksen_tila = "ei_ok";
int
e=0;
int
seuraava_id, seur;
String loppu = "", www = "",
alku_kello="", loppu_kello="";
String
alku = request.getParameter("alku");
alku_kello =
request.getParameter("alku_k");
loppu = request.getParameter("loppu");
loppu_kello =
request.getParameter("loppu_k");
www = request.getParameter("www");
String ku =
request.getParameter("kurssit");
String kurssi =
request.getParameter("kurssit");
String muokkaa =
request.getParameter("muokkaa");
String valittu_kurssi =
request.getParameter("kurssit");
String eg_id ="", e_id
="";
int
j = 0;
int
eg_tila = 1, e_tila = 1, f_tila = 1, ft_tila= 1, fg_tila = 1, fgp_tila = 1,
fgl_tila = 1, es_tila = 1;
int g_type
= 0;
String gg_type = "", fg_id
="";
// VAADITTUJEN TIETOJEN TÄYTTÄMISEN TARKISTUS
PUUTTUU!!
//
TÄSSÄ TARKISTETAAN AINOASTAA ALOITUSAJAN ANTO
if(alku ==
null) {
talletuksen_tila
= "alku_puuttuu";
}
else if(ku == null || kurssi == null ) {
talletuksen_tila = "kurssi_puuttuu";
}
else {
//
HAETAAN TIETOKANNASTA SEURAAVAT VAPAAT ID:T
int
kurssi_id = autonumber.getNumber("CourseInstance");
int eventgroupid =
autonumber.getNumber("EventGroup");
int eventid =
autonumber.getNumber("Event");
int fieldgroupid = autonumber.getNumber("FieldGroup");
int fieldid =
autonumber.getNumber("Field");
if(ku != null) {
myResult = db.executeQuery("SELECT
courseid FROM courseinstance WHERE courseinstanceid="+ku+";");
if(myResult.next()) { ku =
myResult.getString("courseid"); }
else
{ ku = "0"; }
}
//
TALLETETAAN KURSSIESIINTYMÄ TIETOKANTAAN
//
TALLETUSTA VOI JATKAA VAIN, JOS KURSSIESIINTYMÄN TALLENNUS ONNISTUI !
int
tila = -1;
//
JOS KYSESSSÄ MUOKKAUS, AINOASTAAN PÄIVITETÄÄN KYSYTYT KENTÄT
if(muokkaa.equals("muokkaus") || muokkaa.equals("muokkaa")
|| muokkaa.equals("Muokkaus") || muokkaa.equals("Muokkaa"))
{
tila =
db.executeUpdate("UPDATE courseinstance SET startdate = timestamp(date
'"+alku+"', time '"+alku_kello+"'), enddate =
timestamp(date '"+loppu+"', time '"+loppu_kello+"'), uri =
'"+www+"' WHERE courseinstanceid =
"+valittu_kurssi+";");
//
PÄIVITETÄÄN VALITUN KURSSIN TIEDOt MUUTTUJIIN UUSIEN SIJAAN, JOTTA FIELD-PUOLEN
PÄIVITYS ONNISTUU
kurssi_id = Integer.parseInt(valittu_kurssi);
}
//
MUUTOIN LISÄTÄÄ UUSI KURSSIESIINTYMÄ
else
{
//
REKISTERÖINTI PÄIVIIN MENEE KYS. PÄIVÄ JA VUOSI 3000, STATUSID = 1,
EVALUATIONFUNKTION=1(viim attr.)
tila =
db.executeUpdate("INSERT INTO courseinstance
VALUES(FALSE,"+kurssi_id+", "+ku+", timestamp(date
'"+alku+"', time '"+alku_kello+"'), timestamp(date
'"+loppu+"', time '"+loppu_kello+"'), date('3000-01-01'),
date('now'), 1, '"+www+"',1);");
//
KÄYTTÄJÄ PITÄÄ LISÄTÄ KURSSILLE OPETTAJAKSI
//
KOMMENTTEIHIN EI TULE MITÄÄN JA KURKIUSERGROUPID ON 3
int
parti_id = autonumber.getNumber("CourseParticipant");
db.executeUpdate("INSERT INTO
Courseparticipant VALUES(FALSE, "+parti_id+", "+personID+",
"+kurssi_id+", 3, '', timestamp(timestamp 'now'));");
}
if(tila > 0) {
talletuksen_tila = "ok";
//
HAETAAN RYHMÄTYYPPIEN NIMET MONIKIELISTYSTAULUSTA, JOTTAA SAADAAN LÄHETETYT
TIEDOT ESIIN
myResult =
db.executeQuery("SELECT name FROM grouptypetranslation WHERE languageid =
"+languageID+";");
String[] taulu_nimi = new String[50];
while(myResult.next()) {
taulu_nimi[j] =
myResult.getString("name");
j++;
}
//
SEURAAVAKSI TALLENNTETAAN TAPAHTUMAT JA TAPAHTUMARYHMÄT
//
TILANVARAUSTA EI VIELÄ TALLENNETA
String
a="", b="";
String
r_nimi="", r_max="", r_min="",
r_kerrat="", r_koodi="", r_maara="",
r_poista="";
String rr_alku="", rr_loppu="",
rr_sali="", rr_alku_kello="", rr_loppu_kello="";
String vara_aika1 ="", vara_kello1="",
vara_kello2="";
int
luku, paikka = -2;
int
k=-1, kk=0, kkk=1, apukkk=1;
int
f_tallennus = -1, pois_taalta = 0;
//******************************************************************************************
//
SILMUKKAA KIERRENÄÄN NIIN KAUAN KUIN TAULUKOSSA (taulu_nimi[]) ON NIMIÄ
//
SILMUKAN LASKURIA PÄIVITETÄÄN VASTA, KUN KAIKKI RYHMÄÄN KUULUVAT KENTÄT ON KÄYTY
LÄPI
//
KENTTIEN MÄÄRÄ TULEE PARAMETRINA (r_maara = request.getParameter(a +
"ryhma_maara"))
//
ELI kk PÄIVITTYY VASTA KAIKKIEN KENTTIEN LÄPIKÄYNNIN JÄLKEEN
//******************************************************************************************
while(kk < j) {
k++;
a
= taulu_nimi[kk] + k;
r_poista =
request.getParameter(a + "poista");
r_nimi = request.getParameter(a +
"nimi");
r_max = request.getParameter(a +
"max");
r_min = request.getParameter(a +
"min");
r_kerrat = request.getParameter(a +
"ryhma_kerrat");
r_maara = request.getParameter(a +
"ryhma_maara");
if(r_maara != null) { apukkk =
Integer.parseInt(r_maara); }
else { apukkk = 1; }
if(kkk++ >= apukkk && kk <
j) { kk++; kkk = 1; k = -1;}
r_koodi = request.getParameter(a +
"ryhma");
eg_id = request.getParameter(a +
"ryhmaid");
//
JOS KÄYTTÄJÄ ON RUKSANNUN POISTA RUUDUN, SIIRRYTÄÄN SUORAAN POISTAMAAN LOMAKE
JA SEN KENTÄT
//
MUUTOIN LISÄTÄÄN / MUOKATAAN TIEDOT
if(r_poista
!= null && !r_poista.equals("") &&
!r_poista.equals("null")) {
if(eg_id != null &&
!eg_id.equals("")) {
int poisto = db.executeUpdate("UPDATE
event SET deleted=TRUE WHERE eventgroupid = "+eg_id+";");
poisto = db.executeUpdate("UPDATE eventgroup
SET deleted=TRUE WHERE eventgroupid = "+eg_id+";");
}
}
else {
// TARKISTETAAN, ETTÄ AINAKIN NIMI ON ANNETTU
if(r_nimi
!= null && !r_nimi.equals("")) {
//
JOS KÄYTTÄJÄ ON PAINANUT MUOKKAA-PAINIKETTA, AINOASTAAN PÄIVITETÄÄN TIEDOT
if(eg_id
!= null && !eg_id.equals("") &&
(muokkaa.equals("muokkaus")
|| muokkaa.equals("muokkaa") || muokkaa.equals("Muokkaus")
|| muokkaa.equals("Muokkaa"))) {
eg_tila = db.executeUpdate("UPDATE
eventgroup SET minparticipants = "+r_min+", maxparticipants =
"+r_max+", "+
"name = '"+r_nimi+"', numberofoccurences =
"+r_kerrat+", deleted = FALSE "+
"WHERE eventgroupid = "+eg_id+";");
//
PÄIVITETÄÄN VALITUN KURSSIN TIEDOt MUUTTUJIIN UUSIEN SIJAAN, JOTTA FIELD-PUOLEN
PÄIVITYS ONNISTUU
eventgroupid = Integer.parseInt(eg_id);
}
// MUUTEN LISÄTÄÄN TIEDOT
else {
if(muokkaa.equals("muokkaus")
|| muokkaa.equals("muokkaa") || muokkaa.equals("Muokkaus")
|| muokkaa.equals("Muokkaa"))
{ kurssi_id = Integer.parseInt(kurssi); }
eg_tila =
db.executeUpdate("INSERT INTO eventgroup "+
"VALUES(FALSE, "+eventgroupid+", "+kurssi_id+",
"+r_koodi+", "+r_min+", "+r_max+",
'"+r_nimi+"', "+r_kerrat+")");
}
// HAETAAN RYHMÄTYYPPI, LUENNOILLE EI MÄÄRITELLÄ FIELD-PUOLELLE MITÄÄN
myResult5
= db.executeQuery("SELECT grouptypeid FROM eventgroup WHERE eventgroupid =
"+eventgroupid+";");
if(myResult5.next()) {
gg_type
= myResult5.getString("grouptypeid");
if(gg_type != null && !gg_type.equals(""))
{ g_type = Integer.parseInt(gg_type); g_type = g_type + 4; }
}
if(g_type != 8) {
// KATSOTAAN, ONKO TIETOKANTAAN MÄÄRITELTY SOPIVIA FIELDGROUPPEJA
//
LASKETETAAN FIELDGROUPID, JOS == 0, NIITÄ EI OLE JA NE PITÄÄ LISÄTÄ
myResult6
= db.executeQuery("SELECT count(fieldgroupid) AS onko FROM fieldgroup
"+
"WHERE courseinstanceid = "+kurssi_id+" AND deleted =
FALSE "+
"AND fieldgroup.fieldgroupid IN (SELECT field.fieldgroupid FROM
Field WHERE field.fieldtypeid = "+g_type+" AND deleted =
FALSE);");
//
HAETAAN FIELDGROUPID MAHDOLLISTA MUOKKAUSTA VARTEN
myResult2
= db.executeQuery("SELECT fieldgroupid FROM fieldgroup WHERE
courseinstanceid = "+kurssi_id+" AND deleted = FALSE "+
"AND fieldgroup.fieldgroupid IN (SELECT field.fieldgroupid FROM
Field WHERE field.fieldtypeid = "+g_type+" AND deleted =
FALSE);");
if(myResult6.next())
{
f_tallennus =
myResult6.getInt("onko");
if(f_tallennus > 0 &&
myResult2.next()) { fg_id =
myResult2.getString("fieldgroupid"); }
}
// LISÄTÄÄN FIELDGROUP VAIN, JOS SITÄ EI
ENNESTÄÄN OLE
if(f_tallennus == 0) {
fg_tila = db.executeUpdate("INSERT INTO fieldgroup VALUES(FALSE,
"+fieldgroupid+", "+kurssi_id+");");
fgl_tila = db.executeUpdate("INSERT INTO fieldgrouplang
VALUES(FALSE, "+fieldgroupid+", "+languageID+",
'"+r_nimi+"');");
fgp_tila = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 1, "+fieldgroupid+", 1);");
fgp_tila = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 2, "+fieldgroupid+", 3);");
myResult5 = db.executeQuery("SELECT grouptypeid FROM eventgroup
WHERE eventgroupid = "+eventgroupid+";");
if(gg_type != null && !gg_type.equals("") &&
gg_type.equals("1")) {
fgp_tila = db.executeUpdate("INSERT INTO fieldgroupprotection
VALUES(FALSE, 2, "+fieldgroupid+", 2);");
}
}
if(f_tallennus
!= 0 && fg_id != null && !fg_id.equals("") &&
(muokkaa.equals("muokkaus") || muokkaa.equals("muokkaa"))
&& !fg_id.equals("")) {
fgl_tila = db.executeUpdate("UPDATE fieldgrouplang SET name =
'"+r_nimi+"' WHERE fieldgroupid = "+fg_id+" AND languageid
= "+languageID+";");
}
}
if(eg_tila > 0) {
luku = Integer.parseInt(r_kerrat);
// TENTTEJÄ VOI LISÄTÄ VAIN YHDEN
if(r_koodi.equals("3")
&& luku > 1) { luku = 1; }
// SILMUKKAA KIERRETÄÄN KERRAT-KOHDAN VERRAN
for(int m=0; m<luku; m++) {
rr_alku
= request.getParameter(a + m + "alku");
if(rr_alku
!= null && !rr_alku.equals("")) { vara_aika1 = rr_alku; }
rr_alku_kello
= request.getParameter(a + m + "alku_k");
if(rr_alku_kello != null &&
!rr_alku_kello.equals(""))
{ vara_kello1 = rr_alku_kello; }
rr_loppu = request.getParameter(a + m +
"loppu");
rr_loppu_kello
= request.getParameter(a + m + "loppu_k");
if(rr_loppu_kello != null &&
!rr_loppu_kello.equals("")) {
vara_kello2 = rr_loppu_kello; }
// MITÄ ARVOJA PITÄISI LAITTAA TÄYTTÄMÄTTÄ
JÄÄNEISIIN KOHTIIN?
// LOPPUPÄIVÄMÄÄRÄ = ALOITUSPÄIVÄMÄÄRÄ (ok)
if(rr_loppu == null && rr_alku !=
null && !rr_alku.equals("")) {
rr_loppu = rr_alku; }
if(rr_loppu.equals("") &&
rr_alku != null && !rr_alku.equals(""))
{ rr_loppu = rr_alku; }
// LOPPUAIKA = ALOITUSAIKA, JOS ALOITUSAIKA
ON ANNETTU
if(rr_loppu_kello == null &&
rr_alku_kello != null ) { rr_loppu_kello = rr_alku_kello; }
if(rr_loppu_kello.equals("")
&& rr_alku_kello != null &&
!rr_alku_kello.equals("")){ rr_loppu_kello = rr_alku_kello; }
// JOS MOLEMMAT AJAT OVAT TYHJIÄ, HAETAAN
MAHDOLLISESTI AIEMMIN ANNETUT AJAT
if((rr_alku_kello == null ||
rr_alku_kello.equals("")) &&
!vara_kello1.equals("")) {
rr_alku_kello = vara_kello1; }
if((rr_loppu_kello == null ||
rr_loppu_kello.equals("")) &&
!vara_kello2.equals("")) { rr_loppu_kello = vara_kello2; }
rr_sali = request.getParameter(a + m +
"sali"); // SALI EI MENE MIHINKÄÄN!!
// HAETAAN TUODUISTA PARAMETREISTA ID,
JOTTA SAADAAN HAETTUA MUOKATTAVAN TAPAHTUMAN TIEDOT
e_id = request.getParameter(a + m +
"ryhma_id");
if(rr_alku
!= null && rr_alku_kello != null &&
!rr_alku.equals("") && !rr_alku_kello.equals("")) {
// JOS ON EVENT-ID JA ON
PAINETTU MUOKKAA:
if((e_id != null &&
!e_id.equals("")) &&
(muokkaa.equals("muokkaus")
|| muokkaa.equals("muokkaa") || muokkaa.equals("Muokkaus")
|| muokkaa.equals("Muokkaa"))) {
e_tila = db.executeUpdate("UPDATE event SET begintime =
timestamp(date '"+rr_alku+"', time '"+rr_alku_kello+"'),
endtime = timestamp(date '"+rr_loppu+"', time '"+rr_loppu_kello+"'),
deleted = FALSE WHERE eventid = "+e_id+";");
}
else {
// JOS ON PAINETTU MUOKKAA, MUTTA
EVENT-ID:TÄ EI OLE, PITÄÄ KÄYTTÄÄ SILTI SAMAA EVENTGROUPID:TÄ
// LISÄTTÄESSÄ KÄYTETÄÄN AUTONUMBERISTA
SAATUA EVENTGROUPID:TÄ
if(eg_id != null &&
!eg_id.equals("") && (muokkaa.equals("muokkaus") ||
muokkaa.equals("muokkaa")))
{
eventgroupid = Integer.parseInt(eg_id); }
e_tila = db.executeUpdate("INSERT INTO event(deleted, eventid,
eventgroupid, begintime, endtime) VALUES(FALSE, "+eventid+",
"+eventgroupid+", timestamp(date '"+rr_alku+"', time
'"+rr_alku_kello+"'), timestamp(date '"+rr_loppu+"', time
'"+rr_loppu_kello+"'));");
// SALIN VARAUS EI TOIMI,
JOTEN eventspace-TAULUUN MENEE AINA 1!!!
es_tila = db.executeUpdate("INSERT
INTO eventspace(deleted, eventid, spaceid) VALUES(FALSE, "+eventid+",
1);");
eventid = autonumber.getNumber("Event");
}
if(f_tallennus == 0 && g_type != 8) {
// LISÄTÄÄN FIELDIT, JOS NIITÄ EI OLE,
LUENNOILLE EI TÄÄLLÄKÄÄN MÄÄRITELLÄ MITÄÄN
f_tila = db.executeUpdate("INSERT
INTO field VALUES(FALSE, "+fieldid+", "+g_type+",
"+fieldgroupid+", '0',"+m+")");
ft_tila = db.executeUpdate("INSERT INTO fieldtranslation
VALUES(FALSE, "+fieldid+", 2, '"+ r_nimi + "/" + (m+1)
+"')");
fieldid = autonumber.getNumber("Field");
}
if(f_tallennus != 0 && fg_id != null
&& (muokkaa.equals("muokkaus") ||
muokkaa.equals("muokkaa"))) {
// FIELDIN NIMEÄ EI VOI
MUUTTAA, KOSKA LASKENTAFUNKTIO MENEE VÄÄRIN
// MITES NÄITÄ SITTEN MUOKATAAN, FIELDIN
NIMEÄ EI TAIDA SAADA ULOS!!!
}
} // if pitkälle testille
} // for eventeille ja fieldeille
} // if, grouppien tilan tarkistus
eventgroupid
= autonumber.getNumber("EventGroup");
fieldgroupid =
autonumber.getNumber("FieldGroup");
}
}
}
}
if(!muokkaa.equals("muokkaus")
&& !muokkaa.equals("muokkaa") || muokkaa.equals("Muokkaus") ||
muokkaa.equals("Muokkaa"))
{
valittu_kurssi = Integer.toString(kurssi_id); }
}
if(eg_tila > 0 && e_tila > 0 ) { talletuksen_tila =
"ok"; }
else
{
talletuksen_tila = "ei_ok"; }
response.sendRedirect("ope_lisaa_kurssi.jsp?talletus="+talletuksen_tila+"&kurssit="+valittu_kurssi+"");
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*, java.net.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autonumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_paivitys
* LANGUAGE: jsp
* DATE: 9.5.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* ACTION
****************************************************************************************************
* Opettaja
valitsee päivitettävät kentät, joiden persusteella
* luodaan taulukko, johon opettaja voi
täyttää kentät.
*
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
String
valittu_kurssi = request.getParameter("kurssit");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_paivitys.jsp?kurssit="+valittu_kurssi+"");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
user.setOpStartTime();
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
if(valittu_kurssi != null &&
usemodule.courseRight(personID, Integer.parseInt(valittu_kurssi)) > 1) {
ResultSet myResult; // SQL query
result
ResultSet myResult2; // SQL query
result
ResultSet myResult3; // SQL query
result
ResultSet myResult4; // SQL query
result
ResultSet myResult5; // SQL query
result
ResultSet myTempResult;
ResultSet myTempResult2;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<div
class="leftbar">
<%@ include
file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_tallenna_paivitys.code" %>
</div>
</body>
</html>
<%
}
else {
response.sendRedirect("./opisKurssit.jsp");
}
user.setOpEndTime();
user.setCurrentStatus("IDLE");
db.disconnect();
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_tallenna_paivitys.code
* LANGUAGE: jsp
* DATE: 13.5.01
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* ACTION
****************************************************************************************************
* This
page saves new values to result and
removes the lock from database.
*
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
%>
<%
String person_id = "", kentta_id =
"", tulos = "", vanha_tulos="";
String vanha = "";
int pos, pos2, pos3, alku=0, loppu, pos4;
int tila = -1;
String apu, onnistuu="";
// NÄISTÄ VOI KÄYTTÄÄ VAIN TOISTA!!
//
Dont'use!
// String
query_string = request.getQueryString();
//
java.io.BufferedReader buff =
request.getReader();
//
java.io.BufferedReader buff = new java.io.BufferedReader(request.getReader());
// String
query_string = buff.readLine();
String
query_string = "";
Enumeration
en = request.getParameterNames();
while(en.hasMoreElements())
{
apu = (en.nextElement()).toString();
if(!apu.equals("kurssit")
&& !apu.equals("tallenna")){
query_string += apu +"=";
query_string += request.getParameter(apu)
+ "&";
}
}
apu="";
StringBuffer
b = new StringBuffer(query_string);
int
enkoodattu = -1;
int pituus
= query_string.length();
//
PARAMETERS HAVE BEEN ENCODED TO URL AND THEY HAVE TO BE DECODED
// IF YOU
USE USE JAVA 1.2 OR LATER YOU CAN USE REPLACE INSTEAD OF DELETE AND INSERT
for(int
pp=0; pp<pituus; pp++) {
enkoodattu =
query_string.indexOf("%2B");
if(enkoodattu
!= -1) {
b.delete(enkoodattu, enkoodattu+3);
b.insert(enkoodattu, " ");
query_string
= b.toString();
}
enkoodattu = -1;
enkoodattu =
query_string.indexOf("%253A");
if(enkoodattu != -1) {
b.delete(enkoodattu,
enkoodattu+5);
b.insert(enkoodattu, ":");
query_string
= b.toString();
}
pituus = query_string.length();
}
// HAETAAN ALKUUN OIKEA ALOITUSPAIKKA JA
LOPPUU LOPETUSPAIKKA
//
ope_paivitys_2.code encodes one result to url like:
personid_fieldid--registered=value
pos =
query_string.indexOf("&");
pos2 =
query_string.indexOf("_");
if(pos
< pos2) {
alku = pos+1;
}
pos =
query_string.lastIndexOf("_");
loppu =
query_string.indexOf("&", pos);
// pos:ssa ON &-MERKINKOHTA
// pos2:ssa ON _-MERKIN KOHTA
// pos3:ssa ON ---MERKI KOHTA
// pos4:SSA ON =-MERKIN KOHTA
// JOS EI OO YHTÄÄN ANNETAAN LOPULLE VARMASTI
PIENEMPI ARVO, JOLLOIN SILMUKKAA EI MENNÄ
if(pos2 == -1) { loppu = pos -2 ;}
pos = alku-1;
// LOCKING
THE DATABASE IN PROBABLY UNNECCESSARY!
try {
db.executeUpdate("Begin
work;");
%><h4>Tietokanta
lukittu!</h4><%
try {
while(pos < loppu) {
pos2 = query_string.indexOf("_",
pos);
person_id = query_string.substring(pos+1,
pos2);
pos3 =
query_string.indexOf("--", pos2);
kentta_id = query_string.substring(pos2+1,
pos3);
pos4 = query_string.indexOf("=",
pos3);
vanha_tulos =
query_string.substring(pos3+2,pos4);
pos = query_string.indexOf("&",
pos4);
tulos = query_string.substring(pos4+1,
pos);
try { Integer.parseInt(tulos); }
catch (Exception ee) {
%>Huono
tulos: <%= ee %> <br />
Tulosta
ei muutettu! <%
myResult = db.executeQuery("SELECT
lastname, callname FROM person WHERE personid =
"+person_id+";");
if(myResult.next()) {
%>Nimi: <%= myResult.getString("lastname")%>
<%=myResult.getString("callname") %>,
tulos: <%= tulos %><br /><%
}
tulos
= vanha_tulos;
}
// ONLY SAVE, IF OLD VALUE AND NEW VALUE
ARE DIFFERENT
if(!vanha_tulos.equals(tulos))
{
tila = db.executeUpdate("UPDATE
result SET value = "+tulos+", person2id = "+personID+",
registered = 'now' "+
"WHERE personid =
"+person_id+" AND fieldid = "+kentta_id+" AND value =
"+vanha_tulos+";");
}
if(tila < 1) { onnistuu += person_id + "|" + kentta_id +
"||"; }
}
} catch (Exception e) {
%><h4>Toiminnassa
jotain vikaa ;)</h4>
<p>
Poikkeus: <%= e %><br />
Ethän jättänyt tyhjiä tulos-kenttiä? Tyhjiksi jääneihin kenttiin ei
muutettu tuloksia.
</p><%
}
//********************************************************************************************************'
// THIS LOCK IS SET BEFORE SAVING (ten lines
up)
// IT'S VERY IMPOSTANT TO REMOVE ALL LOCKS!!!
// IF CHANGES FAILED THEY ALL ARE REMOVED
//********************************************************************************************************'
db.executeUpdate("Commit work;");
%><h4>Tietokannan
lukitus poistettu!</h4>
<h4>Tallennus onnistui!</h4><%
} catch
(Exception e) {
db.executeUpdate("Commit work;");
%><h4>Tietokannan
lukitus poistettu!</h4>
db.executeUpdate("Rollback");
%><h4>Tallennus
epäonnistui!</h4> Muutokset peruttu!<%
}
pos = alku-1;
%><h2>Nykyiset tulokset valituille
kentille:</h2>
<table><tr><th
colspan="2">nimi</th></tr><tr><%
while(pos
< loppu) {
pos2 = query_string.indexOf("_",
pos);
person_id = query_string.substring(pos+1,
pos2);
pos3 =
query_string.indexOf("--", pos2);
kentta_id = query_string.substring(pos2+1,
pos3);
pos4 = query_string.indexOf("=",
pos3);
vanha_tulos =
query_string.substring(pos3+2,pos4);
pos =
query_string.indexOf("&", pos4);
tulos = query_string.substring(pos4+1,
pos);
myResult = db.executeQuery("SELECT lastname,
callname, value FROM person AS p, result AS r "+
"WHERE p.personid =
"+person_id+" AND p.personid = r.personid AND r.fieldid =
"+kentta_id+";");
while(myResult.next()) {
if(!vanha.equals(person_id)) {
%></tr><tr><td><%=myResult.getString("lastname")%></td><td><%=myResult.getString("callname")%></td><%
}
%><td><%=myResult.getString("value")%></td><%
vanha
= person_id;
}
}
%></table>
<p>
<a
href="ope_kurssit.jsp?kurssit=<%=valittu_kurssi%>">Kurssien
alkuun</a>
<a
href="ope_paivitys.jsp?kurssit=<%=valittu_kurssi%>">Päivitä
opiskelijoiden tietoja kurssilta.</a>
</p>
<h4>Vihje:</h4>
<p>
Jos haluat päivittää nopeasti uudelleen:
<ul>
<li>paina selaimen
back-nappulaa</li>
<li>paina selaimen reload-nappulaa,
jolloin saat päivittyneet tiedot esiin.</li>
<li>anna uudet arvot ja paina
tallenna</li>
</ul>
</p>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*"
session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false" errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_tentit
* LANGUAGE: jsp
* DATE: 5.5.01
* AUTHOR: Hannu Pekkanen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/ope_tentit.jsp");
}
else {
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
ResultSet myTempResult2;
ResultSet myTemp2Result;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
String valittu_k =
request.getParameter("tentit");
String lisays = request.getParameter("lisaa");
String muokkaus =
request.getParameter("muokkaa");
String lisatiedot =
request.getParameter("lisa_tiedot");
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css">
</head>
<body>
<!--
Muutettu -->
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="ope_tentit.code" %>
</div>
</body>
</html>
<%
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME:
ope_tentit.code
* LANGUAGE: jsp
* DATE: 5.5.01
* AUTHOR:
Hannu Pekkanen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
*
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
%>
<%
String valittu_tentti =
request.getParameter("tentti");
String
valittu_tapahtuma = request.getParameter("valinta");
String valittu_aktivoi =
request.getParameter("aktivoi");
String
maara;
String valinta;
String aloitus = "", lopetus = "", uri =
"", tila = "";
String
ryhmaid = "";
String poisto_id ="";
String toiminto =
request.getParameter("valinta");
String
homeOrg = "";
String
selectedValue = "0";
String
selectedCourseName;
String
selectedCourse;
String
selectedDep = "";
String
departmentID;
String
department;
String
paramDep = "";
String
selectedSpaceName = "";
String
spaceid = "";
%>
<h1>Tenttien muokkaus</h1>
<form
method="get" action="./ope_tentit.jsp">
<!--action="http://europa.it.jyu.fi/korppi/cgi-bin/paluu.cgi"-->
<span
class="vasen">
<H3>Tenttisi:</H3>
<%@
include file="tentit_nayta.code" %>
</span>
<span
class="vasen_tyhja_oikea">
<br
/><br /><br />
<input type="submit"
value="valitse tentti" name="valitse"/>
</form>
<form
method="get" action="./ope_tentit.jsp">
<input type="submit"
value="lisää tentti" name="lisaa"/>
<input
type="hidden" value="lisaa" name="valinta"/>
</form>
<form
method="get" action="./ope_tentit.jsp">
<input type="submit"
value="muokkaa tenttiä" name="muokkaa"/>
<input
type="hidden" value="lisaa" name="valinta"/>
</form>
<form
method="get" action="./ope_tentit.jsp">
<input type="submit"
value="poista tentti" name="poista"/>
<input type="hidden"
value="poista" name="valinta"/>
<input
type="hidden" value="<%=
request.getParameter("tentti") %>"
name="tentti"/>
<%
if(toiminto != null &&
toiminto.equals("poista")) {
%>
<%= valittu_tentti %>
<%= toiminto %>
<%
if(valittu_tentti != null) {
int poistettu_eg = db.executeUpdate("UPDATE
eventgroup SET deleted = TRUE WHERE eventgroupid = "+valittu_tentti+"
AND grouptypeid =3;");
myResult =
db.executeQuery("SELECT eventgroupid FROM eventgroup WHERE eventgroupid =
"+valittu_tentti+" AND deleted = TRUE;");
if(poistettu_eg > 0)
{ %>
<font class="pun">Tentti
poistettu!</font><br /> <%
}
else { %>
<font class="pun">Tenttiä ei
poistettu!</font><br /> <%
}
}
else { %>
<font class="pun">Et valinnut tenttiä!</font>
<%
}
}
%>
</form>
<!--<form
method="get" action="./ope_tentit.jsp">
<input
type="submit" value="Raportit"
name="raportit"/>
</form>-->
<br
/><br />
</span>
<span
class="vasen_tyhja_vasen">
<%
if(valittu_tentti
!= null) {
myTempResult2
= db.executeQuery("SELECT grouptypeid FROM eventgroup WHERE eventgroupid =
"+valittu_tentti+";");
while(myTempResult2.next()) {
ryhmaid =
myTempResult2.getString("grouptypeid");
%> <%@ include file="hae_tentin_tiedot.code"
%> <%
}
}
%>
<%
if(toiminto != null && toiminto.equals("lisaa")) {
%>
<%@
include file="./tentit_hae_org.code" %><% }%>
</span>
Ylläpitäjän täytyy voida käyttää järjestelmän kaikkia mahdollisia toimintoja. Tällähetkellä ylläpitjän toiminnoista on toteutettu kurssien lisäys/moukkaus Course-tauluun sekä systeemiin sisäänkirjautuneiden käyttäjien tarkkailu.
<%@
page language="Java"
import="kotkabeans.*,java.util.*,java.util.Date,java.sql.*,javax.servlet.http.*"
session="true" autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp"
%>
<jsp:useBean
id="tools"
scope="application"
class="kotkabeans.Tools"/>
<jsp:useBean
id="monitor" scope="application" class="java.util.HashMap"/>
<jsp:useBean
id="autoNumber" scope="application"
class="kotkabeans.AutoNumber"/>
<jsp:useBean
id="localize"
scope="application" class="kotkabeans.Localize"/>
<jsp:useBean
id="mail"
scope="application" class="kotkabeans.Mail"/>
<jsp:useBean
id="error"
scope="session"
class="kotkabeans.Error"/>
<jsp:useBean
id="person"
scope="session"
class="kotkabeans.Person"/>
<jsp:useBean
id="usemodule"
scope="application" class="kotkabeans.UseModule"/>
<%
/*****************************************************************************
* PAGE DESCRIPTION
******************************************************************************
*
* NAME: AdminUsers.jsp
* LANGUAGE: JSP
* DATE: 4.4.2001
*
AUTHOR: Tuukka Tawast,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 4.4.2000
* - First prototype
*
*****************************************************************************/
User user =
(User)session.getValue("user");
if(user == null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/showMain.jsp");
}
else {
user.setCurrentForm(request.getServletPath());
user.setCurrentStatus("POST");
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi">
<head>
<link
rel="StyleSheet" href="./opettajan.css"
type="text/css" media="screen" title="Kotka
stylesheet" />
<title>KORPPI - Järjestelmän
tämänhetkiset käyttäjät</title>
<META
HTTP-EQUIV="Refresh" CONTENT="10"
URL="http://ranchi.it.jyu.fi/kotka/course/AdminUsers.jsp">
</head>
<body>
<h1>Current
system user's:</h1>
<%@
include file="pageAdminUsers.code" %>
</div>
</body>
</html>
<%
user.setCurrentStatus("IDLE");
}
%>
<%
/*****************************************************************************
* INCLUDE
DESCRIPTION
******************************************************************************
*
* NAME: pageAdminlinkit.code
* LANGUAGE: JSP
*
DATE: 4.4.2001
*
AUTHOR: Tuukka Tawast,
Jyväskylän yliopisto
*
******************************************************************************
* COPYRIGHT (C) KOTKA-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
*****************************************************************************/
/*****************************************************************************
* UPDATES
******************************************************************************
*
* 4.4.2001
* - First prototype
*
*****************************************************************************/
%>
<p>
<br
/>
<table border="3">
<tr><th>User full
name</th><th>Account</th><th>IP
address</th><th>Page
name</th><th>Status</th><th>Last op
time</th><th>Session expires</th><th></th></tr>
<% Set currentusers = monitor.keySet();
for(Iterator i = currentusers.iterator();
i.hasNext();) {
User temp =(User)i.next(); %>
<% temp.setLastOpTime(temp.getOpStartTime(),
temp.getOpEndTime()); %>
<tr><td><%= temp.getPerson()
%></td><td><%= temp.getAccount() %></td><td><%=
temp.getIpAddr() %></td><td><%= temp.getCurrentForm()
%></td><td><%= temp.getcurrentStatus()
%></td><td><%=
temp.getLastOpTime()%>
ms</td></tr> <% }
%>
</table>
<br
/>
</p>
</form>
<%@
page language="Java" import="kotkabeans.*,
java.util.*,java.sql.*,java.lang.*,
java.io.*,
javax.servlet.*" session="true"
autoFlush="true"
isThreadSafe="true" isErrorPage="false"
errorPage="../shared/showError.jsp" %>
<jsp:useBean
id="tools" scope="application" class="kotkabeans.Tools" />
<jsp:useBean
id="db" scope="session" class="kotkabeans.DB"
/>
<jsp:useBean
id="autoNumber" scope="application" class="kotkabeans.AutoNumber"
/>
<jsp:useBean
id="localize" scope="application" class="kotkabeans.Localize" />
<jsp:useBean
id="mail" scope="application" class="kotkabeans.Mail" />
<jsp:useBean
id="error" scope="session" class="kotkabeans.Error"
/>
<jsp:useBean
id="person" scope="session" class="kotkabeans.Person"
/>
<jsp:useBean
id="usemodule" scope="application" class="kotkabeans.UseModule"
/>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: ope_aloitus
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
*
COPYRIGHT (C)
KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
User user
=(User)session.getValue("user");
if(user ==
null) {
response.sendRedirect("../portal/showLogin.jsp?return=../course/lisaa_kurssi.jsp");
}
else {
// person parameters (read from user bean)
int personID=user.getPersonID();
int
homeOrganisationID=user.getOrganisationID();
// 1 = JYU
int languageID=user.getLanguageID(); // 1 = english, 2 = suomi
int accessGroup=1;
ResultSet rs;
ResultSet myResult; // SQL query
result
ResultSet myTempResult;
int updateFailure = 0;
int allowContinue = 1;
db.connect(); // connect to database
%>
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://validator.w3.org/sgml-lib/REC-xhtml1-20000126/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml" lang="fi">
<head>
<title>KurKi</title>
<link
href="kotka2.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<div
class="leftbar">
<%@
include file="vasen_palkki.jsp" %>
</div>
<div
class="navbar">
<%@
include file="yla_palkki_kuvat.code" %>
</div>
<div
class="main">
<%@ include
file="lisaa_kurssi.code" %>
</div>
</body>
</html>
<%
}
%>
<%
/***************************************************************************************************
* PAGE DESCRIPTION
****************************************************************************************************
*
* NAME: lisaa_kurssi
* LANGUAGE: jsp
* DATE: 10.4.02
* AUTHOR: Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
****************************************************************************************************/
%>
<%
String valinta, vikaa, talletus, muokattu;
String org="", min="",
max="",aste="",oma_org="",valittu_aste="",
valittu_aste_id="";
String
namefin = "";
String nameng = "";
String nameswe = "";
String namedeu = "";
String muokkaus = request.getParameter("muokkaus");
if(muokkaus
== null) muokkaus = "0";
rs =
db.executeQuery("SELECT course.courseid,name, code FROM coursetranslation
,course WHERE course.deleted='f' AND coursetranslation.courseid=course.courseid
AND coursetranslation.languageid="+languageID+" ORDER BY
code;");
%>
<h3>Järjestelmässä olevat
kurssit</h3>
<form
action="lisaa_kurssi.jsp">
<select
name="kurssit" size=5>
<% while(rs.next()) { %>
<option
value="<%= rs.getString("courseid") %>"><%=
rs.getString("code") %> <%= rs.getString("name")
%></option>
<% } %>
</select>
<input
type="submit" value="Muokkaa valittua kurssia"/>
<input
type="hidden" name="muokkaus" value="1"/>
</form>
<form
action="lisaa_kurssi.jsp">
<input
type="submit" value="Lisää uusi kurssi">
</form>
<%
int
kurssi_id = -1;
String koodi="";
String valittu_kurssi = request.getParameter("kurssit");
if(valittu_kurssi != null) {
//
Haetaan tietokannasta tuodun kurssin id
//
jonka avulla voidaan täyttää alustavat tiedot uudelle kurssille.
myResult =
db.executeQuery("SELECT languageid,name FROM coursetranslation WHERE
courseid="+valittu_kurssi+";");
while(myResult.next()) {
switch
(Integer.parseInt(myResult.getString("languageid"))) {
case
1:
nameng =
myResult.getString("name");
break;
case
2:
namefin =
myResult.getString("name");
break;
case
3:
nameswe =
myResult.getString("name");
break;
case
4:
namedeu =
myResult.getString("name");
break;
}
}
myTempResult =
db.executeQuery("SELECT * FROM course WHERE courseid =
"+valittu_kurssi+";");
if(myTempResult.next()) {
koodi
= myTempResult.getString("code");
org
= myTempResult.getString("organisationid");
min
= myTempResult.getString("mincredits");
max
= myTempResult.getString("maxcredits");
aste
= myTempResult.getString("levelid");
}
}
myResult = db.executeQuery("SELECT
homeorganisationid FROM person WHERE personid = "+personID+";");
if(myResult.next()) { oma_org =
myResult.getString("homeorganisationid"); }
if(org == null || org == "") { org = oma_org; }
vikaa =
request.getParameter("vika");
talletus =
request.getParameter("talletus");
muokattu
= request.getParameter("muokattu");
%>
<h1>Kurssin
lisääminen/muokkaaminen</h1>
<%
if(vikaa != null && vikaa.compareTo("ei_kaikkia") ==
0) {
%><h2>Kaikki kentät pitää täyttää!</h2><%
}
if(vikaa != null && vikaa.compareTo("koodi") == 0) {
%><h2>Kurssin koodi jo käytössä!</h2><%
}
if(talletus != null &&
talletus.compareTo("ok") == 0) {
%><h2>Uusi
kurssi lisätty!</h2><%
}
if(muokattu != null && muokattu.equals("1")) {
%><h2>Muokkaus onnistui!</h2> <%
}
%>
<form
action="tallenna_kurssi.jsp">
<h4>Nimi kaikilla kielillä: </h4>
Suomeksi: <input name="namefin"
type="text" value="<%= namefin %>" /><br />
Englanniksi: <input name="nameng"
type="text" value="<%= nameng %>"/><br />
Ruotsiksi: <input name="nameswe"
type="text" value="<%= nameswe %>"/><br />
Saksaksi: <input name="namedeu"
type="text" value="<%= namedeu %>"/><br />
<h4>Muut tiedot:</h4>
koodi:
<input name="koodi" type="text"
value="<%= koodi %>" /><br />
minimi ov:
<input name="minimi" type="text"
value="<%= min %>" /><br />
maksimi ov:
<input name="maksimi" type="text"
value="<%= max %>" /><br />
<%
//
haetaan kaikki tasot
myResult = db.executeQuery("SELECT
name, level.levelid FROM leveltranslation ,level WHERE level.deleted='f' AND
leveltranslation.levelid=level.levelid AND
leveltranslation.languageid="+languageID+";");
if(valittu_kurssi
!= null) {
myTempResult =
db.executeQuery("SELECT name, levelid FROm leveltranslation WHERE
languageid="+languageID+" AND levelid="+aste+";");
if(myTempResult.next())
{
valittu_aste
= myTempResult.getString("name");
valittu_aste_id
= myTempResult.getString("levelid");
}
}
%>
<%= valittu_aste %>
taso: <select name="level">
<%
if(valittu_kurssi != null) {
%>
<option
value="<%= valittu_aste_id %>"
selected="selected"><%= valittu_aste %></option>
<% } %>
<% while(myResult.next()) {
if(valittu_aste_id.equals(myResult.getString("levelid")))
continue;
%>
<option
value="<%= myResult.getString("levelid")
%>"><%= myResult.getString("name") %></option>
<% }
%>
</select>
<br
/>
<%
myResult = db.executeQuery("SELECT
organisationid, name FROM organisationtranslation WHERE languageid
="+languageID+";");
%>
organisaatio:
<select name="org" size="1">
<%
while(myResult.next()) {
valinta =
myResult.getString("organisationid");
%>
<option value="<%=
myResult.getString("organisationid") %>"
<% if(valinta.compareTo(org) == 0) {
%> selected="selected"
<%
} %>
>
<%= myResult.getString("name")
%>
</option>
<%
}
%>
</select><br
/>
<input type="submit" value="tallenna"
name="uusi_kurssi" />
<input type="reset"
value="tyhjennä" name="tyhjenna" /><br />
<% if(valittu_kurssi != null) { %>
<input name="kurssit"
type="hidden" value="<%= valittu_kurssi %>"
/><br />
<% } %>
<input type="hidden"
name="muokkaus" value="<%= muokkaus %>" />
</form>
Korppi-projektin sivut ovat kaikki jaettu samalla periaatteella kolmeen osaan. Sivun vasemmassa reunassa olevaan linkkilistaan, yläreunassa olevaan ylapalkkiin ja suurimman osan sivuista täyttävään tietoalueeseen. Tässä luvussa esitellään Sivupalkki sekä yläpalkki. Tietoalueen koodit käsittävät luvut 2,3 ja 4.
<%
/***************************************************************************************************
* INCLUDE DESCRIPTION
****************************************************************************************************
*
* NAME: vasen_palkki
* LANGUAGE: jsp
* DATE: 1.3.02
* AUTHOR:
Minna Lesonen, Jyväskylän yliopisto
*
****************************************************************************************************
* COPYRIGHT (C) KORPPI-PROJEKTIRYHMÄ
* Limited rights granted. Please
refer to license
****************************************************************************************************
****************************************************************************************************
* UPDATES
****************************************************************************************************
*
*
*
****************************************************************************************************/
String
valittuna = request.getParameter("kurssit");
%>
<a href="../portal/showMain.jsp">
<img src="logo.jpg"
alt="kotka-järjestelmä"
/></a>
<h3>Tässä osiossa:</h3>
<!--
<font class="isompi"> -->
<%
if(usemodule.rightLevel(personID) > 1) {
%>
<a
href="ope_opintosuoritukset.jsp?kurssit=<%= valittuna
%>">Opintosuoritukset</a><br />
<a
href="ope_kurssilaiset.jsp?kurssit=<%= valittuna
%>">Kurssilaiset</a><br />
<a
href="ope_raportit.jsp?kurssit=<%= valittuna
%>">Raportit</a><br />
<a
href="ope_kurssit.jsp?kurssit=<%= valittuna
%>">Kurssit</a><br />
<a href="ope_tentit.jsp?kurssit=<%=
valittuna %>">Tentit</a><br />
<%
}
else {
%>
<a
href="opisKurssit.jsp">Kurssit</a><br />
<a
href="opry_ilmo.jsp">Opetusryhmät</a><br />
<a
href="opisTentit.jsp">Tentit</a><br />
<%
}
%>
<!--
</font> -->
<hr>
<h3>Osiot:</h3>
<a href="../person/showMain.jsp">Henkilötiedot</a><br
/>
<%
if(usemodule.rightLevel(personID) > 1) {
%>
<a
href="ope_aloitus.jsp">Kurssikirjanpito</a><br />
<%
}
else {
%>
<a
href="opisKurssit.jsp">Kurssikirjanpito</a><br />
<%
}
%>
<%
if(usemodule.rightLevel(personID) == 6) {
%>
<h3>Järjestelmän ylläpito</h3>
<a
target="new" href="AdminUsers.jsp">Current system
User's</a><br />
<a
href="lisaa_kurssi.jsp">Kurssien
lisääminen/muokkaus</a><br />
<%
}
%>
<div
class="testi">
<a
href="../portal/showLogoutVerify.jsp?return=..<%=
request.getServletPath() %>">
<img src="lopeta.gif"
alt="Lopetus"/></a>
<div
class="testiteksti"><a
href="../portal/showLogoutVerify.jsp?return=..<%=
request.getServletPath() %>">Poistu</a></div>
</div>
<div
class="empty">
</div>
<div
class="testi">
<a
href="mailto:korppi@mit.jyu.fi">
<img
src="palaute.gif" alt="Palaute"/></a>
<div
class="testiteksti"><a
href="mailto:korppi@mit.jyu.fi">Palaute</a></div>
</div>
<div
class="empty">
</div>
<div
class="testi">
<a
href="../portal/showSettings.jsp?return=..<%= request.getServletPath()
%>">
<img
src="asetukset.gif" alt="Asetukset"/></a>
<div
class="testiteksti"><a
href="../portal/showSettings.jsp?return=..<%= request.getServletPath()
%>">Asetukset</a></div>
</div>
<div
class="empty">
</div>
<div
class="testi">
<a
href="../help/showHelpFI.html">
<img src="apua.gif"
alt="Apua"/></a>
<div
class="testiteksti"><a
href="../help/showHelpFI.html">Opastus</a></div>
</div>
<div
class="tiedot">
<%@ include
file="yla_palkki.code" %>
</div>
<% String organisation="";
String accessright="";
myResult
= db.executeQuery("SELECT name from organisationtranslation WHERE
languageid="+languageID+" AND
organisationid="+homeOrganisationID+";");
if(myResult.next()) {
organisation
= myResult.getString("name");
}
myTempResult = db.executeQuery("SELECT
name FROM accessrightleveltranslation WHERE
accessrightleveltranslation.accessrightlevelid = accessrightlevel.accessrightlevelid
AND accessrightlevel.accessrightlevelid = accessright.accessrightlevelid AND
accessright.personid="+personID+" AND
languageid="+languageID+";");
if(myTempResult.next()) {
accessright
= myTempResult.getString("name");
}
%>
<p>
<%= user.getPerson() %>, <%= organisation %> [<%= accessright
%>]</p>
<p>
Nykyinen sijaintisi: <a
href="http://kotka.mit.jyu.fi">Kotka</a>/Kurssikirjanpito</p>
<!--
<a
href="../portal/showSettings.jsp?return=..<%= request.getServletPath()
%>">
<%=
localize.getTranslation("ALL",2,user.getLanguageID()) %></a>
<a
href="mailto:tutawast@cc.jyu.fi" alt="sähköpostia
ylläpitäjälle" hover="sähköpostia">Palaute</a>
<a
href="">Opastus</a>
-->