2b5c9c09b2
- use modal dialogs for new/edit views of customslide/motions/assigments - use hover actions in all list views - Show assignment candidate names - support yesnoabstain/vote assignment poll - Generic solution for open edit dialog.
163 lines
6.0 KiB
HTML
163 lines
6.0 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>
|
|
<script src="static/ckeditor/ckeditor.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">
|
|
<div class="btn-group">
|
|
<!-- Logout / user setttings button -->
|
|
<div ng-if="operator.isAuthenticated()">
|
|
|
|
<!-- chatbox -->
|
|
<div ng-controller="ChatMessageCtrl" os-perms="core.can_use_chat" class="inline">
|
|
<button ng-click="openChatbox()" class="btn btn-default">
|
|
<i class="fa fa-comment"></i>
|
|
<translate>Chat</translate>
|
|
<span ng-if="unreadMessages > 0 && chatboxIsCollapsed" class="badge">
|
|
{{ unreadMessages }}
|
|
</span>
|
|
</button>
|
|
<div id="chatbox" class="well" uib-collapse="chatboxIsCollapsed">
|
|
<div id="chatbox-text" scroll-glue>
|
|
<ul class="list-unstyled">
|
|
<li ng-repeat="chatmessage in chatmessages">
|
|
<small class="grey">{{ chatmessage.timestamp | date:'HH:mm:ss' }}</small>
|
|
<small>{{ chatmessage.user.short_name }}:</small>
|
|
{{ chatmessage.message }}
|
|
</ul>
|
|
</div>
|
|
<div id="chatbox-form">
|
|
<form ng-submit="sendMessage()">
|
|
<div class="input-group">
|
|
<input ng-model="newMessage" id="messageInput" class="form-control" type="text">
|
|
<span class="input-group-btn">
|
|
<button type="submit" class="btn btn-default" id="messageSendButton">
|
|
<i class="fa fa-comment"></i>
|
|
</button>
|
|
</span>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- user settings / logout button -->
|
|
<div class="btn-group" uib-dropdown>
|
|
<button type="button" class="btn btn-default" uib-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="uib-dropdown-menu pull-right" role="menu" aria-labelledby="single-button">
|
|
<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 ui-sref="users.user.detail.password({ id: operator.user.id })">
|
|
<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 button -->
|
|
<div ng-if="!operator.isAuthenticated()">
|
|
<button class="btn btn-default" ng-click="openLoginForm()">
|
|
<i class="fa fa-sign-in"></i>
|
|
<translate>Login</translate>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- language switcher -->
|
|
<div class="btn-group" ng-controller="LanguageCtrl" uib-dropdown>
|
|
<button class="btn btn-default" uib-dropdown-toggle>
|
|
<i class="fa fa-flag"></i>
|
|
<span class="caret"></span>
|
|
</button>
|
|
<ul class="uib-dropdown-menu uib-dropdown-menu-right" role="menu" aria-labelledby="single-button">
|
|
<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 id="container" class="container-fluid">
|
|
<div class="row">
|
|
<!-- Main menu -->
|
|
<div id="main-menu" 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><!--/#main-menu-->
|
|
<!-- Content -->
|
|
<div id="content" class="col-md-7">
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<div ui-view></div>
|
|
</div>
|
|
</div>
|
|
</div><!--/#content-->
|
|
<div class="col-sm-3" os-perms="core.can_see_projector">
|
|
<div class="well">
|
|
<div ng-include src="'static/templates/core/projector-controls.html'"></div>
|
|
</div>
|
|
</div>
|
|
</div><!--/.row-->
|
|
|
|
<hr>
|
|
<footer>
|
|
<small>
|
|
© Copyright by <a href="http://www.openslides.org" target="_blank">OpenSlides</a> |
|
|
<a ui-sref="version">Version</a>
|
|
</small>
|
|
</footer>
|
|
</div><!--/#container-->
|
|
|
|
<script src="/angular_js/site/"></script>
|