import ChangeManager
from time import localtime, strftime


def doGet(term,course,student,password,raction):
		cm = ChangeManager.ChangeManager()
		o = "";
		o = o + ("<h2>Wahlpflichtkurse</h2>");
		o = o + ("<h3><font style=\"font-family:Arial, Verdana, Helvetica, Helv;\" color=\"red\">Das Einloggen geschieht mit &quot;Username&quot; (also NICHT &quot;Username.studenten.vetmed.uni-muenchen&quot; und auch NICHT mit &quot;cn=Username, ou=Studenten, ou=Vetmed, o=uni-muenchen&quot;).Siehe auch <a href=\"http://www.vetmed.uni-muenchen.de/studium/wahlpflicht/kurse/\">Hinweise</a>.</font></h3>\n");
		o = o + ("<p>Bei Problemen bitte Mail an webmaster@vetmed.uni-muenchen.de");
		#/* no arguments */
		o = o + ("<br><form action=\"" + cm.getURL() + "\" method=get>Hauptmenu: "
			+ "Zielsemesterzahl kommendes Semester " 
			+ "(z.B.: 01,02,03,...): " 
			+ "<input type=text name=term"
			+ " maxlength=4 size=2><input type=submit><input type=hidden name=course value=\"\"></form>");
		if term == None or term=='': 
			o = o +  ("<p>Keine Zielsemesterzahl gewaehlt. Bitte geben Sie auf "
				+	"dem Formular die Semesterzahl an, die f&uuml;r Sie ab kommendem "
				+ "Semester (f&uuml;r das Sie die Kurse w&auml;hlen) gilt");
		else:
			#/* a term has been selected */
			o = o +  ("<!--term selected-->");
			if (len (term) == 1):
				term = "0" + term;
			if (course == None or course==''): 
				o = o +  ("<hr>F&uuml;r das Zielsemester " + term + " werden "
					+ " folgende Kurse angeboten.<p>");
				o = o + ("\n<table>\n");
				o = o + ("\n<tr><td>Kursname</td><td>Beschreibung</td>" 
						+ "<td>max. Teilnehmerzahl</td></tr>");
				l = cm.getCourseList (term)
				for li in l:
					o = o + "\n<tr><td><a href=\"" + cm.getURL() + "?term="+term+"&course=%s\">%s. %s</a></td><td>%s</td><td>%s</td></tr>" % (li[1]['cn'][0], li[1]['cn'][0], li[1]['cn'][1],li[1]['description'][0],li[1]['l'][0])
					#cm.getCourseDetails
				o = o + ("</table>\n");
			else:
				#/* a term and a course have been selected */
				o = o +  ("<!--term and course selected-->");
				if (raction=="Einschreiben"):
				#KLUDGE: Sperrung/Oeffnung or term=="02"
					if student=="teststud" or term=="02" or term=="04" or term=="06" or term=="08":
						if (cm.checkPassword (student, password)):
							if (cm.isRegistered (term, course, student)):
								o = o +  ("<h1>Fehler: Sie sind bereits f&uuml;r diesen Kurs regis"
									+ "triert und k&ouml;nnen sich nicht erneut registrieren</h1>");
							else:
								if (not cm.isOpen (term, course) ): 
									o = o +  ("<h1>Fehler: Keine freien Pl&auml;tze mehr/Einschreibefrist abgelaufen</h1>");
								else: 
									cm.register (term, course, student)
						else:
							o = o +  ("<h1>Fehler: Das Passwort stimmt nicht!</h1>");
					else:
						o = o +  ("<h1>Fehler: Einschreibung z.Zt. nicht aktiviert!</h1>");
				if (raction=="Ausschreiben"):
					if (cm.checkPassword (student, password)):
						if (not cm.isRegistered (term, course, student)):
							o = o +  ("<h1>Fehler: Sie waren nicht f&uuml;r diesen Kurs regis"
							+ "triert und k&ouml;nnen sich also garnicht ausschreiben\n</h1>");
						else:
							cm.unregister (term, course, student);
					else:
						o = o +  ("<h1>Fehler: Das Passwort stimmt nicht!</h1>");
				#o = o +  (cm.showErrors());
				o = o +  ("\n<h3>Kursdetails: ");
				o = o+("\nSemester: %s, Kurs-Nr: %s</h3>" %( term,course))
				li = cm.getCourseDetails (term,course)
				o = o + ("\n<table>\n");
				o = o + ("\n<tr><td>Kursname</td><td>Beschreibung</td>" 
						+ "<td>max. Teilnehmerzahl</td></tr>");
				o = o + "\n<tr><td>%s</td><td>%s</td><td>%s</td></tr>" % (li['cn'][1],li['description'][0],li['l'][0])
				o = o + ("\n</table>")
				l = cm.getCourseStudents(term,course,1) #1: including teststud
				o = o + "<h3>Teilnehmerliste</h3><ol>\n"
				for sid in l:
					o = o + "<li>%s\n" % sid
				o = o + "</ol>"
				o = o + ("\n</ol><p>Ende der Teilnehmerliste");
				o = o + ("\n<h3>Ein-/Ausschreibung</h3>");
				o = o + ("\n<p><form action=" + cm.getURL() 
						+ " method=" + cm.getMethod() + ">"
						+ "\n   <input type=hidden name=term value=" + term + ">"
						+ "\n   <input type=hidden name=course value=" + course + ">"
						+ "\n   UserID <input type=text name=student size=12 maxlength=30>"
						+ "\n   Passwort <input type=password name=password " 
						+ "size=12 maxlength=30>"
						+ "\n   <input type=submit name=raction value=Einschreiben>"
						+ "\n   <input type=submit name=raction value=Ausschreiben>"
						+ "\n   <input type=reset value=Abbrechen>"
						+ "\n  </form></td></tr>");
		cm.disconnect();
		o = o + ("<p><hr>");
		o = o + ( strftime("%a, %d %b %Y %H:%M:%S +0000", localtime()) ) 
		return o

