summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--inc/user.inc.php13
-rw-r--r--modules/login.inc.php18
-rw-r--r--modules/main.inc.php19
-rw-r--r--style/default.css76
-rw-r--r--templates/login/_page.html7
-rw-r--r--templates/main-menu.html7
-rw-r--r--templates/main/_page.html3
-rw-r--r--templates/main/deploy.html52
-rw-r--r--templates/main/guest.html7
-rw-r--r--templates/main/logged-in.html23
10 files changed, 190 insertions, 35 deletions
diff --git a/inc/user.inc.php b/inc/user.inc.php
index 30630d4..f023ae7 100644
--- a/inc/user.inc.php
+++ b/inc/user.inc.php
@@ -28,6 +28,11 @@ class User
return self::$user !== false && self::$isShib === false;
}
+ public static function getData()
+ {
+ return self::$user;
+ }
+
public static function getName()
{
if (!self::isLoggedIn())
@@ -60,6 +65,14 @@ class User
return $org['organizationid'];
}
+ public static function getOrganizationName()
+ {
+ $org = self::getOrganization();
+ if (!isset($org['name']))
+ return false;
+ return $org['name'];
+ }
+
public static function getRemoteOrganizationId()
{
if (empty(self::$user['organization']))
diff --git a/modules/login.inc.php b/modules/login.inc.php
new file mode 100644
index 0000000..517ce4e
--- /dev/null
+++ b/modules/login.inc.php
@@ -0,0 +1,18 @@
+<?php
+
+class Page_Login extends Page
+{
+
+ public function doPreprocess()
+ {
+ if (User::load())
+ Util::redirect('?do=Main');
+ }
+
+ public function doRender()
+ {
+ Render::addTemplate('login/_page');
+ }
+
+}
+
diff --git a/modules/main.inc.php b/modules/main.inc.php
index ed92bd2..3f77d7b 100644
--- a/modules/main.inc.php
+++ b/modules/main.inc.php
@@ -10,19 +10,30 @@ class Page_Main extends Page
protected function doRender()
{
- Render::addTemplate('main/_page', array(
- 'user' => User::getLastName(),
- ));
+ Render::addTemplate('main/_page');
if (User::isLoggedIn()) {
// Logged in user --
if (User::getOrganization() !== false) {
// Organization is known, show signup form
if (User::isShibbolethAuth() && !User::isInDatabase()) {
- Render::addTemplate('main/deploy');
+ // User comes via Shibboleth and is not known yet
+ $data = User::getData();
+ $data['organization'] = User::getOrganizationName();
+ Render::addTemplate('main/deploy', $data);
+ } else if (User::isInDatabase()) {
+ // User is known from DB at least
+ Render::addTemplate('main/logged-in');
}
} else if (User::getRemoteOrganizationId() !== false) {
+ // Organization is not known, see if we at least have an idea
Message::addWarning('Ihre Hochschule/Einrichtung {{0}} ist leider nicht bekannt. Bitte kontaktieren Sie den Support.', User::getRemoteOrganizationId());
+ } else {
+ // No idea where the user is coming from
+ Message::addError('Ihr IdP sendet leider keine Informationen über Ihre Hochschul-/Einrichtungszugehörigkeit');
}
+ } else {
+ // Guest
+ Render::addTemplate('main/guest');
}
}
diff --git a/style/default.css b/style/default.css
index 9fe8fa2..07e8a44 100644
--- a/style/default.css
+++ b/style/default.css
@@ -1,19 +1,71 @@
body {
- padding-top: 70px;
- padding-bottom: 10px;
+ padding-top: 70px;
+ padding-bottom: 10px;
+}
+
+p {
+ font-size: 110%;
+}
+
+.form-signin {
+ max-width: 330px;
+ padding: 15px;
+ margin: 0 auto;
+}
+.form-signin .form-signin-heading,
+.form-signin .checkbox {
+ margin-bottom: 10px;
+}
+.form-signin .checkbox {
+ font-weight: normal;
+}
+.form-signin .form-control,
+.form-adduser .form-control {
+ position: relative;
+ font-size: 16px;
+ height: auto;
+ padding: 10px;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+}
+.form-control:focus {
+ z-index: 2;
+}
+.form-signin input[type="text"] {
+ margin-bottom: -1px;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+.form-signin input[type="password"] {
+ margin-bottom: 10px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
}
.form-narrow {
- max-width: 600px;
- padding: 10px;
- margin: 0 auto;
+ max-width: 600px;
+ padding: 10px;
+ margin: 0 auto;
}
-.form-narrow .input-group {
+.form-narrow > .input-group, .form-narrow > .group-group {
margin-bottom: 2em;
}
-.form-control:focus {
- z-index: 2;
+.group-group .input-group-addon, .group-group, .form-control {
+ border-radius: 0;
+}
+.group-group .input-group:first-child .input-group-addon {
+ border-top-left-radius: 4px;
+}
+.group-group .input-group:first-child .form-control {
+ border-top-right-radius: 4px;
+}
+.group-group .input-group:last-child .input-group-addon {
+ border-bottom-left-radius: 4px;
+}
+.group-group .input-group:last-child .form-control {
+ border-bottom-right-radius: 4px;
}
.slx-ga {
@@ -37,9 +89,15 @@ body {
padding-bottom: 2px;
}
-.slx-bold {
+.linkbox {
+ margin-bottom: 5px;
+}
+.linkbox a {
font-weight: bold;
}
+.linkbox div {
+ font-style: italic;
+}
.slx-ellipsis {
text-overflow: ellipsis;
diff --git a/templates/login/_page.html b/templates/login/_page.html
new file mode 100644
index 0000000..36dcb0f
--- /dev/null
+++ b/templates/login/_page.html
@@ -0,0 +1,7 @@
+<form class="form-signin" action="?do=Login" method="post">
+ <h2 class="form-signin-heading">Mit Testaccount anmelden</h2>
+ <input type="text" name="user" class="form-control" placeholder="Benutzername" pattern=".+@.+\..+" autofocus>
+ <input type="password" name="pass" class="form-control" placeholder="Passwort">
+ <button class="btn btn-lg btn-primary btn-block" type="submit">Anmelden</button>
+ <input type="hidden" name="action" value="login">
+</form>
diff --git a/templates/main-menu.html b/templates/main-menu.html
index 29ded4b..721c0bb 100644
--- a/templates/main-menu.html
+++ b/templates/main-menu.html
@@ -10,11 +10,6 @@
<a class="navbar-brand" href="?do=Main">bwLehrstuhl</a>
</div>
<div class="navbar-collapse collapse">
- <ul class="nav navbar-nav">
- <li>
- <a href="#">Hallo</a>
- </li>
- </ul>
<ul class="nav navbar-nav navbar-right">
{{#user}}
<li>
@@ -25,7 +20,7 @@
</li>
{{/user}}
{{^user}}
- <li><a href="?do=Session&amp;action=login">Anmelden</a></li>
+ <li><a href="?do=Login">Anmelden</a></li>
{{/user}}
</ul>
</div>
diff --git a/templates/main/_page.html b/templates/main/_page.html
index 2e5525c..521c01a 100644
--- a/templates/main/_page.html
+++ b/templates/main/_page.html
@@ -1,3 +1,2 @@
-<h1>Guten Morgen, Chefingenieur Dr. {{user}}</h1>
-
+<h1>Willkommen zu bwLehrpool</h1>
diff --git a/templates/main/deploy.html b/templates/main/deploy.html
index 976d2b0..c1b9bbf 100644
--- a/templates/main/deploy.html
+++ b/templates/main/deploy.html
@@ -1,6 +1,6 @@
-<div class="form-narrow">
- <form method="post" action="?do=Register">
- <input type="hidden" name="token" value="{{token}}">
+<form method="post" action="?do=Register">
+ <input type="hidden" name="token" value="{{token}}">
+ <div class="form-narrow">
<p>
Hier können Sie sich für den bwLehrpool-Dienst freischalten. Da die Nutzung dieses Dienstes
@@ -25,18 +25,42 @@
<span class="form-control"><label for="share">Am landesweiten VM-Austausch teilnehmen</label></span>
</div>
- <div class="pull-right">
- <button type="submit" class="btn btn-primary">Registrieren</button>
- </div>
-
- <div id="deploydata">
+ <p>
+ Sofern Sie am landesweiten VM-Austausch teilnehmen, werden Sie für andere Dozenten
+ über diese Daten auffindbar sein. Andernfalls werden diese Daten lediglich auf den
+ bwLehrpool-Satelliten-Server Ihrer eigenen Einrichtung übertragen. Sollten Sie auch
+ damit nicht einverstanden sein, schicken Sie die Registrierung bitte nicht ab.
+ </p>
+ <div class="group-group">
<div class="input-group">
- <span class="input-group-addon">
- Vorname
- </span>
- <input class="form-control" name="firstname">
+ <span class="input-group-addon slx-ga">
+ Einrichtung
+ </span>
+ <span class="form-control">{{organization}}</span>
+ </div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">
+ Vorname
+ </span>
+ <span class="form-control">{{firstname}}</span>
</div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">
+ Nachname
+ </span>
+ <span class="form-control">{{lastname}}</span>
+ </div>
+ <div class="input-group">
+ <span class="input-group-addon slx-ga">
+ Mail
+ </span>
+ <span class="form-control">{{email}}</span>
+ </div>
+ </div>
+
+ <div class="pull-right">
+ <button type="submit" class="btn btn-primary">Registrieren</button>
</div>
- </form>
-</div> \ No newline at end of file
+ </div>
+</form>
diff --git a/templates/main/guest.html b/templates/main/guest.html
new file mode 100644
index 0000000..76b77ab
--- /dev/null
+++ b/templates/main/guest.html
@@ -0,0 +1,7 @@
+<div class="form-narrow">
+ Sie sind nicht authentifiziert. Bitte wählen Sie:
+ <ul>
+ <li><a href="shib/">Anmelden oder Registrieren über bwIDM</a></li>
+ <li><a href="?do=Login">Anmelden mit einem bwLehrpool-Testaccount</a></li>
+ </ul>
+</div>
diff --git a/templates/main/logged-in.html b/templates/main/logged-in.html
new file mode 100644
index 0000000..a02c90e
--- /dev/null
+++ b/templates/main/logged-in.html
@@ -0,0 +1,23 @@
+<div class="form-narrow">
+ <p>
+ Willkommen im bwLehrpool Web Interface. Sie haben sich bereits für den
+ bwLehrpool-Service registriert. Sie haben folgende Möglichkeiten:
+ </p>
+ <div class="linkbox">
+ <a href="?do=ShareMode">Teilnahmestatus am landesweiten VM-Austausch ändern</a>
+ <div>
+ Hier können Sie wählen, ob Sie Virtuelle Maschinen mit Dozenten anderer Hochschulen
+ austauschen möchten.
+ </div>
+ </div>
+ <div class="linkbox">
+ <a href="?do=DeleteUser">Vom bwLehrpool-Service abmelden</a>
+ <div>
+ Wenn Sie Ihre Teilname am bwLehrpool-Service zurückziehen möchten, werden Ihre persönlichen
+ Daten vom Zentral-Server gelöscht (falls dort vorhanden). Alle von Ihnen öffentlich zugänglich gemachten
+ Virtuellen Maschinen werden ebenfalls gelöscht. Kopien solcher VMs auf den Satelliten-Servern
+ anderer Hochschulen können jedoch nicht gelöscht werden. Hier wird lediglich die Verknüpfung
+ mit Ihren Meta-Daten entfernt.
+ </div>
+ </div>
+</div>