From 1b35f02647e94337d61a7c74513ad26de0bd762b Mon Sep 17 00:00:00 2001 From: darthsandmann Date: Mon, 12 Dec 2016 22:20:21 +0100 Subject: [PATCH] PPM2: select --- Praktikum1_Kai/webteams/content/webteams.css | 73 +--- Praktikum2/AufgabePrak2A.pdf | Bin 0 -> 163178 bytes Praktikum2/ppm1/app/__init__.py | 0 .../app/__pycache__/__init__.cpython-35.pyc | Bin 0 -> 143 bytes .../__pycache__/application.cpython-35.pyc | Bin 0 -> 7769 bytes .../app/__pycache__/database.cpython-35.pyc | Bin 0 -> 5169 bytes .../ppm1/app/__pycache__/view.cpython-35.pyc | Bin 0 -> 1939 bytes Praktikum2/ppm1/app/application.py | 284 +++++++++++++++ Praktikum2/ppm1/app/database.py | 189 ++++++++++ Praktikum2/ppm1/app/view.py | 52 +++ Praktikum2/ppm1/data/Angebote/23.json | 13 + Praktikum2/ppm1/data/Angebote/26.json | 13 + Praktikum2/ppm1/data/Angebote/27.json | 13 + Praktikum2/ppm1/data/Angebote/30.json | 13 + Praktikum2/ppm1/data/Angebote/last.json | 1 + Praktikum2/ppm1/data/Firmen/4.json | 8 + Praktikum2/ppm1/data/Firmen/5.json | 8 + Praktikum2/ppm1/data/Firmen/6.json | 8 + Praktikum2/ppm1/data/Firmen/last.json | 1 + Praktikum2/ppm1/data/Lehrender/5.json | 7 + Praktikum2/ppm1/data/Lehrender/6.json | 7 + Praktikum2/ppm1/data/Lehrender/7.json | 7 + Praktikum2/ppm1/data/Lehrender/8.json | 7 + Praktikum2/ppm1/data/Lehrender/last.json | 1 + Praktikum2/ppm1/data/Studenten/10.json | 6 + Praktikum2/ppm1/data/Studenten/11.json | 6 + Praktikum2/ppm1/data/Studenten/12.json | 6 + Praktikum2/ppm1/data/Studenten/13.json | 6 + Praktikum2/ppm1/data/Studenten/9.json | 6 + Praktikum2/ppm1/data/Studenten/last.json | 1 + Praktikum2/ppm1/doc/documentation.html | 127 +++++++ Praktikum2/ppm1/doc/documentation.md | 36 ++ Praktikum2/ppm1/server.py | 45 +++ Praktikum2/ppm1/static/functions.js | 46 +++ Praktikum2/ppm1/static/functionsAngebote.js | 33 ++ Praktikum2/ppm1/static/functionsChoice.js | 19 + Praktikum2/ppm1/static/functionsFirmen.js | 33 ++ Praktikum2/ppm1/static/functionsLehrender.js | 33 ++ Praktikum2/ppm1/static/functionsStudenten.js | 33 ++ Praktikum2/ppm1/static/img/logo.png | Bin 0 -> 99422 bytes Praktikum2/ppm1/static/style.css | 1 + Praktikum2/ppm1/templates/detail.tpl | 75 ++++ Praktikum2/ppm1/templates/detailChoice.tpl | 66 ++++ Praktikum2/ppm1/templates/index.tpl | 36 ++ Praktikum2/ppm1/templates/list.tpl | 76 ++++ Praktikum2/ppm1/templates/listChoice.tpl | 56 +++ Praktikum2/ppm1/templates/listEval.tpl | 146 ++++++++ Praktikum2/ppm2/.vs/ppm2/v14/.suo | Bin 0 -> 15872 bytes .../__pycache__/application.cpython-35.pyc | Bin 0 -> 1521 bytes .../app/__pycache__/category.cpython-35.pyc | Bin 0 -> 1010 bytes .../app/__pycache__/choice.cpython-35.pyc | Bin 0 -> 967 bytes .../app/__pycache__/database.cpython-35.pyc | Bin 0 -> 5136 bytes .../ppm2/app/__pycache__/eval.cpython-35.pyc | Bin 0 -> 2793 bytes .../app/__pycache__/template.cpython-35.pyc | Bin 0 -> 903 bytes .../app/__pycache__/templates.cpython-35.pyc | Bin 0 -> 973 bytes .../ppm2/app/__pycache__/view.cpython-35.pyc | Bin 0 -> 1939 bytes Praktikum2/ppm2/app/application.py.old | 332 ++++++++++++++++++ Praktikum2/ppm2/app/category.py | 33 ++ Praktikum2/ppm2/app/choice.py | 31 ++ Praktikum2/ppm2/app/database.py | 189 ++++++++++ Praktikum2/ppm2/app/eval.py | 85 +++++ Praktikum2/ppm2/app/templates.py | 37 ++ Praktikum2/ppm2/app/view.py.old | 52 +++ Praktikum2/ppm2/data/Angebote/23.json | 13 + Praktikum2/ppm2/data/Angebote/26.json | 13 + Praktikum2/ppm2/data/Angebote/27.json | 13 + Praktikum2/ppm2/data/Angebote/30.json | 13 + Praktikum2/ppm2/data/Angebote/last.json | 1 + Praktikum2/ppm2/data/Firmen/4.json | 8 + Praktikum2/ppm2/data/Firmen/5.json | 8 + Praktikum2/ppm2/data/Firmen/6.json | 8 + Praktikum2/ppm2/data/Firmen/last.json | 1 + Praktikum2/ppm2/data/Lehrender/5.json | 7 + Praktikum2/ppm2/data/Lehrender/6.json | 7 + Praktikum2/ppm2/data/Lehrender/7.json | 7 + Praktikum2/ppm2/data/Lehrender/8.json | 7 + Praktikum2/ppm2/data/Lehrender/last.json | 1 + Praktikum2/ppm2/data/Studenten/10.json | 6 + Praktikum2/ppm2/data/Studenten/11.json | 6 + Praktikum2/ppm2/data/Studenten/12.json | 6 + Praktikum2/ppm2/data/Studenten/13.json | 6 + Praktikum2/ppm2/data/Studenten/9.json | 6 + Praktikum2/ppm2/data/Studenten/last.json | 1 + Praktikum2/ppm2/ppm2.pyproj | 50 +++ Praktikum2/ppm2/ppm2.sln | 20 ++ Praktikum2/ppm2/server.conf | 19 + Praktikum2/ppm2/server.py | 54 +++ Praktikum2/ppm2/static/css/style.css | 1 + Praktikum2/ppm2/static/html/detail.html | 75 ++++ Praktikum2/ppm2/static/html/detailChoice.html | 66 ++++ Praktikum2/ppm2/static/html/index.html | 25 ++ Praktikum2/ppm2/static/html/listChoice.html | 56 +++ Praktikum2/ppm2/static/html/listEval.html | 146 ++++++++ Praktikum2/ppm2/static/js/jquery-3.1.1.min.js | 4 + Praktikum2/ppm2/static/js/ppm.js | 164 +++++++++ Praktikum2/ppm2/static/js/te.js | 266 ++++++++++++++ Praktikum2/ppm2/static/js/tm.js | 61 ++++ Praktikum2/ppm2/templates/index.tpl | 12 + Praktikum2/ppm2/templates/list.tpl | 47 +++ Praktikum2/ppm2/templates/listChoice.tpl | 33 ++ Praktikum2/ppm2/templates/listEval.tpl | 121 +++++++ Sammlung/P2/template/template.css | 149 +------- Sammlung/P3/template/template.css | 149 +------- Sammlung/Praktikum/1/ias_p1/iasp1.css | 10 +- Sammlung/Praktikum/1/iasp1.css | 10 +- .../3/ias_p2_a0.21/css/auktionsansicht.css | 67 +--- .../3/ias_p2_a0.21/css/botButton.css | 12 +- .../3/ias_p2_b0.1/css/auktionsansicht.css | 72 +--- .../Praktikum/3/ias_p2_b0.1/css/botButton.css | 15 +- .../3/ias_p2_b0.1/css/wizardButton.css | 9 +- Sammlung/Praktikum/3/iasp1.css | 10 +- .../4/app/__pycache__/__init__.cpython-35.pyc | Bin 161 -> 148 bytes .../4/app/__pycache__/database.cpython-35.pyc | Bin 8099 -> 8086 bytes .../app/__pycache__/discussion.cpython-35.pyc | Bin 1918 -> 1905 bytes .../4/app/__pycache__/login.cpython-35.pyc | Bin 1166 -> 1153 bytes .../4/app/__pycache__/post.cpython-35.pyc | Bin 2513 -> 2500 bytes .../4/app/__pycache__/template.cpython-35.pyc | Bin 940 -> 927 bytes .../4/app/__pycache__/topic.cpython-35.pyc | Bin 2177 -> 2164 bytes Sammlung/Praktikum/4/css/main.css | 288 +-------------- Sammlung/Praktikum/4/data/topics.dat | 2 +- Sammlung/Praktikum/4/js/forum.js | 2 + Sammlung/Praktikum/4/js/tm.js | 2 + .../app/__pycache__/__init__.cpython-35.pyc | Bin 155 -> 142 bytes .../__pycache__/application.cpython-35.pyc | Bin 2596 -> 2583 bytes .../app/__pycache__/database.cpython-35.pyc | Bin 2770 -> 2757 bytes .../app/__pycache__/template.cpython-35.pyc | Bin 934 -> 921 bytes .../lit-8/app/__pycache__/view.cpython-35.pyc | Bin 820 -> 807 bytes Sammlung/lit-8/css/main.css | 195 +--------- Sammlung/p2 051115/content/css/style.css | 149 +------- Sammlung/te_tm/hinweise_te_tm.000.pdf | Bin 0 -> 71867 bytes Sammlung/te_tm/te.js | 266 ++++++++++++++ Sammlung/te_tm/tm.js | 59 ++++ .../Absolventenfeier.cpython-35.pyc | Bin 1897 -> 1898 bytes .../app/__pycache__/__init__.cpython-35.pyc | Bin 142 -> 143 bytes .../app/__pycache__/account.cpython-35.pyc | Bin 1505 -> 1506 bytes .../app/__pycache__/converter.cpython-35.pyc | Bin 518 -> 519 bytes .../app/__pycache__/counter.cpython-35.pyc | Bin 1101 -> 1102 bytes .../app/__pycache__/database.cpython-35.pyc | Bin 1356 -> 1357 bytes .../app/__pycache__/validator.cpython-35.pyc | Bin 1024 -> 1025 bytes .../app/__pycache__/view.cpython-35.pyc | Bin 1792 -> 1793 bytes Sammlung/web_p4/content/style.css | 119 +------ 141 files changed, 3986 insertions(+), 1313 deletions(-) create mode 100644 Praktikum2/AufgabePrak2A.pdf create mode 100644 Praktikum2/ppm1/app/__init__.py create mode 100644 Praktikum2/ppm1/app/__pycache__/__init__.cpython-35.pyc create mode 100644 Praktikum2/ppm1/app/__pycache__/application.cpython-35.pyc create mode 100644 Praktikum2/ppm1/app/__pycache__/database.cpython-35.pyc create mode 100644 Praktikum2/ppm1/app/__pycache__/view.cpython-35.pyc create mode 100644 Praktikum2/ppm1/app/application.py create mode 100644 Praktikum2/ppm1/app/database.py create mode 100644 Praktikum2/ppm1/app/view.py create mode 100644 Praktikum2/ppm1/data/Angebote/23.json create mode 100644 Praktikum2/ppm1/data/Angebote/26.json create mode 100644 Praktikum2/ppm1/data/Angebote/27.json create mode 100644 Praktikum2/ppm1/data/Angebote/30.json create mode 100644 Praktikum2/ppm1/data/Angebote/last.json create mode 100644 Praktikum2/ppm1/data/Firmen/4.json create mode 100644 Praktikum2/ppm1/data/Firmen/5.json create mode 100644 Praktikum2/ppm1/data/Firmen/6.json create mode 100644 Praktikum2/ppm1/data/Firmen/last.json create mode 100644 Praktikum2/ppm1/data/Lehrender/5.json create mode 100644 Praktikum2/ppm1/data/Lehrender/6.json create mode 100644 Praktikum2/ppm1/data/Lehrender/7.json create mode 100644 Praktikum2/ppm1/data/Lehrender/8.json create mode 100644 Praktikum2/ppm1/data/Lehrender/last.json create mode 100644 Praktikum2/ppm1/data/Studenten/10.json create mode 100644 Praktikum2/ppm1/data/Studenten/11.json create mode 100644 Praktikum2/ppm1/data/Studenten/12.json create mode 100644 Praktikum2/ppm1/data/Studenten/13.json create mode 100644 Praktikum2/ppm1/data/Studenten/9.json create mode 100644 Praktikum2/ppm1/data/Studenten/last.json create mode 100644 Praktikum2/ppm1/doc/documentation.html create mode 100644 Praktikum2/ppm1/doc/documentation.md create mode 100644 Praktikum2/ppm1/server.py create mode 100644 Praktikum2/ppm1/static/functions.js create mode 100644 Praktikum2/ppm1/static/functionsAngebote.js create mode 100644 Praktikum2/ppm1/static/functionsChoice.js create mode 100644 Praktikum2/ppm1/static/functionsFirmen.js create mode 100644 Praktikum2/ppm1/static/functionsLehrender.js create mode 100644 Praktikum2/ppm1/static/functionsStudenten.js create mode 100644 Praktikum2/ppm1/static/img/logo.png create mode 100644 Praktikum2/ppm1/static/style.css create mode 100644 Praktikum2/ppm1/templates/detail.tpl create mode 100644 Praktikum2/ppm1/templates/detailChoice.tpl create mode 100644 Praktikum2/ppm1/templates/index.tpl create mode 100644 Praktikum2/ppm1/templates/list.tpl create mode 100644 Praktikum2/ppm1/templates/listChoice.tpl create mode 100644 Praktikum2/ppm1/templates/listEval.tpl create mode 100644 Praktikum2/ppm2/.vs/ppm2/v14/.suo create mode 100644 Praktikum2/ppm2/app/__pycache__/application.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/category.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/choice.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/database.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/eval.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/template.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/templates.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/__pycache__/view.cpython-35.pyc create mode 100644 Praktikum2/ppm2/app/application.py.old create mode 100644 Praktikum2/ppm2/app/category.py create mode 100644 Praktikum2/ppm2/app/choice.py create mode 100644 Praktikum2/ppm2/app/database.py create mode 100644 Praktikum2/ppm2/app/eval.py create mode 100644 Praktikum2/ppm2/app/templates.py create mode 100644 Praktikum2/ppm2/app/view.py.old create mode 100644 Praktikum2/ppm2/data/Angebote/23.json create mode 100644 Praktikum2/ppm2/data/Angebote/26.json create mode 100644 Praktikum2/ppm2/data/Angebote/27.json create mode 100644 Praktikum2/ppm2/data/Angebote/30.json create mode 100644 Praktikum2/ppm2/data/Angebote/last.json create mode 100644 Praktikum2/ppm2/data/Firmen/4.json create mode 100644 Praktikum2/ppm2/data/Firmen/5.json create mode 100644 Praktikum2/ppm2/data/Firmen/6.json create mode 100644 Praktikum2/ppm2/data/Firmen/last.json create mode 100644 Praktikum2/ppm2/data/Lehrender/5.json create mode 100644 Praktikum2/ppm2/data/Lehrender/6.json create mode 100644 Praktikum2/ppm2/data/Lehrender/7.json create mode 100644 Praktikum2/ppm2/data/Lehrender/8.json create mode 100644 Praktikum2/ppm2/data/Lehrender/last.json create mode 100644 Praktikum2/ppm2/data/Studenten/10.json create mode 100644 Praktikum2/ppm2/data/Studenten/11.json create mode 100644 Praktikum2/ppm2/data/Studenten/12.json create mode 100644 Praktikum2/ppm2/data/Studenten/13.json create mode 100644 Praktikum2/ppm2/data/Studenten/9.json create mode 100644 Praktikum2/ppm2/data/Studenten/last.json create mode 100644 Praktikum2/ppm2/ppm2.pyproj create mode 100644 Praktikum2/ppm2/ppm2.sln create mode 100644 Praktikum2/ppm2/server.conf create mode 100644 Praktikum2/ppm2/server.py create mode 100644 Praktikum2/ppm2/static/css/style.css create mode 100644 Praktikum2/ppm2/static/html/detail.html create mode 100644 Praktikum2/ppm2/static/html/detailChoice.html create mode 100644 Praktikum2/ppm2/static/html/index.html create mode 100644 Praktikum2/ppm2/static/html/listChoice.html create mode 100644 Praktikum2/ppm2/static/html/listEval.html create mode 100644 Praktikum2/ppm2/static/js/jquery-3.1.1.min.js create mode 100644 Praktikum2/ppm2/static/js/ppm.js create mode 100644 Praktikum2/ppm2/static/js/te.js create mode 100644 Praktikum2/ppm2/static/js/tm.js create mode 100644 Praktikum2/ppm2/templates/index.tpl create mode 100644 Praktikum2/ppm2/templates/list.tpl create mode 100644 Praktikum2/ppm2/templates/listChoice.tpl create mode 100644 Praktikum2/ppm2/templates/listEval.tpl create mode 100644 Sammlung/te_tm/hinweise_te_tm.000.pdf create mode 100644 Sammlung/te_tm/te.js create mode 100644 Sammlung/te_tm/tm.js diff --git a/Praktikum1_Kai/webteams/content/webteams.css b/Praktikum1_Kai/webteams/content/webteams.css index 577a9e3..9fac126 100644 --- a/Praktikum1_Kai/webteams/content/webteams.css +++ b/Praktikum1_Kai/webteams/content/webteams.css @@ -1,72 +1 @@ -body { - font-family: "Open Sans", sans-serif; - font-size: 12pt; - padding: 0; - margin: 0; -} - -td { - border: 1px solid black; -} - -th { - height: 50px; - border: 1px solid black; -} - -li { -} - -ul { - padding-left: 30px; - list-style-type: square; - margin-bottom: 50px; -} - -label { - padding-left: 15px; -} - -input { - width: 200px; - border: none; - border-bottom: 2px solid black; - font-size: 12pt; -} - -input.button { - background-color: #eeeeee; - color: black; - padding: 5px 10px; - text-align: center; - text-decoration: none; - display: inline-block; - border: none; -} - -input.button:hover, input.button:active { - background-color: #e7e7e7; -} - -idWTForm { -} - - - -a:link, a:visited { - background-color: #eeeeee; - color: black; - padding: 5px 10px; - text-align: center; - text-decoration: none; - display: inline-block; -} - - -a:hover, a:active { - background-color: #e7e7e7; -} - -a.clDelete { -} - +body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}td{border:1px solid black;}th{height:50px;border:1px solid black;}li{}ul{padding-left:30px;list-style-type:square;margin-bottom:50px;}label{padding-left:15px;}input{width:200px;border:none;border-bottom:2px solid black;font-size:12pt;}input.button{background-color:#eeeeee;color:black;padding:5px 10px;text-align:center;text-decoration:none;display:inline-block;border:none;}input.button:hover,input.button:active{background-color:#e7e7e7;}idWTForm{}a:link,a:visited{background-color:#eeeeee;color:black;padding:5px 10px;text-align:center;text-decoration:none;display:inline-block;}a:hover,a:active{background-color:#e7e7e7;}a.clDelete{} \ No newline at end of file diff --git a/Praktikum2/AufgabePrak2A.pdf b/Praktikum2/AufgabePrak2A.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a875c5bd173d598ab2a03ee6bdf4c4f2cbc58b70 GIT binary patch literal 163178 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�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 literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm1/app/__init__.py b/Praktikum2/ppm1/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Praktikum2/ppm1/app/__pycache__/__init__.cpython-35.pyc b/Praktikum2/ppm1/app/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..245d0994fc141ad8dbbfaf2a1f254917fcbf431a GIT binary patch literal 143 zcmWgR<>flwFCD=E1dl-k3@`#24nSPY0whux7=kq!{Z=v*frJsnFB|>P;?$yI{p`d{ z{o>@z)TDfU_skNX#3cQ2S10{|qQvZy%7}QlK<@?89C{9VDbPdv7xc7;UV6&E&{Mzf%`Um5#5koi!};-M=FR)w zd-G;ESF2UrKfm+Y!4H-CkIH-;ly4!0U1UD~E!9!VL%~*lPIWA`V=K>A7VD1c2i8GYr;S9aM{-wu3KBv3g(ofe!rTb}MReO!~>Aa0@Bi#~cCHx41so z#r$9xi+VW~IO<8Bn*sl5d0~;Sq!I0gJxkibp&>3Qznl`6(#DGNt7&67ZNv=tca>jL zU)nNBCGDC}{$xsDO&dWxrTkOsOS7VzwofbnbV^)H8_nc1%AZXqpGdprlz%3rpH%)? z6-=si%v@LgIktPJl>dtI&r2DTzpDHTQa&vVUsV1)dGIj#Ys$YQU9-x+to+xdjQQVC z{uL>oQU06Ce@n_|mETbQRVibwJaBwFp18fc+iAC&QM=a#WGy1f55H}sC8Y2?vIz25 z>QJe5OGOZuDFYgXd90O&qjR8&ZGS^MEI7}g1W*Pi3_6d$R=R@5|9-get1!^v!gjO0 z5VqREMsMM6JG$50SXjIB(ZVOXxgE8)_jax??C$QoyU^U-WlGt*w);FTt*^Jc?Pz`d z6s8NgkjlB%!I|M*TuZ4=-p&k0VLQ+?Xq1I5Jwb`vuvZQWA9wv=ztXVd{H|_yqqufA z=mxqO1=7*5bQz;%Hzup18t2;_HHV_%DPOS;W=41tl9d*P$`8NE{}NL8V`PS-Ls5U2 zn#Gb*+qTkIDE5R$mTZMSu)d1^)kbdRpt1!1HhcQ{jrrKBG;+Fz`Sb*`*iG5L*AAnG zE!@XB;61v9653>rSIJNbnaWRDu2r#*NjIhZ|D{`6+Um7i!93(EJjT;m_Dts(5f@rA z^i6UnxKqZnBQiELLo)6w@#`2liaJCI;6(*;sZd1=?mTODz@=j(S;SDUva}Vnw&Cf5 zFrLb?P1;1VdK#3Yl63+QTqEBFWD0!Otb@}doRg+S3*v|0bdaJOk5Nc;A*b|b>JUB> zdV%s!hja$*FW}vcs$c-?wp!(u&E9Yn^gF3N-HPayh`^|lvvS}-m2Mt5^KJj;f&20D z&6Qp^m}gs}Rq;f+_2nRHwmYI_=o72p?qj>{k4m863+<249a1Y*-i2nJwx;YF(lHbb z^$?1bh)Clc3Vln#{)V?i>~df|Rj-+0W)lT7R-o&cYLrtqSzB~%83c*00kKy`5X(~b zd8KBO*I#hxWn{y=+Uf{ch%q0gpcuEa+I$w=m{0lcTP>TRg#+n2K91VB$o#?1?kM|C z2>N?m+o)R2DjZie()3N2%+f@JVVZu%L@ad#S7W$^mhj+*d|kt8UzYSW13PAC(v>L1 z1@!BS%yPrSgw!AdO$g3Bb2si#XJgqNmKFZKMmu3Ljdn_VL9jo zQILu`qs!8qQR5S}1A0ul&&e&YQOs#CrzH z5n1%_wAdWY_cw9~tTteoXZN}r!FIFTje_~x-N!u!R(st|xO~TK9CKLUFmNH}`geZWP9a?JrOXz5GtNxgL&UQ}lz!&ApDqYzCO( zDY~t>5nvLs2mS3bZeS8vs2YSpka&><3by9q5?7aW@ZG1XxE2UUg>q)v2j@o?PmNnn z<{=a8E5_ePII!A^N{t*M2NH`($ySTTWkT|c3CnWK))Tr2h{%XK?7(-#|9+(+M-6qL z&x-OXrHQN!eVy3$djM{|-^+QiKITG+GjRQ)dQwX2tBw3hTx|6Kd^hq+TS3!rcQ-?Q z8hg`}b)&3#LdC^jqU(02qiJ$+t`l_4A?tK-_Q%e4@H`aR<0uo^OGuD77nzLXJU3bC zXKf928n#)@uJT@9q~p4D&pNj$Zx z4smq=hKQ|DhTLV1I#5}Bx~kTm-cV~qV-O$8Ey>i0hURG=mu`1A5y3`5Tv&~o(OwuA zla@wN0MQE|GhpP~QLq!5XoBkRO${JO+-1>tdBLFEd;B;+__-OzIlva@5gqIW0^xP9 zAeHN*(9B@k-y($!LsMv`tUCU9+RoVk=Cv^vL|_aXeg8@m>YLHOP&o#V9AJ)$4kYEK9oEHGU;cWz$nbdG# zI{><%h$g<$aYe2smQ|o}p%VjekzElp@^COnG$Szq(bc$atGECofVobF)o%S>&VGCVqmnZKO%+f9H59e+&T{g=d20F z^)`b;wsETCEtI?hhe-?D(^1Wb72e?3KBj-X!&LSeY&4|@ZX9YSOW{j2SE775=lb2Qo+deF*#ZWvZCxD5Oe-PPIO#Q>V6%v zJi>|4uS1S>QxdR1p?M%B4(lKG{)aY&3qRzj7xEIa{OE0)POqqrO38V4h_??Y{$lb? zyE83y8iG0L`YnL#SW6ubJtwu6PHZi!#r;27aHWQ)&tNR08%C=IMev;LttFm-W z9Zjf1yv70RL(osDI(6w`?)Y+~sw(JG4blNbr~JxbOZf!I%oG`T7HQT7{XUQ6AR<|0c7qvDP>EY& zXQjCl==V|gig-NT3pyRI*4)?(!q!%&7luLC%QJ>)>i0ks7n4(0U*U+V7qlbY+}ruI z*Bw+oYKL-8dsV#0?zh9;Ej;WG1wTBL<3iZeQQ&Jn>SW^Di9uW|?_#G0Zx<#oI$=bZ6UT1{IB(cd&6ySpxg2P?b(;&kSRKVL9B)m4Ad}6Ui9-4 z#Oil2m$_d$eB6;MVEW)E&pHy&j)bv%N#Z+zc}TWht7e}be=p>`Cx@#oZp7Tq;Hr7n zKOAf(=>X4&QF%WQ{w;3YT=X8w-2gr?xm080a448A8==17b`hI?zreNZ9n+&-GVvC&xDf2`_V6>(BwK`)S(eT) zVw|u+Qyakkz z!t2P~lAE6`7IM?Y+2U-ekejVCpUz9!nXQzIZr+`8rzU4y*S+hO-KvalRAfJ1iI2G( zaI*3XnlU;D)5g_SuhR)y{An)Kd@Av(^6F=PPK^t_jVI`pxlUp-E-e~aegH&NNCCRy K#P}RAmHQtOJ*#>E literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm1/app/__pycache__/database.cpython-35.pyc b/Praktikum2/ppm1/app/__pycache__/database.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..64a131478a932acb185920c98b203498dcee0ff8 GIT binary patch literal 5169 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 literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm1/app/application.py b/Praktikum2/ppm1/app/application.py new file mode 100644 index 0000000..528176a --- /dev/null +++ b/Praktikum2/ppm1/app/application.py @@ -0,0 +1,284 @@ +import cherrypy +from .database import Database_cl +from .view import View_cl +import collections +orderedDict = collections.OrderedDict() +from collections import OrderedDict + +#---------------------------------------------------------- +class Application_cl(object): +#---------------------------------------------------------- + +#------------------------------------------------------- +# Request Processing +#------------------------------------------------------- + + #------------------------------------------------------- + def __init__(self): + #------------------------------------------------------- + # spezielle Initialisierung können hier eingetragen werden + self.db = Database_cl() + self.view = View_cl() + @cherrypy.expose + + #------------------------------------------------------- + def index(self): + #------------------------------------------------------- + print("Index\n") + return self.GenerateIndex() + @cherrypy.expose + + #------------------------------------------------------- + def category(self, cat=None): + #------------------------------------------------------- + print("Category: ", cat, "\n") + if(cat==None): + return self.GenerateIndex() + else: + return self.GenerateList(cat) + @cherrypy.expose + + #------------------------------------------------------- + def choice(self): + #------------------------------------------------------- + print("Choice \n") + return self.GenerateListChoice() + @cherrypy.expose + + #------------------------------------------------------- + def eval(self, cat): + #------------------------------------------------------- + print("Eval \n") + self.db.CheckDates() + return self.GenerateListEval(cat) + @cherrypy.expose + + #------------------------------------------------------- + def detail(self, cat=None, id=None): + #------------------------------------------------------- + if(cat!=None): + if(id!=None): + print("Cat=", cat, " id=", id) + return self.GenerateDetail(cat, id) + else: + print("ID=None Cat=", cat) + return self.GenerateDetail(cat) + else: + return self.GenerateIndex() + @cherrypy.expose + + #------------------------------------------------------- + def detailchoice(self, id): + #------------------------------------------------------- + print("id=", id) + return self.GenerateDetailChoice(id) + + @cherrypy.expose + + #------------------------------------------------------- + def save(self, cat=None, **data): + #------------------------------------------------------- + print("Save: ", cat) + dataTmp = data + return self.GenerateSave(dataTmp, cat) + @cherrypy.expose + + #------------------------------------------------------- + def saveChoice(self, **data): + #------------------------------------------------------- + print("Save: Choice") + dataTmp = data + return self.GenerateSaveChoice(dataTmp) + @cherrypy.expose + + #------------------------------------------------------- + def delete(self, cat=None, id=None): + #------------------------------------------------------- + print("Delete",cat,id) + return self.GenerateDelete(cat, id) + @cherrypy.expose + + #------------------------------------------------------- + def default(self, *arguments, **kwargs): + #------------------------------------------------------- + msg_s = "unbekannte Anforderung: " + \ + str(arguments) + \ + ''+ \ + str(kwargs) + raise cherrypy.HTTPError(404, msg_s) + default.exposed= True + +#------------------------------------------------------- +# Functions +#------------------------------------------------------- + + #------------------------------------------------------- + def GenerateIndex(self): + #------------------------------------------------------- + return self.view.CreateIndex() + + #------------------------------------------------------- + def GenerateList(self, category): + #------------------------------------------------------- + self.db.ReadAll() + data = {} + data['content'] = {} + data['headings'] = {} + data['category'] = category + data['content'] = self.db.data[category] + if(len(data['content']) != 0): + print(len(data['content'])) + contentFirst = list(data['content'].keys())[0] + data['headings'] = list(data['content'][contentFirst].keys()) + print(data) + return self.view.CreateList(data) + + #------------------------------------------------------- + def GenerateListChoice(self): + #------------------------------------------------------- + self.db.ReadAll() + data = {} + data['content'] = {} + offerings = self.db.data['Angebote'] + for key, value in offerings.items(): + for key2, value2 in value.items(): + if(key2 == 'Status'): + if(value2 == 'Angebot'): + data['content'][key] = value + + print(data) + return self.view.CreateListChoice(data) + + #------------------------------------------------------- + def GenerateDetail(self, category, id=None): + #------------------------------------------------------- + self.db.ReadAll() + data = {} + data['category'] = category + print("Detail",category,id) + if(id != None): + data['id'] = id + data['content'] = self.db.ReadEntry(category, id) + else: + data['id'] = None + data['content'] = self.db.GetDefault(category) + print(data['content']) + if(category == 'Angebote'): + print("Angebote") + data['Firmen'] = self.db.data['Firmen'] + print(data, "\n") + return self.view.CreateDetail(data) + + #------------------------------------------------------- + def GenerateDetailChoice(self, id): + #------------------------------------------------------- + self.db.ReadAll() + data = {} + data['id'] = id + data = self.db.data['Angebote'][id] + data['Studenten'] = self.db.data['Studenten'] + data['Lehrender'] = self.db.data['Lehrender'] + print(data, "\n") + return self.view.CreateDetailChoice(data) + + #------------------------------------------------------- + def GenerateListEval(self, cat): + #------------------------------------------------------- + self.db.ReadAll() + data = {} + Studenten = self.db.data['Studenten'] + Lehrender = self.db.data['Lehrender'] + Firmen = self.db.data['Firmen'] + Angebote = self.db.data['Angebote'] + + data['category'] = cat + if(cat == 'Firmen'): + for keyFirma, valueFirma in sorted(Firmen.items()): + data[valueFirma['Name']] = {} + data[valueFirma['Name']]['Name'] = valueFirma['Name'] + data[valueFirma['Name']]['Angebote'] = {} + data[valueFirma['Name']]['Angebote']['Angebot'] = {} + data[valueFirma['Name']]['Angebote']['aktuell'] = {} + data[valueFirma['Name']]['Angebote']['abgeschlossen'] = {} + for keyAngebote, valueAngebote in Angebote.items(): + if(valueAngebote['Firma'] == valueFirma['Name']): + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']] = {} + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Name'] = valueAngebote['Name'] + if(valueAngebote['Student'] != ''): + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = Studenten[valueAngebote['Student']]['Name'] + else: + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = '' + if(valueAngebote['Lehrender'] != ''): + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = Lehrender[valueAngebote['Lehrender']]['Name'] + else: + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = '' + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumVon'] = valueAngebote['ZeitraumVon'] + data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumBis'] = valueAngebote['ZeitraumBis'] + print(data) + return self.view.CreateListEval(data) + elif(cat == 'Studenten'): + for keyStudent, valueStudent in Studenten.items(): + data[valueStudent['Name']] = {} + data[valueStudent['Name']]['Angebote'] = {} + data[valueStudent['Name']]['Angebote']['Angebot'] = {} + data[valueStudent['Name']]['Angebote']['aktuell'] = {} + data[valueStudent['Name']]['Angebote']['abgeschlossen'] = {} + for keyAngebot, valueAngebot in Angebote.items(): + if(valueAngebot['Student'] == valueStudent['id']): + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {} + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Lehrender'] = Lehrender[valueAngebot['Lehrender']]['Name'] + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status'] + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name'] + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma'] + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon'] + data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis'] + elif(cat == 'Lehrender'): + for keyLehrende, valueLehrende in Lehrender.items(): + data[valueLehrende['Name']] = {} + data[valueLehrende['Name']]['Angebote'] = {} + data[valueLehrende['Name']]['Angebote']['Angebot'] = {} + data[valueLehrende['Name']]['Angebote']['aktuell'] = {} + data[valueLehrende['Name']]['Angebote']['abgeschlossen'] = {} + for keyAngebot, valueAngebot in Angebote.items(): + if(valueAngebot['Lehrender'] == valueLehrende['id']): + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {} + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Student'] = Studenten[valueAngebot['Student']]['Name'] + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status'] + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name'] + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma'] + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon'] + data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis'] + + return self.view.CreateListEval(data) + + + #------------------------------------------------------- + def GenerateSave(self, dataTmp, category): + #------------------------------------------------------- + if(category == None): + return self.view.CreateIndex() + else: + self.db.Save(dataTmp, category) + return self.GenerateList(category) + + #------------------------------------------------------- + def GenerateSaveChoice(self, dataTmp): + #------------------------------------------------------- + if(dataTmp['Student'] != ''): + angebote = self.db.CheckOfferings(dataTmp['Student']) + print(angebote) + if(angebote == 0): + print("Save") + self.db.Save(dataTmp, 'Angebote') + return self.GenerateListChoice() + + #------------------------------------------------------- + def GenerateDelete(self, category, id): + #------------------------------------------------------- + if(category == None or id == None): + return self.view.CreateIndex() + else: + self.db.Delete(category, id) + return self.GenerateList(category) + +#EOF \ No newline at end of file diff --git a/Praktikum2/ppm1/app/database.py b/Praktikum2/ppm1/app/database.py new file mode 100644 index 0000000..41e1ca2 --- /dev/null +++ b/Praktikum2/ppm1/app/database.py @@ -0,0 +1,189 @@ +# coding: utf-8 + +import os +import os.path +import codecs +import json +from datetime import datetime, timedelta + +#---------------------------------------------------------- +class Database_cl(object): +#---------------------------------------------------------- + # da es hier nur darum geht, die Daten dauerhaft zu speichern, + # wird ein sehr einfacher Ansatz verwendet: + # - es können Daten zu genau 15 Teams gespeichert werden + # - je Team werden 2 Teilnehmer mit Namen, Vornamen und Matrikelnummer + # berücksichtigt + # - die Daten werden als eine JSON-Datei abgelegt + + + #------------------------------------------------------- + def __init__(self): + #------------------------------------------------------- + self.data = {} + self.data['Studenten'] = {} + self.data['Lehrender'] = {} + self.data['Firmen'] = {} + self.data['Angebote'] = {} + self.ReadAll() + + + #------------------------------------------------------- + def Read(self, category): + #------------------------------------------------------- + path = 'data/' + category + if not(os.path.exists(path)): + os.makedirs(path) + categoryDir = os.listdir(path) + for fileName in categoryDir: + if fileName.endswith('.json') and fileName != 'last.json': + file = codecs.open(os.path.join('data', category, fileName), 'rU', 'utf-8') + fileContent = file.read() + id = fileName[:-5] + self.data[category][id] = json.loads(fileContent) + + #------------------------------------------------------- + def ReadAll(self): + #------------------------------------------------------- + self.Read('Studenten') + self.Read('Lehrender') + self.Read('Firmen') + self.Read('Angebote') + + #------------------------------------------------------- + def ReadEntry(self, category = None, id = None): + #------------------------------------------------------- + print("ReadEntry: ", category, id) + self.Read(category) + data = None + if id == None: + data = self.data + else: + if id in self.data[category]: + data = self.data[category][id] + + print(data, "\n") + return data + + #------------------------------------------------------- + def Save(self, data, category): + #------------------------------------------------------- + status_b = False + id = data['id'] + print("ID: ", id, "\n") + if(id != "None"): + if id in self.data[category]: + file = codecs.open(os.path.join('data', category, id+'.json'), 'w', 'utf-8') + file.write(json.dumps(data, indent=3, ensure_ascii=True)) + file.close() + self.Read(category) + status_b = True + else: + data['id'] = self.IdNext(category) + file = codecs.open(os.path.join('data', category, data['id']+'.json'), 'w', 'utf-8') + file.write(json.dumps(data, indent=3, ensure_ascii=True)) + file.close() + self.Read(category) + status_b = True + + return status_b + + #------------------------------------------------------- + def Delete(self, category, id): + #------------------------------------------------------- + status_b = False + if(category == 'Studenten'): + for angebote in self.data['Angebote']: + if(self.data['Angebote'][angebote]['Student'] == id): + try: + os.remove(os.path.join('data', 'Angebote', angebote+'.json')) + except OSError: + pass + elif(category == 'Lehrender'): + for angebote in self.data['Angebote']: + if(self.data['Angebote'][angebote]['Lehrender'] == id): + try: + os.remove(os.path.join('data', 'Angebote', angebote+'.json')) + except OSError: + pass + elif(category == 'Firmen'): + for firmen in self.data['Firmen']: + if(firmen == id): + fn = self.data['Firmen'][firmen]['Name'] + for angebote in self.data['Angebote']: + if(self.data['Angebote'][angebote]['Firma'] == fn): + try: + os.remove(os.path.join('data', 'Angebote', angebote+'.json')) + except OSError: + pass + + if id in self.data[category]: + os.remove(os.path.join('data', category, id+'.json')) + del self.data[category][id] + + return status_b + + #------------------------------------------------------- + def CheckOfferings(self, id): + #------------------------------------------------------- + print("Offerings: ", id) + for offerings in self.data['Angebote']: + if(self.data['Angebote'][offerings]['Student'] != id): + return 0 + else: + return 1 + + #------------------------------------------------------- + def CheckDates(self): + #------------------------------------------------------- + now = datetime.now() + for offerings in self.data['Angebote']: + if(self.data['Angebote'][offerings]['ZeitraumBis'] != ''): + zeitraumBis = datetime.strptime(self.data['Angebote'][offerings]['ZeitraumBis'], "%d.%m.%Y") + if(zeitraumBis <= now): + self.data['Angebote'][offerings]['Status'] = 'abgeschlossen' + data = {} + data['Status'] = 'abgeschlossen' + data['id'] = offerings + data['Name'] = self.data['Angebote'][offerings]['Name'] + data['Firma'] = self.data['Angebote'][offerings]['Firma'] + data['Beschreibung'] = self.data['Angebote'][offerings]['Beschreibung'] + data['Voraussetzungen'] = self.data['Angebote'][offerings]['Voraussetzungen'] + data['Firmenbetreuer'] = self.data['Angebote'][offerings]['Firmenbetreuer'] + data['Lehrender'] = self.data['Angebote'][offerings]['Lehrender'] + data['ZeitraumVon'] = self.data['Angebote'][offerings]['ZeitraumVon'] + data['ZeitraumBis'] = self.data['Angebote'][offerings]['ZeitraumBis'] + data['Student'] = self.data['Angebote'][offerings]['Student'] + self.Save(data, 'Angebote') + + #------------------------------------------------------- + def GetDefault(self, category): + #------------------------------------------------------- + if(category == 'Studenten'): + return {'Name':'', 'Vorname':'', 'Matrikelnummer':''} + elif(category == 'Lehrender'): + return {'Titel':'', 'Name':'', 'Vorname':'', 'Lehrgebiet':''} + elif(category == 'Firmen'): + return {'Name':'', 'Branche':'', 'Schwerpunkt':'', 'Sitz':'', 'Anzahl Mitarbeiter':''} + elif(category == 'Angebote'): + return {'Name':'', 'Firma':'', 'Beschreibung':'', 'Voraussetzungen':'', 'Firmenbetreuer':'', 'Status':'Angebot', 'Lehrender':'', 'ZeitraumVon':'', 'ZeitraumBis':'', 'Student':''} + + #------------------------------------------------------- + def IdNext(self, category): + #------------------------------------------------------- + path = 'data/' + category + '/last.json' + if(os.path.isfile(path)): + file = open(os.path.join('data', category, 'last.json'), 'r+') + last = file.read() + last = str(int(last)+1) + file.seek(0) + file.write(last) + file.close() + else: + file = open(os.path.join('data', category, 'last.json'), 'w+') + last = str(int(0)) + file.write(last) + file.close() + return last + +# EOF \ No newline at end of file diff --git a/Praktikum2/ppm1/app/view.py b/Praktikum2/ppm1/app/view.py new file mode 100644 index 0000000..a481e64 --- /dev/null +++ b/Praktikum2/ppm1/app/view.py @@ -0,0 +1,52 @@ +import os.path +from mako.template import Template +from mako.lookup import TemplateLookup + +#---------------------------------------------------------- +class View_cl(object): +#---------------------------------------------------------- + + #------------------------------------------------------- + def __init__(self): + #------------------------------------------------------- + self.path = 'templates' + self.lookup = TemplateLookup(directories=['/']) + + #------------------------------------------------------- + def Create(self, template, data): + #------------------------------------------------------- + print("CreateView\n") + template = Template(filename=os.path.join(self.path, template), output_encoding='utf-8', lookup=self.lookup) + return template.render(data = data) + + #------------------------------------------------------- + def CreateIndex(self): + #------------------------------------------------------- + print("CreateIndex\n") + data = None + return self.Create('index.tpl', data) + + #------------------------------------------------------- + def CreateList(self, data): + #------------------------------------------------------- + return self.Create('list.tpl', data) + + #------------------------------------------------------- + def CreateListChoice(self, data): + #------------------------------------------------------- + return self.Create('listChoice.tpl', data) + + #------------------------------------------------------- + def CreateListEval(self, data): + #------------------------------------------------------- + return self.Create('listEval.tpl', data) + + #------------------------------------------------------- + def CreateDetail(self, data): + #------------------------------------------------------- + return self.Create('detail.tpl', data) + + #------------------------------------------------------- + def CreateDetailChoice(self, data): + #------------------------------------------------------- + return self.Create('detailChoice.tpl', data) \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Angebote/23.json b/Praktikum2/ppm1/data/Angebote/23.json new file mode 100644 index 0000000..b28de59 --- /dev/null +++ b/Praktikum2/ppm1/data/Angebote/23.json @@ -0,0 +1,13 @@ +{ + "Name": "Angebot IBM 1", + "ZeitraumBis": "01.01.2018", + "id": "23", + "Firmenbetreuer": "Sepp Meine", + "Firma": "IBM", + "Voraussetzungen": "Keine", + "Lehrender": "7", + "Status": "aktuell", + "Beschreibung": "Praxisphasenplatz bei IBM", + "ZeitraumVon": "01.01.2017", + "Student": "9" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Angebote/26.json b/Praktikum2/ppm1/data/Angebote/26.json new file mode 100644 index 0000000..f2fd625 --- /dev/null +++ b/Praktikum2/ppm1/data/Angebote/26.json @@ -0,0 +1,13 @@ +{ + "id": "26", + "ZeitraumVon": "02.02.2019", + "Firma": "Apple", + "Student": "10", + "Beschreibung": "Beschreibung", + "Name": "Name", + "Lehrender": "5", + "Firmenbetreuer": "Firmenbetreuer3", + "Voraussetzungen": "Kein", + "Status": "aktuell", + "ZeitraumBis": "02.02.2020" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Angebote/27.json b/Praktikum2/ppm1/data/Angebote/27.json new file mode 100644 index 0000000..c1e9b49 --- /dev/null +++ b/Praktikum2/ppm1/data/Angebote/27.json @@ -0,0 +1,13 @@ +{ + "id": "27", + "Voraussetzungen": "Keine", + "Lehrender": "5", + "Status": "abgeschlossen", + "Firmenbetreuer": "Horst", + "Beschreibung": "Praxisphase Apple", + "ZeitraumVon": "02.02.2002", + "Student": "11", + "Name": "Angebot Apple 2", + "Firma": "Apple", + "ZeitraumBis": "02.02.2003" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Angebote/30.json b/Praktikum2/ppm1/data/Angebote/30.json new file mode 100644 index 0000000..31c0e32 --- /dev/null +++ b/Praktikum2/ppm1/data/Angebote/30.json @@ -0,0 +1,13 @@ +{ + "ZeitraumBis": "", + "Firmenbetreuer": "firmenbetreuer", + "id": "30", + "ZeitraumVon": "", + "Name": "name", + "Beschreibung": "beschreibung", + "Student": "", + "Lehrender": "", + "Status": "Angebot", + "Voraussetzungen": "voraussetzungen", + "Firma": "IBM" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Angebote/last.json b/Praktikum2/ppm1/data/Angebote/last.json new file mode 100644 index 0000000..a5c750f --- /dev/null +++ b/Praktikum2/ppm1/data/Angebote/last.json @@ -0,0 +1 @@ +27 \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Firmen/4.json b/Praktikum2/ppm1/data/Firmen/4.json new file mode 100644 index 0000000..98b84ab --- /dev/null +++ b/Praktikum2/ppm1/data/Firmen/4.json @@ -0,0 +1,8 @@ +{ + "id": "4", + "Branche": "IT", + "Sitz": "Cupertino", + "Schwerpunkt": "Informatik", + "Anzahl Mitarbeiter": "110000", + "Name": "Apple" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Firmen/5.json b/Praktikum2/ppm1/data/Firmen/5.json new file mode 100644 index 0000000..28aecae --- /dev/null +++ b/Praktikum2/ppm1/data/Firmen/5.json @@ -0,0 +1,8 @@ +{ + "id": "5", + "Branche": "IT", + "Sitz": "Redmond", + "Schwerpunkt": "Informatik", + "Anzahl Mitarbeiter": "114000", + "Name": "Microsoft" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Firmen/6.json b/Praktikum2/ppm1/data/Firmen/6.json new file mode 100644 index 0000000..cd2cba7 --- /dev/null +++ b/Praktikum2/ppm1/data/Firmen/6.json @@ -0,0 +1,8 @@ +{ + "id": "6", + "Branche": "IT", + "Sitz": "Armonk", + "Schwerpunkt": "Elektrotechnik", + "Anzahl Mitarbeiter": "377000", + "Name": "IBM" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Firmen/last.json b/Praktikum2/ppm1/data/Firmen/last.json new file mode 100644 index 0000000..62f9457 --- /dev/null +++ b/Praktikum2/ppm1/data/Firmen/last.json @@ -0,0 +1 @@ +6 \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Lehrender/5.json b/Praktikum2/ppm1/data/Lehrender/5.json new file mode 100644 index 0000000..cee342e --- /dev/null +++ b/Praktikum2/ppm1/data/Lehrender/5.json @@ -0,0 +1,7 @@ +{ + "Titel": "Prof", + "id": "5", + "Lehrgebiet": "Informatik", + "Name": "Heiner", + "Vorname": "Theodor" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Lehrender/6.json b/Praktikum2/ppm1/data/Lehrender/6.json new file mode 100644 index 0000000..bb4eb50 --- /dev/null +++ b/Praktikum2/ppm1/data/Lehrender/6.json @@ -0,0 +1,7 @@ +{ + "Titel": "Prof Dr", + "id": "6", + "Lehrgebiet": "Elektrotechnik", + "Name": "Anton", + "Vorname": "Emanuel" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Lehrender/7.json b/Praktikum2/ppm1/data/Lehrender/7.json new file mode 100644 index 0000000..2f4b91f --- /dev/null +++ b/Praktikum2/ppm1/data/Lehrender/7.json @@ -0,0 +1,7 @@ +{ + "Titel": "Prof", + "id": "7", + "Lehrgebiet": "Informatik", + "Name": "Adalbert", + "Vorname": "Bastian" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Lehrender/8.json b/Praktikum2/ppm1/data/Lehrender/8.json new file mode 100644 index 0000000..62b79b3 --- /dev/null +++ b/Praktikum2/ppm1/data/Lehrender/8.json @@ -0,0 +1,7 @@ +{ + "Titel": "Dr", + "id": "8", + "Lehrgebiet": "Elektrotechnik", + "Name": "Leberecht", + "Vorname": "Egon" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Lehrender/last.json b/Praktikum2/ppm1/data/Lehrender/last.json new file mode 100644 index 0000000..ca7bf83 --- /dev/null +++ b/Praktikum2/ppm1/data/Lehrender/last.json @@ -0,0 +1 @@ +13 \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/10.json b/Praktikum2/ppm1/data/Studenten/10.json new file mode 100644 index 0000000..31ac8db --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/10.json @@ -0,0 +1,6 @@ +{ + "Vorname": "Timo", + "Name": "Ben", + "Matrikelnummer": "3", + "id": "10" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/11.json b/Praktikum2/ppm1/data/Studenten/11.json new file mode 100644 index 0000000..2ccc813 --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/11.json @@ -0,0 +1,6 @@ +{ + "Vorname": "Korbinian", + "Name": "Moritz", + "Matrikelnummer": "6", + "id": "11" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/12.json b/Praktikum2/ppm1/data/Studenten/12.json new file mode 100644 index 0000000..406f91d --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/12.json @@ -0,0 +1,6 @@ +{ + "Vorname": "Alfons", + "Name": "Meine", + "Matrikelnummer": "4", + "id": "12" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/13.json b/Praktikum2/ppm1/data/Studenten/13.json new file mode 100644 index 0000000..e463503 --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/13.json @@ -0,0 +1,6 @@ +{ + "id": "13", + "Name": "Edmund", + "Vorname": "Adalbert", + "Matrikelnummer": "1" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/9.json b/Praktikum2/ppm1/data/Studenten/9.json new file mode 100644 index 0000000..a4bd70d --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/9.json @@ -0,0 +1,6 @@ +{ + "Vorname": "Gregor", + "Name": "Klemens", + "Matrikelnummer": "2", + "id": "9" +} \ No newline at end of file diff --git a/Praktikum2/ppm1/data/Studenten/last.json b/Praktikum2/ppm1/data/Studenten/last.json new file mode 100644 index 0000000..da2d398 --- /dev/null +++ b/Praktikum2/ppm1/data/Studenten/last.json @@ -0,0 +1 @@ +14 \ No newline at end of file diff --git a/Praktikum2/ppm1/doc/documentation.html b/Praktikum2/ppm1/doc/documentation.html new file mode 100644 index 0000000..7387d6d --- /dev/null +++ b/Praktikum2/ppm1/doc/documentation.html @@ -0,0 +1,127 @@ + + + + + + + + + + + +

Web-Praktikum Gruppe A

+

Kai Wansart und Felix Hoster

+

16.11.2016

+

Beschreibung der Lösung

+

Aufgabe der Anwendung:

+
    +
  • eine Ünterstützung der Betreuung von Praxisphasen mit einer Web-Anwendung zu erstellen
  • +
  • Praxisphasen werden von externen Partnern (Firmen) angeboten
  • +
  • Studenten können diese Angebote nutzen, wenn sie einen Lehrenden als Betreuer finden
  • +
+

Übersicht der fachlichen Funktion:

+
    +
  • Datenpflege Studenten: +
      +
    • Eine Liste mit allen erstellten Studenten (Name, Vorname, Matrikelnummer)
    • +
  • +
  • Datenpflege Lehrende: +
      +
    • Eine Übersicht mit allen Lehrenden (Name, Titel, Lehrgebiet)
    • +
  • +
  • Datenpflege Firmenverzeichniss: +
      +
    • Eine Liste mit einer kleinen Übersicht über einzelne Firmen (Schwerpunkt, Sitz, Name, Branche, Mitarbeiteranzahl)
    • +
  • +
  • Datenpflege Praxisphase: +
      +
    • Erhält man eine kurze Übersicht über Angebote für die Studenten (Firmenbetreuer, Beschreibung, Name, Voraussetzung, Firma)
    • +
  • +
  • Auswahl Praxisphasen: +
      +
    • Dort können die Studenten mit einem Professor sich eine Praxisphase aussuchen
    • +
  • +
  • Auswertung Firma: +
      +
    • Hier werden die Firmen bewertet, die ein Angebot für die Praxisphase bewertet
    • +
  • +
  • Auswertung Praxisphasen nach Studenten: +
      +
    • Hier sieht man die Bewertung der Studenten über die einzelnen Angebote
    • +
  • +
  • Auswertung Praxisphase nach Betreuern: +
      +
    • Hier sieht man die Bewertung der Praxisphasen - Betreuer
    • +
  • +
+

Beschreibung des Servers

+

Zweck

+
    +
  • Verwaltung von Praxisphasen, für Studenten, Lehrende, und Firmen
  • +
  • Anbieten von Praxisphasenangeboten
  • +
  • Auswertung von aktuellen und vergangenen Praxisphasenangeboten
  • +
+

Aufbau (Bestandteile der Komponente)

+
    +
  • Application +
      +
    • Annahme von Anfragen durch den Webbrowser
    • +
    • Weiterleitung an die jeweiligen Komponenten
    • +
  • +
  • Database +
      +
    • Einlesen, Speicherung, Bearbeitung und Löschung von Datensätzen
    • +
  • +
  • View +
      +
    • Verarbeiten der Templates mit den gegebenen Daten
    • +
  • +
+

Zusammenwirken mit anderen Komponenten

+

API (Programmierschnittstellen), die die Leistung der Komponente anbieten

+
    +
  • index +
      +
    • Startseite
    • +
  • +
  • category +
      +
    • Darstellung der Kategorien
    • +
  • +
  • choice +
      +
    • Darstellung der Praxisphasenauswahl
    • +
  • +
  • eval +
      +
    • Darstellung der Auswertungen
    • +
  • +
  • detail +
      +
    • Darstellung der Detailansicht für die Kategorien
    • +
  • +
  • detailchoice +
      +
    • Darstellung der Detailansicht für die Praxisphasenauswahl
    • +
  • +
  • save +
      +
    • Speichern der Detailansicht für die Kategorien
    • +
  • +
  • savechoice +
      +
    • Speichern der Detailansicht für die Praxisphasenauswahl
    • +
  • +
  • delete +
      +
    • Löschen eines Eintrags aus der Datenbank
    • +
  • +
  • default +
      +
    • Fehlerdarstellung
    • +
  • +
+ + diff --git a/Praktikum2/ppm1/doc/documentation.md b/Praktikum2/ppm1/doc/documentation.md new file mode 100644 index 0000000..27141f1 --- /dev/null +++ b/Praktikum2/ppm1/doc/documentation.md @@ -0,0 +1,36 @@ +# Web-Praktikum Gruppe K +## Kai Wansart und Felix Hoster +### 16.11.2016 + +## Beschreibung der Lösung +### Aufgabe der Anwendung: +Die Praktikumsaufgabe war, eine Ünterstützung der Betreuung von Praxisphasen mit einer Web-Anwendung zu erstellen. Praxisphasen werden +von externen Partnern (Firmen) angeboten, Studenten können diese Angebote nutzen, wenn sie einen Lehrenden als Betreuer +finden + + #### Übersicht der fachlichen Funktion + - Datenpflege Studenten: Eine Liste mit allen erstellten Studenten (Name, Vorname, Matrikelnummer) + - Datenpflege Lehrende: Eine Übersicht mit allen Lehrenden (Name, Titel, Lehrgebiet) + - Datenpflege Firmenverzeichniss: Eine Liste mit einer kleinen Übersicht über einzelne Firmen (Schwerpunkt, Sitz, Name, Branche, Mitarbeiteranzahl) + - Datenpflege Praxisphase: Erhält man eine kurze Übersicht über Angebote für die Studenten (Firmenbetreuer, Beschreibung, Name, Voraussetzung, Firma) + - Auswahl Praxisphasen: Dort können die Studenten mit einem Professor sich eine Praxisphase aussuchen + - Auswertung Firma: Hier werden die Firmen bewertet, die ein Angebot für die Praxisphase bewertet + - Auswertung Praxisphasen nach Studenten: Hier sieht man die Bewertung der Studenten über die einzelnen Angebote + - Auswertung Praxisphase nach Betreuern: Hier sieht man die Bewertung der Praxisphasen - Betreuer + + +## Beschreibung des Servers +#### Zweck + +#### Aufbau (Bestandteile der Komponente) + +#### Zusammenwirken mit anderen Komponenten + +#### API (Programmierschnittstellen), die die Leistung der Komponente anbieten + +## Datenablage +Die Daten werden mittels der Kategorie abgespeichert, die als Variable behandelt wird. Mit dieser Variable wird die Datei immer wieder neu gespeichert, wenn etwas gelöscht bzw. geändert wird. Das Format der Datei ist eine JSON-Datei, die im Ordner 'Data' und der darauffolgenden Kategorie abgespeichert wird. + +## Konfiguration + +## Durchführung und Ergebnis der geforderten Prüfungen \ No newline at end of file diff --git a/Praktikum2/ppm1/server.py b/Praktikum2/ppm1/server.py new file mode 100644 index 0000000..4e64056 --- /dev/null +++ b/Praktikum2/ppm1/server.py @@ -0,0 +1,45 @@ +#coding: utf-8 + +import os +import cherrypy +from app import application + +#-------------------------------------- +def main(): +#-------------------------------------- + + # Get current directory + try: + current_dir = os.path.dirname(os.path.abspath(__file__)) + except: + current_dir = os.path.dirname(os.path.abspath(sys.executable)) + + # disable autoreload and timeout_monitor + cherrypy.engine.autoreload.unsubscribe() + cherrypy.engine.timeout_monitor.unsubscribe() + + # Static content config + static_config = { + '/': { + 'tools.staticdir.root': current_dir, + 'tools.staticdir.on': True, + 'tools.staticdir.dir': './static' + } + } + + # Mount static content handler + root_o = cherrypy.tree.mount(application.Application_cl(), '/', static_config) + + # suppress traceback-info + cherrypy.config.update({'request.show_tracebacks': False}) + + # Start server + cherrypy.engine.start() + cherrypy.engine.block() + +#-------------------------------------- +if __name__ == '__main__': +#-------------------------------------- + main() + +# EOF \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functions.js b/Praktikum2/ppm1/static/functions.js new file mode 100644 index 0000000..20acdea --- /dev/null +++ b/Praktikum2/ppm1/static/functions.js @@ -0,0 +1,46 @@ +var table = document.getElementById('idList'); +var selected = table.getElementsByClassName('selected'); +var selectedId = 'None'; +table.onclick = highlight; + +function select(category, mode) { + var id = selectedId; + if (id == 'None') + { + alert("Kein Eintrag ausgewaehlt!"); + } + else + { + if(mode == 0) { + window.location.href = '/detail/?cat=' + category + '&id=' + id; + } + if(mode == 1) { + var result = confirm("Sind Sie sicher, dass der Eintrag gelöscht werden soll?"); + if(result) { + window.location.href = '/delete/?cat=' + category + '&id=' + id; + return true; + } + else { + return false; + } + } + if(mode == 2) { + var result = confirm("Sind Sie sicher, dass das Angebot angenommen werden soll?"); + if(result) { + window.location.href = '/detailchoice/?id=' + id; + return true; + } + else { + return false; + } + } + } +} + + +function highlight(e) { + if (selected[0]) selected[0].className = ''; + e.target.parentNode.className = 'selected'; + var tr = e.target.parentNode; + selectedId = tr.getAttribute('id'); +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functionsAngebote.js b/Praktikum2/ppm1/static/functionsAngebote.js new file mode 100644 index 0000000..967dc07 --- /dev/null +++ b/Praktikum2/ppm1/static/functionsAngebote.js @@ -0,0 +1,33 @@ +window.onload = function () { + document.getElementById("idList").onclick = function (event_opl) { + if (event_opl.target.tagName.toLowerCase() == 'td') { + id = event_opl.target.parentNode.id; + if (id != "") { + document.getElementById(id).className = ""; + } + + + console.log(id); + document.getElementById(id).className = "selected"; + } + } + + document.getElementById("New").onclick = function (event_opl) { + window.location.href = "/detail/?cat=Angebote" ; + } + + + document.getElementById("Modify").onclick = function (event_opl) { + if (id != "") + window.location.href = "/detail/?cat=Angebote&id=" + id; + } + + document.getElementById("Delete").onclick = function (event_opl) { + if (id != "") + if (confirm("Soll der Eintrag wirklich geloescht werden?")) { + window.location.href = "/delete/?cat=Angebote&id=" + id; + } + + } + +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functionsChoice.js b/Praktikum2/ppm1/static/functionsChoice.js new file mode 100644 index 0000000..ee7b3fa --- /dev/null +++ b/Praktikum2/ppm1/static/functionsChoice.js @@ -0,0 +1,19 @@ +window.onload = function () { + document.getElementById("idList").onclick = function (event_opl) { + if (event_opl.target.tagName.toLowerCase() == 'td') { + id = event_opl.target.parentNode.id; + if (id != "") { + document.getElementById(id).className = ""; + } + + + console.log(id); + document.getElementById(id).className = "selected"; + } + } + + document.getElementById("Annehmen").onclick = function (event_opl) { + if (id != "") + window.location.href = "/detailchoice/?id=" + id; + } +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functionsFirmen.js b/Praktikum2/ppm1/static/functionsFirmen.js new file mode 100644 index 0000000..c52c68f --- /dev/null +++ b/Praktikum2/ppm1/static/functionsFirmen.js @@ -0,0 +1,33 @@ +window.onload = function () { + document.getElementById("idList").onclick = function (event_opl) { + if (event_opl.target.tagName.toLowerCase() == 'td') { + id = event_opl.target.parentNode.id; + if (id != "") { + document.getElementById(id).className = ""; + } + + + console.log(id); + document.getElementById(id).className = "selected"; + } + } + + document.getElementById("New").onclick = function (event_opl) { + window.location.href = "/detail/?cat=Firmen" ; + } + + + document.getElementById("Modify").onclick = function (event_opl) { + if (id != "") + window.location.href = "/detail/?cat=Firmen&id=" + id; + } + + document.getElementById("Delete").onclick = function (event_opl) { + if (id != "") + if (confirm("Soll der Eintrag wirklich geloescht werden?")) { + window.location.href = "/delete/?cat=Firmen&id=" + id; + } + + } + +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functionsLehrender.js b/Praktikum2/ppm1/static/functionsLehrender.js new file mode 100644 index 0000000..de63671 --- /dev/null +++ b/Praktikum2/ppm1/static/functionsLehrender.js @@ -0,0 +1,33 @@ +window.onload = function () { + document.getElementById("idList").onclick = function (event_opl) { + if (event_opl.target.tagName.toLowerCase() == 'td') { + id = event_opl.target.parentNode.id; + if (id != "") { + document.getElementById(id).className = ""; + } + + + console.log(id); + document.getElementById(id).className = "selected"; + } + } + + document.getElementById("New").onclick = function (event_opl) { + window.location.href = "/detail/?cat=Lehrender" ; + } + + + document.getElementById("Modify").onclick = function (event_opl) { + if (id != "") + window.location.href = "/detail/?cat=Lehrender&id=" + id; + } + + document.getElementById("Delete").onclick = function (event_opl) { + if (id != "") + if (confirm("Soll der Eintrag wirklich geloescht werden?")) { + window.location.href = "/delete/?cat=Lehrender&id=" + id; + } + + } + +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/functionsStudenten.js b/Praktikum2/ppm1/static/functionsStudenten.js new file mode 100644 index 0000000..2136ca2 --- /dev/null +++ b/Praktikum2/ppm1/static/functionsStudenten.js @@ -0,0 +1,33 @@ +window.onload = function () { + document.getElementById("idList").onclick = function (event_opl) { + if (event_opl.target.tagName.toLowerCase() == 'td') { + id = event_opl.target.parentNode.id; + if (id != "") { + document.getElementById(id).className = ""; + } + + + console.log(id); + document.getElementById(id).className = "selected"; + } + } + + document.getElementById("New").onclick = function (event_opl) { + window.location.href = "/detail/?cat=Studenten" ; + } + + + document.getElementById("Modify").onclick = function (event_opl) { + if (id != "") + window.location.href = "/detail/?cat=Studenten&id=" + id; + } + + document.getElementById("Delete").onclick = function (event_opl) { + if (id != "") + if (confirm("Soll der Eintrag wirklich geloescht werden?")) { + window.location.href = "/delete/?cat=Studenten&id=" + id; + } + + } + +} \ No newline at end of file diff --git a/Praktikum2/ppm1/static/img/logo.png b/Praktikum2/ppm1/static/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..40801c4b4bd2a14d340f9497e9b39c2134e65d30 GIT binary patch literal 99422 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

;>)*B@H{j2JYxQ=;%(zOo^ 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

+ Praxisphasenmanager (PPM) +

+ +
+

+ ${data['category']}: Ihre Daten +

+
+ + + % if data['category'] != 'Angebote': + % for field in data['content']: + % if field!='id' and field!='Status': +
+ + + % else: + "" id="${field}" name="${field}" /> + % endif +
+ % endif + % endfor + % else: + + + + + + % for field in data['content']: + % if field!='id' and field!='Status' and field!='ZeitraumVon' and field!='ZeitraumBis' and field!='Lehrender' and field!='Student': +
+ + % if field!='Firma': + + % else: + "" id="${field}" name="${field}" /> + % endif + % else: + + % endif +
+ % endif + % endfor + % endif + + +
+
+ + \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/detailChoice.tpl b/Praktikum2/ppm1/templates/detailChoice.tpl new file mode 100644 index 0000000..1451eae --- /dev/null +++ b/Praktikum2/ppm1/templates/detailChoice.tpl @@ -0,0 +1,66 @@ + + + + + Praxisphasenmanager (PPM) + + + + + +

+ Praxisphasenmanager (PPM) +

+ +
+

+ Praxisphasenangebots Auswahl +

+
+ + + + + + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/index.tpl b/Praktikum2/ppm1/templates/index.tpl new file mode 100644 index 0000000..e7094e5 --- /dev/null +++ b/Praktikum2/ppm1/templates/index.tpl @@ -0,0 +1,36 @@ + + + + + Praxisphasenmanager (PPM) + + + + + +

+ Praxisphasenmanager (PPM) +

+ + +
+ +
+ \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/list.tpl b/Praktikum2/ppm1/templates/list.tpl new file mode 100644 index 0000000..7cc3bce --- /dev/null +++ b/Praktikum2/ppm1/templates/list.tpl @@ -0,0 +1,76 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+

+ Übersicht: ${data['category']} +

+
+ + + + % if data['content']!= None: + % for heading in data['headings']: + % if heading!='id' and heading!='Status' and heading!='ZeitraumVon' and heading!='ZeitraumBis' and heading!='Student' and heading!='Lehrender': + + % endif + % endfor + % else: + + % endif + + % if data['content']!= None: + + % for entries in data['content']: + + % if data['category'] == 'Angebote': + % if data['content'][entries]['Status'] == 'Angebot': + % for entry in data['content'][entries]: + % if entry!='id' and entry!='Status' and entry!='ZeitraumVon' and entry!='ZeitraumBis' and entry!='Student' and entry!='Lehrender': + + % endif + % endfor + % endif + % else: + % for entry in data['content'][entries]: + % if entry!='id': + + % endif + % endfor + % endif + + % endfor + + % endif + +
${heading}Bisher kein Inhalt
${data['content'][entries][entry]}${data['content'][entries][entry]}
+
+ + +
+ +
+ +
+ \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/listChoice.tpl b/Praktikum2/ppm1/templates/listChoice.tpl new file mode 100644 index 0000000..5241c5c --- /dev/null +++ b/Praktikum2/ppm1/templates/listChoice.tpl @@ -0,0 +1,56 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+

+ Übersicht Praxisphasen Auswahl +

+
+ + + + + + + + + + % if data['content']!= None: + % for entries in data['content']: + + + + + + + + % endfor + + % endif + +
NameFirmaBeschreibungVoraussetzungenFirmenbetreuer
${data['content'][entries]['Name']}${data['content'][entries]['Firma']}${data['content'][entries]['Beschreibung']}${data['content'][entries]['Voraussetzungen']}${data['content'][entries]['Firmenbetreuer']}
+
+ + +
+ +
+
+ \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/listEval.tpl b/Praktikum2/ppm1/templates/listEval.tpl new file mode 100644 index 0000000..0bab960 --- /dev/null +++ b/Praktikum2/ppm1/templates/listEval.tpl @@ -0,0 +1,146 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+

+ Übersicht: ${data['category']} +

+
+ % if data['category'] == 'Firmen': + % for firmen in data: + % if firmen != 'category': +

${firmen}

+ + + + + + + + + % for aktuell in data[firmen]['Angebote']['aktuell']: + + + + + + + + % endfor + % for abgeschlossen in data[firmen]['Angebote']['abgeschlossen']: + + + + + + + + % endfor +
StatusStudentLehrenderZeitraum: VonZeitraum: Bis
Aktuell${data[firmen]['Angebote']['aktuell'][aktuell]['Student']}${data[firmen]['Angebote']['aktuell'][aktuell]['Lehrender']}${data[firmen]['Angebote']['aktuell'][aktuell]['ZeitraumVon']}${data[firmen]['Angebote']['aktuell'][aktuell]['ZeitraumBis']}
Abgeschlossen${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['Student']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['Lehrender']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['ZeitraumVon']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['ZeitraumBis']}
+ % endif + % endfor + % endif + + % if data['category'] == 'Studenten': + % for studenten in data: + % if studenten != 'category': +

${studenten}

+ + + + + + + + + + % for angebote in data[studenten]['Angebote']['aktuell']: + + + + + + + + + % endfor + % for angebote in data[studenten]['Angebote']['abgeschlossen']: + + + + + + + + + % endfor + + +
LehrenderFirmaPraxisphaseStatusZeitraum: VonZeitraum: Bis
${data[studenten]['Angebote']['aktuell'][angebote]['Lehrender']}${data[studenten]['Angebote']['aktuell'][angebote]['Firma']}${data[studenten]['Angebote']['aktuell'][angebote]['Praxisphase']}${data[studenten]['Angebote']['aktuell'][angebote]['Status']}${data[studenten]['Angebote']['aktuell'][angebote]['ZeitraumVon']}${data[studenten]['Angebote']['aktuell'][angebote]['ZeitraumBis']}
${data[studenten]['Angebote']['abgeschlossen'][angebote]['Lehrender']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Firma']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Praxisphase']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Status']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['ZeitraumVon']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['ZeitraumBis']}
+ % endif + % endfor + % endif + + % if data['category'] == 'Lehrender': + % for Lehrender in data: + % if Lehrender != 'category': +

${Lehrender}

+ + + + + + + + + + % if data[Lehrender] != NULL: + % for angebote in data[Lehrender]['Angebote']['aktuell']: + + + + + + + + + % endfor + % for angebote in data[Lehrender]['Angebote']['abgeschlossen']: + + + + + + + + + % endfor + % endif +
StudentFirmaPraxisphaseStatusZeitraum: VonZeitraum: Bis
${data[Lehrender]['Angebote']['aktuell'][angebote]['Student']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Firma']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Praxisphase']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Status']}${data[Lehrender]['Angebote']['aktuell'][angebote]['ZeitraumVon']}${data[Lehrender]['Angebote']['aktuell'][angebote]['ZeitraumBis']}
${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Student']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Firma']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Praxisphase']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Status']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['ZeitraumVon']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['ZeitraumBis']}
+ % endif + % endfor + % endif +
+ + +
+ +
+ +
+ \ No newline at end of file diff --git a/Praktikum2/ppm2/.vs/ppm2/v14/.suo b/Praktikum2/ppm2/.vs/ppm2/v14/.suo new file mode 100644 index 0000000000000000000000000000000000000000..9a68bf7829910e04d1b25afe857a63c7e9d93607 GIT binary patch literal 15872 zcmeHO&2Jn<7B44caY8l_KEf`WB?E-dbp}ty9|^&Mc*b@Dn3#<1kc~sqp6PKq)9&$h z_ZWM3k+ND5A+(D`g!Z-vE}Xc)i4#IX;s^+dJNySoa3$gQtD5rkv^`%vj>qh}Mz6cN zzTT@>uU@^Xdh_*Hd%t`CqX)hhp>SMm7dLM16u$|icOkw_f8Qmc_A}pf?MAuJ_Nl@Xz*rPl z#3^9UBQ_$I8njZKy$=!@WOsG$+FyT0GQ?K~jh}cIgbfN@VFEJXg#j?jlAN19|}o zz+pfV&W7Z2!=lVXMuwL0e^p0*7!`T0J?~ zU9W?;1}q>$(&J*3CuE)j>T(zp7di8Yd#YmjIRMLtvPF4q7C&jFEHj*d)knL}5?N{Q zS)jy`)~JWHIdK`Bsm7@4>E{y>>_66}&BQPXEDPub-lg7aR{mPSuVsL`ZLQGL=J=n)sOKc_9qc@8jK(NN!sf(s>Z-Cx-cyU=;uhbrnwadqg8 z(EsPq1jmel@--{h0ImWq^f9qzq4&a?R+SGwV-fm)9F5e%KMWd7&`<#9i|BPD9R&R= z?Frf$&C1`iD9g2(A>4n?ck13oz`k85vuUc^^sC1(idsW0mvk1+n{P?NSML%s74 zj)k75s`Tn7)}IyK(`^5F{_~I3O+`*2UL7Jg(ndv%o9|YenTPc}18HA?o?*Jm~Dmp{ScprX=5UoAdEh(YDR3k5;_+nCY0Vm5rw@nP9lfmkyslUoM#OUDWQ0&3oCRYg@CG z4)w)*`D>y#gM&tYwtpaTG}&kN9yxlU=e*+31V}UH%yGlPbKZ3P_|&QRlxMn{{+?Lv zf)zqq;cPN7n@=9;A24#sfj%?Yf8hd0Y^PKpd~7jj6@$o@+sjhiohr^R7_RAdpESJ7 z8SAem?oGS*m1X6$o3k9lUMYi$VyCv1ZeyfINy_dW7p*y`=$a|RGewuY7GnKd8uYYn z2MOgT9NI|>x7Ez|UKF|tNJ(=a5~hJOHHUfG*P-!Q zO%Km*D7Wu)e0;LdKGZa7)P#7u;}luAv7r_vf3A0&8s&dc0GD{~)2SJ*$4Ad9o&(yO zghPvv9!il5iY&P;7vjB+j~l7ti78K`EX+2whHm_P>snAII+hcI5H#YybZI#$WCnzt(Dd zdw`t4&}v=Qft|ifv_Zr}XoJ25z}+Rf^*Ll9`lZU0#9dmyQPP;=(D=&$+VEE-l3RKr zIaTh>$zJRNg136c8v>k(Yfe`E2VjR9ECV0&oGM?1`9T*(QZwwro5L4hr z9!KTWw7kI^M#&r~sBoV*f9p$6<^HNwTIf}D0(5fa=6yp7w9iRuyQP;=?Us3erUUO$ z?~xx;gXrW9d%yY>`w=}H#3<1Ny8!EfGpB%Y_@EwU|8#o2_cSu; z+sQB~SF!?ZaOL}!!Mep=CRZ?e<*e;>qw4ZW|1%!1QwukXpGKJWznBJwNvVNtdHK8q zJAob$^o3~Tdx2)8{~3K^c@Nes{z;V8`xg2*klQZSah@1gPMWJN6z!K3_R4#v?Ee#M z0Y7CC#bwy?|NQ^<|LnB?kCwxB-kf(jw9`)1x*9j%QQK&zUOV_JR<`p0tN5QS!y=_S zj$M~D`oFb`Kd67g_{X6O=j95pT;&^HYaM|9Yu5o#sA;H6Y&ny@*VMrbVf<_R9|pbD zRXzRe1AeY0`ado@z22L9X1)G|@heOo)&%uWMCG48jxYW{P^AXjhW~rZ{;yoC_4<=W z%Uo%BcFI%KU{5EIN1t@p5_R_rJRLq;_?n{PFyZ|8Z#+|0$GREMIV+#vHqX6BOPx chu8RNoPIP4@V}O0ssB^es66ve0`&d*FIdOi82|tP literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm2/app/__pycache__/application.cpython-35.pyc b/Praktikum2/ppm2/app/__pycache__/application.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c772c2eb360981c607cda9686313480825bfb346 GIT binary patch literal 1521 zcmb7E&2G~`5FY=;`Ki;UMKryDstO^6LnCnn1QZ&z5>*<}6p#;Cj(1y}IJVh!S{juL z=_BwGya!L=D<@u|CuTN3ga8sa+41bmc;=hgnO!fJOLyPyzxnzQ;2X?6Ch|{l$(KkN z{xt{zoEfiyqba!#p$>fm90N46Gt}M$#{_MUnZR;zh2k9W9E{M+B3DN>>pS{|W=+cq z%uBtFCpq%wS-{VI(oCNjjx&^SM4+NNI(fm63>kw0U^oh<;xP-ZbZ~OO^1up8i&2Zf zN{UC}5-?lw1z=@h%Ze`oFF_YoE5L0S>F^0-nTWNLE$<{r82DZq#F6WVZC{(=Iz3a%SOLF&3Tx|396&{wo!_184Fr&dj$V9`VGS-xf5jPp%(7}2R>YDQ*uWgKNW zHs~iZvjk6Hd11{EIke6UtYM}HOyw~qc_rU#wAYZ4~%TS#y!u_G>V z0yL=Na8_xjnxpy=rF5yeXx10ZDOw*G8MIP-Lj%5 zP6vG+rPxZnbKJ-**O#ZRTm+wI{KOlC={-J+d2#L2{_x->NCz?F}ki?QRQ9z$!nMj4mDiP{gLEV!T{C8Z43mmTEe!Jaj2oVcW zB{hxg9HD*}1dtd>u58^hY-`Q3CqJdF<;TZ&3k@>EOA>WusQV$a;!czacr}@kw}%E(x2f9 zf59j0l@q_fiJ6TPio`lQnVmQDW_ETC`~AIdx352r1i(+Yv+xWjxb-QD9DfW-fOw}f zh?%o{Pe2!#QdGFStw z01{*bjAY}GEAoni7j0qI%O_Z<(6apW6_k(Q?_u;_OQoY(T0}Z4pAtQc^m)14TrzTio;-sQU=VAT&OvQE=+^=fTJ+B-K?&RtV|qS$uuvjOKpQ~zZ5-N zcu!Fa;_h3-pO>W-G&Po&va+2<6_v4~EHuiQTxu((x<(*h%o`mF)xl89kx<KU2` literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm2/app/__pycache__/choice.cpython-35.pyc b/Praktikum2/ppm2/app/__pycache__/choice.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dfc209f76067049e3382eb09940f67d8a330fbab GIT binary patch literal 967 zcmYjP&2G~`5T5n=uTe@XkSh8Jxx`YARfYPiULYV+R1{HJj=gQ2II+9CK}qGD%0ut~ zTzDA{9QVqJSK!3V#;LmYjz7=OH#0lCx4qr^_5I!F-yGl%JXwRYsyzxFbiBXF1N{y&VV3A*lqivsX0sdwN4QlN zg}_Xfedtg$QfCM_5f5GB&OD2e+ehxe_@{Seo{GzqVKgoJ66Gmw^$LXs7&CYTr~zUm z1B_$+4wvL*!n39(<76YO(N&_j`3W*W#)zXAI{$1kW5$_38D&br#}#`aV-rSovxs(&EBV#k}p zSq`vbfU?H3VQ||-*smrtL_wdDm6^E4zizBGrCqvH~JXrZq;{kG* zI3Nd5`*g4kcAFggHHX9d0bJc5z?HVzM+QuLFve&+PdnPa3DR<=#Y~&H7Vx8xQKg0-~ROMwALb|7=CenNuyVLD8SifK5MaEwvSI6pFRA0Xf>li z*M7&Ram|vch-1@=<7t`A3&QOX7@mYG?Qh2y7>J724nX!{y{vW@|&m#Z; literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm2/app/__pycache__/database.cpython-35.pyc b/Praktikum2/ppm2/app/__pycache__/database.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a86d93c31ce896f9155f6c53d8ea118b8ef19168 GIT binary patch literal 5136 zcmb_gTW=f36`t8$F7K2q*-~g5t!&3N2*YCS0;%gL@lB4K)KS_hjvS%}v*M1drKlw} zyNqN)YEjrN&^{FX1xEW=ATI@q{(=_hPbl`aPyP!oQ1?4$mJ~%fXdX&xj?T=Sxt;sr zT)AAh`o#|){p8z1{7Z~|9N@RmqAvh^{7KOfqA|kd7;cG%HKegc!)DwP9Y<_Cq5+r@ zjf{}@eatxGIreaba>X;yW@+QqTIMBA5i2z-$@yNa;$T}Pd4j&`#9oUgho8~Keuoi- zD@i(zE&#-$-RT0ulW@A95x&dgKyV)Za>CDx=eV{j{DSa{Jd5#?@XL&Ypd$P!#`D6T z7XAswK|CY;S;mXPKPmiEjALOI&zMVc%UfBRa!*8}i+y*h12PhIRiO>)g<5C(Cxd5WG%8wx8g%jtJ;V#t=oAzjNN z8hmnSE*kUa??52OeJSP-ED`f#+m_h3#4{uDfb^0cCp%PoR03N%dogMBCL4z14I;4(9Re&61#C}G!^Tg=`mzU#WIq@q?R1dJY zAlgN-4;98r+@eHVRQI!DY3HU`W69)K1{q>deUMpfN8NCc?|4znsLtb+iKQP7GW~et z%Jr8S^k4q__3PKQa$)Q~W6oSI}hUC)pB#9B@l>EK)o7WSm8pXyn38^vLFnKs@CI%>s(^*Mw! ziUjX=NxS023Vc=-1Io0QL&~%OEIJ7wtb&|@$fwZG$V;*$r{$nL5>htCwJ$mBax`44ow1`NBW%P6~ zedMaJk(HKB^Y}Pv7_=-4$D}7iw4dO zM<-sNfdnhTMYtXX*i92v|U;RYW&Vh8b>Sk3IX3Ks`n(2LmxS7Cp| z9`s>$Y*>=83>)BAG)nIWxA0ba{}mZqqK!wh(YE1~VRB#()?~#zxN96Xkkl?=fjP2H zI*I7jo{je|G(tJVX-`FZoKs7^UZ7i|94<{R#rY>2@RYN zmv1cS3*ctrtaL-gf=s?v1{k7T-)mm7k(|%3RvXwIS=JG zW!ghIWZIv>GcfI;e1x`!3z6l)g{2Pel{_v4%z+M;P6p0qJ6eMA_t-{?uo3p{qoYZ-DS#?ybeuf3n4FJ;ml01pPXCw5L$&()Im1K2njBMh9tXPAok*76#j&dWi zb!u!64}grK4uyri>&#~3rIsJp1X3pAyBPozt5EbR_)K}vE%L;xQ2y1OGii$ABBFe< zv7rz`oWIQEMOosG zV-4m$P}q9f@;GN*{k@BTeT@otm$9!Rlwz>3ZZKdc~>>9frMKifQ=o_(5^!rrmL z1OWmQM`UOk@kkOe_%lK2asrNsMpJ<3;|LR)I2#|^l?)FgIg_T3O~4XqB7baxtPT@} zV-rO)Q9L$LG83g^6J;||J~mM?6P05V;1V5gv``k*K(575P`im77ORjgHCX*Tx5BR}hgtgf|;wrDdu?C!GJQ^?XiDj)TC zF@br`0q@YUKLBVH2Zy&dj$$I96<9H$rYiak7DV3x5SB6Mb1>{vNR0TMr=Fpl{nu3b4RJfuSbV~YT$O>}wQ zX>Yg_QX^2KP6b4T3Rq@pI02%rF!kSt)Kg4>QWtb57^2h#KFf73k}}|@7|t=ACm0mq zRHzbtYsGkKmhBQ=*2qGdAzX5!^061|U`utv{x(FyQfy>CMKaQ96sTlHg&IJ_6#X07 zJK76dn7J>Hw z8rih`)wgNrT>|XjNZjyktQMRrPs;zkikH=f*YCuC0BJN0K=Pl1?9ZZ|M;nv$A@xYo zJm z`VBipf&+cXnsAB^GGtRI(Tqun!;ilHq+EKE+1>1e1Ja$}uo-q=tsPdnh5FGNcdX_e zSo*T2GLK`+z}mfBD;_4ONNyvlG)>-0*{VJRkl3)}#72cfKUJtLeVJyi01Qo=QjKRQ2x4VA7 zLwKp#-06EAGovfm)D&P8<@7}YKzA9tA8Q>YyqcmNt>-$rRK&MZ z%FRrb=1Uh!1;7$hpoHg)Cfkh`={EwC?4P9#$g^l0AaT3vZPki-!JE!Xa!ckZ?-M!4 LX3ACQJ7@nFwRX_3 literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm2/app/__pycache__/eval.cpython-35.pyc b/Praktikum2/ppm2/app/__pycache__/eval.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..04930eecb080f8b35372999179df61850a3da907 GIT binary patch literal 2793 zcma)8&2Jk;6o0c{-mL9>6jZuJqEZi)97L=l74=}DHcg0xsuYoekws*!y+g9`XLi>p zscZ=;xp3mv8#gZf3pjA+!U>7fTsiRRF!%Vp=~ zzx&^O^d8aQlzR;HAE8Ct5I+6{b%`2ReL)S8*fr{E)YGY345fhyVx*!@8H4%+4O6*tkkWtFs$&yl<-$If`B)i|e zqObtxe-Eo)MKX-49WSUx?Lf8$)x98o>b0u%-R>( zuanC~^Gts&0hdup(Uh?b-~uY>x#A)>Sq|v}Q_FPbd=aXcqOuZNgxW|^T;Okr<)o;L z&_%JBOe`TIa}kP(e5Th=|I+IH-vtw?B}9I1o&74X3-d&-(PVu}4wKl?n9i%|1KE<(){xd=5+-TeA$m>U#&cq$D!=|GE~-QLD+-I ze%wF8c^6A%x4l>%4Z?F}?0Y?_3Yn)-!0|Vd-L5Kots@z=kGq2?!cdb#c*;76y?7L< zLN<>gRcy#04!u$D>p_2}YzL9j0>4qjfqE81!(&_#Dl4Ih6Hz%&j%B-pGg>0hm(uee zV?Ki~63U7OVJv-R2C?i#${dD4KUT&`gxID(>J6jHM##si(y@Z@ee^`3L6P2 zeQ)05})8Jn93n zCGKVK{U!b_;fNP@a$!L_6^m~)ebC=*DyP}(4g67;`=w^{bmVn2PeGmy2a)u{6(k{^=CryMYTO|hw zufYTGN_*wRD{$f)w+S3rd&b|+j=%Za$J^We@8!EsUnS8``e*sTdl2&;s>Ca(CQ3J0 zP%74Tk5X@qC8d%MO6(k~U<_sfBO|AYE!-08nE^R0&!NvP2WqE@*|VM^`7b@aXO55iKQIk0#LY@M+RD zb0KMk9(AoohnGGra1_#tXc=_4$5Fp^QawJymxPaod| zb9?su<)H7p#<*Tx8CzD`g+)`U!Z^Qa)y(;AZqJ=RX)0i?^3nxG-53RvX=W}c=hM~< zLe1?@L#^ydUc2C|s+CD2{*3Y|oEf=Z(afxx*}qfK+#@Fs_KzL{n0rtpW4R-?#WN9$ zzIfo>#G5X|Z8QjZ7Bi4$nd@iSv?=E`<2cJM=Xrg1(ohjLMIuC%_!RS28$L>0F4`yZ)`c5jn<#Sslt#Ha<2`~%v= B!6g6y literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm2/app/__pycache__/templates.cpython-35.pyc b/Praktikum2/ppm2/app/__pycache__/templates.cpython-35.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f275311052b15cf748eabb58671ce977df773faf GIT binary patch literal 973 zcmZuv&1%~~5T4aa@=t66p%ik>&4pUfQx9ngX@VgXQ?Sz%K~ZICU9T-m%I+ExW1rmD z=&7eZQuo?J=_~Zq898=(=t?vCc4zd>-#%@(o4>wYefYrve!@S?MSO;$uTZ7 zd$Q1l6km^siO)yAnr#flyv$-F^e|yaK#RU4Z%{Oqf)xxptp6Q4%(_}+V}%7nrT)AM zuC-7)n8h;Ci4>zE=t=W79tAg-=fOJ_&y1Wc<}ZS>L=~51V0IC^<-M&(k<6uuqC*Ns zwScoc+9%cBnfJ;0=utzdlKYAP%aj0;!J2^qm}2=1Hn?@*ZUQR@E*(Uue@EDR=q{*rfU1PN7$VWXKNQ$=ztht?Nzu&n5}SA#W}|RPH#`(#?U!xd%=r0B>kFj{rL8YN=V5WNp@B&rq7|h&7#M`*Bd{+wb@^ z&m5Vf$Tp*BUZjhRa4U*#7jgDrsfoK1GfoxFQXP}p-={62@QN-&14WZti~GFgRcBZg rC8Q2WwNcr6GQk$!<8|_j(NrX+^7|jDt)Fg_dQA~^9aRgI`Y`dXWHK%jRfI4msZp$?^WqPVn!CyTAS21NaLz9tZWu z*qZNAaQreT0TQNl3rY*-HY7GM8ndBvVD3WV0(;IK;4b`u-7W|Z&d{t!(~lzWA6yG2 z5$pV)#JnyuB~Tx(^~0)~E$f_Y){lkCV{A>0LahBK7OlrEa)Jox9(|IoJ#$a%E^u_~ zYuy9h2Oel0I|sl+t^2@tfDg5f2D`vVS`UCf^=aZrHOXYFVe*LXdglY4sTjc36G_yQHBV?1NPOoYmUsSQ(y!bas3 zqs2J&7T|_cr;G91?=de7rkHsTPA$sFQPi8Xg99mW+sS><`6opw7TH`RyVX+FOO=X6 zUh!h_vUQj0{5B8?c(sAoV%s5c%8umX0UwZnB{%<%cXlT%8~0k-CA6c=g1J*HqWaD4(yLXIMP z(uQV{ACT(zpzRm*9;>>HEV+wI$m=LjC)&?4u9Btae}P8lpdM?lUk24SIZ@JciIzen zI&)U_b{$35r1i_9Q5uK+FG*k`Im8)X;c|_3WVL&jA!v9zh9NN=ysC;^T#;mSL1N~8 zyTNnoQyycq9aTtF&)#I^6`6(?Of>7x2GRbfL}aoZPr!xBimTGBPTf;I=iUa(jms>? zU^|kLA=zrj_Dpt+J2Uga2Gy6JqcUcbXg~#wDny!gL7L7hzAQ-()AaQ+E6s=uaXEd2 z + + + Debug + 2.0 + {1747f32f-45d5-4d27-868d-c3fe710f4d86} + + server.py + + . + . + {888888a0-9f3d-457c-b088-3a5042f75d52} + Standard Python launcher + + + + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Praktikum2/ppm2/ppm2.sln b/Praktikum2/ppm2/ppm2.sln new file mode 100644 index 0000000..9e6727a --- /dev/null +++ b/Praktikum2/ppm2/ppm2.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "ppm2", "ppm2.pyproj", "{1747F32F-45D5-4D27-868D-C3FE710F4D86}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1747F32F-45D5-4D27-868D-C3FE710F4D86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1747F32F-45D5-4D27-868D-C3FE710F4D86}.Release|Any CPU.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Praktikum2/ppm2/server.conf b/Praktikum2/ppm2/server.conf new file mode 100644 index 0000000..3b608c4 --- /dev/null +++ b/Praktikum2/ppm2/server.conf @@ -0,0 +1,19 @@ +[global] +tools.log_headers.on: True +tools.sessions.on: False +tools.encode.on: True +tools.encode.encoding:"utf-8" + +server.socket_port: 8080 +server.socket_timeout:60 + +server.thread_pool: 10 +server.environment: "production" +log.screen: True + +[/] +tools.staticdir.root: cherrypy.Application.currentDir_s +tools.staticdir.on = True +tools.staticdir.dir = '.' +tools.staticdir.index = 'static/html/index.html' + diff --git a/Praktikum2/ppm2/server.py b/Praktikum2/ppm2/server.py new file mode 100644 index 0000000..bda808b --- /dev/null +++ b/Praktikum2/ppm2/server.py @@ -0,0 +1,54 @@ +# coding:utf-8 + +import os.path +import cherrypy + +from app import templates, category, choice, eval + +#---------------------------------------------------------- +def main(): +#---------------------------------------------------------- + + # aktuelles Verzeichnis ermitteln, damit es in der Konfigurationsdatei als + # Bezugspunkt verwendet werden kann + try: # aktuelles Verzeichnis als absoluter Pfad + currentDir_s = os.path.dirname(os.path.abspath(__file__)) + except: + currentDir_s = os.path.dirname(os.path.abspath(sys.executable)) + cherrypy.Application.currentDir_s = currentDir_s + + configFileName_s = 'server.conf' # im aktuellen Verzeichnis + if os.path.exists(configFileName_s) == False: + # Datei gibt es nicht + configFileName_s = None + + # autoreload und timeout_Monitor hier abschalten + # für cherrypy-Versionen >= "3.1.0" ! + cherrypy.engine.autoreload.unsubscribe() + cherrypy.engine.timeout_monitor.unsubscribe() + + # Standardverhalten, Berücksichtigung der Konfigurationsangaben im configFile + cherrypy.tree.mount( + None, '/', configFileName_s + ) + + cherrypy.tree.mount( + category.Category(), '/category', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}} + ) + cherrypy.tree.mount( + choice.Choice(), '/choice', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}} + ) + cherrypy.tree.mount( + eval.Eval(), '/eval', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}} + ) + cherrypy.tree.mount( + templates.Templates(), '/templates', {'/': {'request.dispatch': cherrypy.dispatch.MethodDispatcher()}} + ) + + cherrypy.engine.start() + cherrypy.engine.block() + +#---------------------------------------------------------- +if __name__ == '__main__': +#---------------------------------------------------------- + main() \ No newline at end of file diff --git a/Praktikum2/ppm2/static/css/style.css b/Praktikum2/ppm2/static/css/style.css new file mode 100644 index 0000000..cbbf0f7 --- /dev/null +++ b/Praktikum2/ppm2/static/css/style.css @@ -0,0 +1 @@ +body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:100px;line-height:100px;margin:0;padding:5px;font-size:40pt;text-align:center;text-shadow:black 3px 2px;font-family:"Open Sans",sans-serif;background-color:#084791;border:none;border-radius:60px;}.clSiteHeader a{text-decoration:none;color:white;}.clSiteHeader:hover{background-color:#0D71E4;cursor:pointer;}.clSiteHeader a:visited,a:active{color:white;text-decoration:none;}.clContent{position:absolute;top:150px;left:0;right:0;bottom:0;margin:0;padding:5px;background-repeat:no-repeat;background-position:bottom left;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:18pt;text-align:center;}.clContentArea{position:absolute;top:80px;left:0;right:0;bottom:0px;margin:10px 0;margin-left:10px;padding:5px;background-attachment:#819FF7;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:80px;line-height:80px;margin:0;padding:5px;text-align:center;background-color:#FFFFFF;}.clButtonArea a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:14pt;text-decoration:none;border:2px solid;color:white;background-color:#084791;}.clButtonArea a:hover{color:white;background-color:#0D71E4;cursor:pointer;}.clButtonArea a:visited,a:active{color:white;}.clNavButton{display:inline-block;text-align:center;background-color:#084791;border:1px solid black;color:white;padding:15px 32px;text-decoration:none;font-size:16px;cursor:pointer;float:left;clear:left;width:20%;margin-left:38%;margin-right:30%;}.clNavButton:hover{background-color:#0D71E4;}#idList{table-layout:fixed;width:auto;border:2px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:center;padding-left:5px;background-color:white;padding:3px;border:2px solid;}#idList td{padding:3px;border:2px solid;cursor:pointer;}#idForm .clContentArea{width:500px;margin:auto;}.selected{background-color:#0D71E4;color:white;}.clFormRow{position:relative;height:30px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:240px;text-align:center;}.clFormRow input{position:absolute;top:0;left:250px;width:250px;}.clFormRow select{position:absolute;top:0;left:250px;width:250px;}.clMenu{list-style-type:none;padding-left:0;margin-left:0;}h3{text-align:center;} \ No newline at end of file diff --git a/Praktikum2/ppm2/static/html/detail.html b/Praktikum2/ppm2/static/html/detail.html new file mode 100644 index 0000000..1fa65ec --- /dev/null +++ b/Praktikum2/ppm2/static/html/detail.html @@ -0,0 +1,75 @@ + + + + + Praxisphasenmanager (PPM) + + + + + +

+ Praxisphasenmanager (PPM) +

+ +
+

+ ${data['category']}: Ihre Daten +

+
+ + + % if data['category'] != 'Angebote': + % for field in data['content']: + % if field!='id' and field!='Status': +
+ + + % else: + "" id="${field}" name="${field}" /> + % endif +
+ % endif + % endfor + % else: + + + + + + % for field in data['content']: + % if field!='id' and field!='Status' and field!='ZeitraumVon' and field!='ZeitraumBis' and field!='Lehrender' and field!='Student': +
+ + % if field!='Firma': + + % else: + "" id="${field}" name="${field}" /> + % endif + % else: + + % endif +
+ % endif + % endfor + % endif + + +
+
+ + \ No newline at end of file diff --git a/Praktikum2/ppm2/static/html/detailChoice.html b/Praktikum2/ppm2/static/html/detailChoice.html new file mode 100644 index 0000000..1451eae --- /dev/null +++ b/Praktikum2/ppm2/static/html/detailChoice.html @@ -0,0 +1,66 @@ + + + + + Praxisphasenmanager (PPM) + + + + + +

+ Praxisphasenmanager (PPM) +

+ +
+

+ Praxisphasenangebots Auswahl +

+
+ + + + + + + + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
+ + \ No newline at end of file diff --git a/Praktikum2/ppm2/static/html/index.html b/Praktikum2/ppm2/static/html/index.html new file mode 100644 index 0000000..d7836e7 --- /dev/null +++ b/Praktikum2/ppm2/static/html/index.html @@ -0,0 +1,25 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+
+ +
+
+ \ No newline at end of file diff --git a/Praktikum2/ppm2/static/html/listChoice.html b/Praktikum2/ppm2/static/html/listChoice.html new file mode 100644 index 0000000..5241c5c --- /dev/null +++ b/Praktikum2/ppm2/static/html/listChoice.html @@ -0,0 +1,56 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+

+ Übersicht Praxisphasen Auswahl +

+
+ + + + + + + + + + % if data['content']!= None: + % for entries in data['content']: + + + + + + + + % endfor + + % endif + +
NameFirmaBeschreibungVoraussetzungenFirmenbetreuer
${data['content'][entries]['Name']}${data['content'][entries]['Firma']}${data['content'][entries]['Beschreibung']}${data['content'][entries]['Voraussetzungen']}${data['content'][entries]['Firmenbetreuer']}
+
+ + +
+ +
+
+ \ No newline at end of file diff --git a/Praktikum2/ppm2/static/html/listEval.html b/Praktikum2/ppm2/static/html/listEval.html new file mode 100644 index 0000000..0bab960 --- /dev/null +++ b/Praktikum2/ppm2/static/html/listEval.html @@ -0,0 +1,146 @@ + + + + + Praxisphasenmanager (PPM) + + + + + + +

+ Praxisphasenmanager (PPM) +

+
+

+ Übersicht: ${data['category']} +

+
+ % if data['category'] == 'Firmen': + % for firmen in data: + % if firmen != 'category': +

${firmen}

+ + + + + + + + + % for aktuell in data[firmen]['Angebote']['aktuell']: + + + + + + + + % endfor + % for abgeschlossen in data[firmen]['Angebote']['abgeschlossen']: + + + + + + + + % endfor +
StatusStudentLehrenderZeitraum: VonZeitraum: Bis
Aktuell${data[firmen]['Angebote']['aktuell'][aktuell]['Student']}${data[firmen]['Angebote']['aktuell'][aktuell]['Lehrender']}${data[firmen]['Angebote']['aktuell'][aktuell]['ZeitraumVon']}${data[firmen]['Angebote']['aktuell'][aktuell]['ZeitraumBis']}
Abgeschlossen${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['Student']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['Lehrender']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['ZeitraumVon']}${data[firmen]['Angebote']['abgeschlossen'][abgeschlossen]['ZeitraumBis']}
+ % endif + % endfor + % endif + + % if data['category'] == 'Studenten': + % for studenten in data: + % if studenten != 'category': +

${studenten}

+ + + + + + + + + + % for angebote in data[studenten]['Angebote']['aktuell']: + + + + + + + + + % endfor + % for angebote in data[studenten]['Angebote']['abgeschlossen']: + + + + + + + + + % endfor + + +
LehrenderFirmaPraxisphaseStatusZeitraum: VonZeitraum: Bis
${data[studenten]['Angebote']['aktuell'][angebote]['Lehrender']}${data[studenten]['Angebote']['aktuell'][angebote]['Firma']}${data[studenten]['Angebote']['aktuell'][angebote]['Praxisphase']}${data[studenten]['Angebote']['aktuell'][angebote]['Status']}${data[studenten]['Angebote']['aktuell'][angebote]['ZeitraumVon']}${data[studenten]['Angebote']['aktuell'][angebote]['ZeitraumBis']}
${data[studenten]['Angebote']['abgeschlossen'][angebote]['Lehrender']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Firma']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Praxisphase']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['Status']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['ZeitraumVon']}${data[studenten]['Angebote']['abgeschlossen'][angebote]['ZeitraumBis']}
+ % endif + % endfor + % endif + + % if data['category'] == 'Lehrender': + % for Lehrender in data: + % if Lehrender != 'category': +

${Lehrender}

+ + + + + + + + + + % if data[Lehrender] != NULL: + % for angebote in data[Lehrender]['Angebote']['aktuell']: + + + + + + + + + % endfor + % for angebote in data[Lehrender]['Angebote']['abgeschlossen']: + + + + + + + + + % endfor + % endif +
StudentFirmaPraxisphaseStatusZeitraum: VonZeitraum: Bis
${data[Lehrender]['Angebote']['aktuell'][angebote]['Student']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Firma']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Praxisphase']}${data[Lehrender]['Angebote']['aktuell'][angebote]['Status']}${data[Lehrender]['Angebote']['aktuell'][angebote]['ZeitraumVon']}${data[Lehrender]['Angebote']['aktuell'][angebote]['ZeitraumBis']}
${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Student']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Firma']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Praxisphase']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['Status']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['ZeitraumVon']}${data[Lehrender]['Angebote']['abgeschlossen'][angebote]['ZeitraumBis']}
+ % endif + % endfor + % endif +
+ + +
+ +
+ +
+ \ No newline at end of file diff --git a/Praktikum2/ppm2/static/js/jquery-3.1.1.min.js b/Praktikum2/ppm2/static/js/jquery-3.1.1.min.js new file mode 100644 index 0000000..4c5be4c --- /dev/null +++ b/Praktikum2/ppm2/static/js/jquery-3.1.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), +a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), +void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("

#w{MT2`t@u1P5b#Y)n+k5CG;9HQx2g~ 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 literal 0 HcmV?d00001 diff --git a/Praktikum2/ppm1/static/style.css b/Praktikum2/ppm1/static/style.css new file mode 100644 index 0000000..9dcd8c3 --- /dev/null +++ b/Praktikum2/ppm1/static/style.css @@ -0,0 +1 @@ +body{font-family:"Open Sans",sans-serif;font-size:12pt;padding:0;margin:0;}.clSiteHeader{position:absolute;top:0;left:0;right:0;height:100px;line-height:100px;margin:0;padding:5px;font-size:40pt;text-align:center;text-shadow:black 3px 2px;font-family:"Open Sans",sans-serif;background-color:#084791;border:none;border-radius:60px;}.clSiteHeader a{text-decoration:none;color:white;}.clSiteHeader:hover{background-color:#0D71E4;cursor:pointer;}.clSiteHeader a:visited,a:active{color:white;text-decoration:none;}.clContent{position:absolute;top:150px;left:0;right:0;bottom:0;margin:0;padding:5px;background-repeat:no-repeat;background-position:bottom left;}.clContentHeader{position:absolute;top:20px;left:0;right:0;height:30px;line-height:30px;margin:0;padding:5px;font-size:18pt;text-align:center;}.clContentArea{position:absolute;top:80px;left:0;right:0;bottom:0px;margin:10px 0;margin-left:10px;padding:5px;background-attachment:#819FF7;}.clButtonArea{position:absolute;left:0;right:0;bottom:0;height:80px;line-height:80px;margin:0;padding:5px;text-align:center;background-color:#FFFFFF;}.clButtonArea a,input[type="submit"]{margin:0 5px;padding:3px 6px;font-size:14pt;text-decoration:none;border:2px solid;color:white;background-color:#084791;}.clButtonArea a:hover{color:white;background-color:#0D71E4;cursor:pointer;}.clButtonArea a:visited,a:active{color:white;}.clNavButton{display:inline-block;text-align:center;background-color:#084791;border:1px solid black;color:white;padding:15px 32px;text-decoration:none;font-size:16px;cursor:pointer;float:left;clear:left;width:20%;margin-left:38%;margin-right:30%;}.clNavButton:hover{background-color:#0D71E4;}#idList{table-layout:fixed;width:auto;border:2px solid;border-collapse:collapse;margin:auto;}#idList th{text-align:center;padding-left:5px;background-color:white;padding:3px;border:2px solid;}#idList td{padding:3px;border:2px solid;cursor:pointer;}#idForm .clContentArea{width:500px;margin:auto;}.selected{background-color:#0D71E4;color:white;}.clFormRow{position:relative;height:30px;margin-bottom:10px;}.clFormRow label{position:absolute;top:0;left:0;width:240px;text-align:center;}.clFormRow input{position:absolute;top:0;left:250px;width:250px;}.clFormRow select{position:absolute;top:0;left:250px;width:250px;}h3{text-align:center;} \ No newline at end of file diff --git a/Praktikum2/ppm1/templates/detail.tpl b/Praktikum2/ppm1/templates/detail.tpl new file mode 100644 index 0000000..1fa65ec --- /dev/null +++ b/Praktikum2/ppm1/templates/detail.tpl @@ -0,0 +1,75 @@ + + + + + Praxisphasenmanager (PPM) + + + + + +