dda16af532
countdowns, messages, scale/scroll/edit current slide Use global serverOffset. Fixed #1645 (wrong time of projector clock). Show countdown description on projector slide.
161 lines
5.9 KiB
HTML
161 lines
5.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" class="no-js"> <!-- TODO: make lang dynamic -->
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<base href="/">
|
|
<title>OpenSlides</title>
|
|
<meta name="description" content="">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="static/css/openslides-libs.css">
|
|
<link rel="stylesheet" href="static/css/app.css">
|
|
<script src="static/js/openslides-libs.js"></script>
|
|
|
|
<!-- Navbar -->
|
|
<nav id="header" class="navbar navbar-inverse">
|
|
<div class="container-fluid">
|
|
<div class="navbar-header">
|
|
<a ui-sref="dashboard" class="navbar-brand">
|
|
<img id="logo" src="/static/img/logo.png" alt="OpenSlides" />
|
|
</a>
|
|
<span class="navbar-text optional">{{ config('general_event_name') }}</span>
|
|
</div>
|
|
<div class="navbar-right" ng-controller="userMenu">
|
|
<!-- login/logout button -->
|
|
<div class="btn-group">
|
|
<div ng-if="operator.isAuthenticated()">
|
|
|
|
<div class="btn-group" dropdown is-open="status.isopen">
|
|
<button type="button" class="btn btn-default dropdown-toggle" dropdown-toggle>
|
|
<i class="fa fa-user"></i>
|
|
<span class="optional-small">{{ operator.user.get_short_name() }}</span>
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu pull-right" role="menu">
|
|
<li>
|
|
<a ui-sref="users.user.detail.profile({ id: operator.user.id })">
|
|
<i class="fa fa-cog"></i>
|
|
<translate>Edit profile</translate>
|
|
</a>
|
|
<li>
|
|
<a href="#TODO">
|
|
<i class="fa fa-key"></i>
|
|
<translate>Change password</translate>
|
|
</a>
|
|
<li class="divider">
|
|
<li>
|
|
<a ng-click="logout()" href="">
|
|
<i class="fa fa-sign-out"></i>
|
|
<translate>Logout</translate>
|
|
</a>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Login dialog (modal) -->
|
|
<div ng-controller="LoginFormCtrl" ng-if="!operator.isAuthenticated()">
|
|
<script type="text/ng-template" id="LoginForm.html">
|
|
<form ng-submit="login(username, password)">
|
|
<div class="modal-header">
|
|
<h3 class="modal-title" translate>Please sign in!</h3>
|
|
</div>
|
|
<div class="modal-body">
|
|
<p ng-if='loginFailed' class="text-danger">
|
|
<strong translate>Username or password is not correct.</strong>
|
|
<div class="input-group form-group">
|
|
<div class="input-group-addon"><i class="fa fa-user"></i></div>
|
|
<input os-focus-me type="text" ng-model="username" class="form-control input-lg"
|
|
placeholder="{{ 'Username' | translate }}">
|
|
</div>
|
|
<div class="input-group form-group">
|
|
<div class="input-group-addon"><i class="fa fa-key"></i></div>
|
|
<input type="password" ng-model="password" class="form-control input-lg"
|
|
placeholder="{{ 'Password' | translate }}">
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<div class="form-group">
|
|
<button type="submit" class="btn btn-primary btn-lg btn-block" translate>
|
|
Login
|
|
</button>
|
|
</div>
|
|
<div class="form-group">
|
|
<!-- TODO: show only if anonymous user is activate -->
|
|
<button ng-click="guest()" class="btn btn-default" translate>
|
|
Continue as guest
|
|
</button>
|
|
<button ng-click="cancel()" class="btn btn-default" translate>
|
|
Cancel
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</script>
|
|
<button class="btn btn-default" ng-click="open()">
|
|
<i class="fa fa-sign-in"></i>
|
|
<translate>Login</translate>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- language switcher -->
|
|
<div class="btn-group" ng-controller="LanguageCtrl">
|
|
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
|
<i class="fa fa-flag"></i>
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
|
<li>
|
|
<a href="" ng-click="switchLanguage('en')">
|
|
<i class="fa fa-flag"></i>
|
|
<translate>English</translate> (EN)
|
|
</a>
|
|
<li>
|
|
<a href="" ng-click="switchLanguage('de')">
|
|
<i class="fa fa-flag"></i>
|
|
<translate>German</translate> (DE)
|
|
</a>
|
|
<li>
|
|
<a href="" ng-click="switchLanguage('fr')">
|
|
<i class="fa fa-flag"></i>
|
|
<translate>French</translate> (FR)
|
|
</a>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Container -->
|
|
<div class="container-fluid" id="container">
|
|
<div class="row">
|
|
<div class="col-md-2 leftmenu lefticon">
|
|
<ul ng-controller="MainMenuCtrl">
|
|
<li ng-repeat="element in elements">
|
|
<a ui-sref="{{ element.ui_sref }}">
|
|
<span class="ico"><i class="fa fa-{{ element.img_class }} fa-lg"></i></span>
|
|
<span class="text" translate>{{ element.title }}</span>
|
|
</a>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Content -->
|
|
<div id="content" class="col-md-10">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div ui-view></div>
|
|
</div>
|
|
</div>
|
|
<hr />
|
|
<footer>
|
|
<small>
|
|
© Copyright 2011-2015 |
|
|
Powered by <a href="http://openslides.org" target="_blank">OpenSlides</a> |
|
|
<a ui-sref="version">Version</a>
|
|
</small>
|
|
</footer>
|
|
</div><!--/#content-->
|
|
</div><!--/.row-->
|
|
</div><!--/#container-->
|
|
|
|
<script src="/angular_js/site/"></script>
|