846 lines
29 KiB
HTML
846 lines
29 KiB
HTML
{% load static %}
|
|
{% load counter_tag %}
|
|
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<link rel="shortcut icon" type="image/x-icon" href="{% static 'users/img/favicon.ico' %}">
|
|
<title>Digitale Agentur</title>
|
|
|
|
<!-- Custom fonts for this template-->
|
|
|
|
<link rel="canonical" href="https://www.digitale-agentur.com">
|
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.js" type="text/javascript"></script>
|
|
|
|
|
|
<link href="{%static 'users/vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
|
|
|
|
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet">
|
|
|
|
|
|
<!--<link href="{%static 'users/css/bootstrap.min.css' %}" rel="stylesheet">-->
|
|
<link href='https://fonts.googleapis.com/css?family=Roboto&display=swap' rel='stylesheet' type='text/css'>
|
|
|
|
<!-- include summernote css/js -->
|
|
<!--<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.css" rel="stylesheet">
|
|
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.15/dist/summernote.min.js"></script>-->
|
|
|
|
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
|
|
|
|
<!-- <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>-->
|
|
<!-- CROPPER -->
|
|
<link href="{% static 'users/css/cropper.min.css' %}" type="text/css" rel="stylesheet">
|
|
|
|
|
|
<!-- DATATABLES -->
|
|
<link href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css" type="text/css" rel="stylesheet">
|
|
<link href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css" type="text/css" rel="stylesheet">
|
|
|
|
|
|
<!-- Custom styles for this template-->
|
|
<link href="{% static 'users/css/sb-admin-2.css' %}" type="text/css" rel="stylesheet">
|
|
|
|
<link href="{% static 'users/css/theme.css' %}" type="text/css" rel="stylesheet">
|
|
|
|
|
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/summernote@0.8.16/dist/summernote-bs4.js"></script>
|
|
<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.16/dist/summernote.css" rel="stylesheet" type="text/css">
|
|
<script type="text/javascript" src="{% static 'summernote/lang/summernote-de-DE.min.js' %}"></script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Page Wrapper -->
|
|
<div id="wrapper">
|
|
|
|
|
|
<!-- Sidebar -->
|
|
<ul class=" bg-gray-900 sidebar sidebar-dark accordion fixed-top" id="accordionSidebar">
|
|
|
|
<!-- Sidebar - Brand -->
|
|
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="{% url 'users-dashboard' %}">
|
|
<i class="fas fa-laptop"></i>
|
|
<div class="sidebar-brand-text mx-2" style="">Digitale Agentur</div>
|
|
</a>
|
|
<!-- Divider -->
|
|
<hr class="sidebar-divider my-0">
|
|
|
|
<!-- Nav Item - Dashboard -->
|
|
{% if active_link == 'dashboard' %}
|
|
<li class="nav-item active">
|
|
{% else %}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link" href="{% url 'users-dashboard' %}">
|
|
<i class="fas fa-fw fa-tachometer-alt"></i>
|
|
<span>Dashboard</span></a>
|
|
</li>
|
|
|
|
<!-- Divider -->
|
|
<hr class="sidebar-divider">
|
|
|
|
<!-- Heading -->
|
|
<div class="sidebar-heading">
|
|
Agentur
|
|
</div>
|
|
|
|
{% if active_link == 'standards' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'standards' %}" aria-expanded="true">
|
|
<i class="fas fa-fw fa-lightbulb"></i>
|
|
<span>Standards</span>
|
|
</a>
|
|
</li>
|
|
|
|
{% if active_link == 'orga' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'orga-main' %}" aria-expanded="true">
|
|
<i class="fas fa-fw fa-sitemap"></i>
|
|
<span>Organigramm</span>
|
|
</a>
|
|
</li>
|
|
{% if request.user.profile.agency.module_organizer %}
|
|
{% if active_link == 'organizer' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'organizer-management' %}" aria-expanded="true">
|
|
<i class="fas fa-address-book"></i>
|
|
<span>Organizer</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if request.user.profile.agency.module_files and request.user|usergperm:"filesviewer" %}
|
|
{% if active_link == 'cloud' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'cloud-main' 'first' %}" aria-expanded="true">
|
|
<i class="fas fa-file"></i>
|
|
<span>Dateien</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if request.user.profile.agency.module_messages %}
|
|
{% if active_link == 'messages' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
|
|
{% getmesscounter request.user as gs %}
|
|
<a class="nav-link " href="{% url 'messages' %}" aria-expanded="true">
|
|
<i class="fas fa-envelope"></i>
|
|
<span>Mitteilungen
|
|
{% if gs > 0 %}
|
|
<span class="badge badge-primary badge-counter" id="messcounter_badge" style="margin-right: 85px;"><span id="messcounter">{{gs}}</span></span>
|
|
{% endif %}
|
|
</span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if request.user.profile.agency.module_chat %}
|
|
<script type="text/javascript">preventUpdatePresLive = false;</script>
|
|
{% if active_link == 'chat' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
|
|
<a class="nav-link " href="{% url 'chat:chat-management' %}" aria-expanded="true">
|
|
<i class="fas fa-comments"></i>
|
|
<span>Chat <sup>BETA</sup></span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if request.user.profile.agency.module_timemanagement %}
|
|
{% if active_link == 'abscence' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'tma-management' %}" aria-expanded="true">
|
|
<i class="fas fa-umbrella-beach"></i>
|
|
<span>Abwesenheiten <sup>BETA</sup></span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
{% if request.user.usertime.usetime %}
|
|
{% if active_link == 'timemanagement' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'tm-management' %}" aria-expanded="true">
|
|
<i class="far fa-clock"></i>
|
|
<span>Zeiterfassung <sup>BETA</sup></span>
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
|
|
<!-- Sidebar Toggler (Sidebar) -->
|
|
<!--
|
|
<div class="text-center d-none d-md-inline">
|
|
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
|
</div>
|
|
-->
|
|
<style scoped>
|
|
#bottom_info {
|
|
position: absolute;
|
|
bottom: 0;
|
|
}
|
|
</style>
|
|
<div id="bottom_info">
|
|
<hr class="sidebar-divider d-none d-md-block">
|
|
{% if active_link == 'dasettings' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'dasettings' %}" aria-expanded="true" style="margin-top: -15px">
|
|
<i class="fas fa-cog"></i>
|
|
<span>Einstellungen</span>
|
|
</a>
|
|
</li>
|
|
{% if active_link == 'support' %}
|
|
<li class="nav-item active">
|
|
{% else%}
|
|
<li class="nav-item">
|
|
{%endif%}
|
|
<a class="nav-link " href="{% url 'supportda' %}" aria-expanded="true" style="margin-top: -15px">
|
|
<i class="fas fa-question"></i>
|
|
<span>Support</span>
|
|
</a>
|
|
</li>
|
|
|
|
<div style="" class="sidebar-heading ">
|
|
<!--<span style="float: left"><small>poweder by </small><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></span>-->
|
|
<img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2">
|
|
<br />
|
|
<a style="color: #999; text-decoration: none;" href="{% url 'datenschutzda' %}">Datenschutz</a><br />
|
|
<a style="color: #999; text-decoration: none;" href="{% url 'impressumda' %}">Impressum</a>
|
|
</div>
|
|
<div style="margin-top: 10px; margin-bottom: 5px;" class="sidebar-heading">
|
|
Version 0.9.1
|
|
</div>
|
|
</div>
|
|
</ul>
|
|
<!-- End of Sidebar -->
|
|
|
|
<!-- Content Wrapper -->
|
|
<style scoped>
|
|
#content-wrapper {
|
|
margin-left: 212px;
|
|
margin-top: -72px;
|
|
}
|
|
/*@media screen and (max-width: 768px) {
|
|
#content-wrapper {
|
|
margin-left: 0px !important;
|
|
}
|
|
}*/
|
|
</style>
|
|
<div id="content-wrapper">
|
|
<!-- Main Content -->
|
|
<!-- Topbar -->
|
|
|
|
|
|
|
|
|
|
<nav id="topnavbarmain" class="navbar navbar-expand navbar-light bg-white topbar fixed-top mb-4 static-top shadow" style="margin-left: 224px;">
|
|
|
|
|
|
<!-- Sidebar Toggle (Topbar) -->
|
|
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3" onclick="javascript:toggleSidebar()">
|
|
<i class="fa fa-bars"></i>
|
|
</button>
|
|
|
|
<!-- Topbar Search -->
|
|
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
|
|
<div class="input-group">
|
|
<input list="searchres" placeholder="Agenturweite Suche..." id="search_string" onkeyup="javascript:startSearch(this.value)" class="form-control bg-light border-0 small" >
|
|
<!--
|
|
<input type="text" onkeyup="javascript:startSearch(this.value)" class="form-control bg-light border-0 small" placeholder="Suche..." aria-label="Suche" aria-describedby="basic-addon2" id="searchfield">
|
|
-->
|
|
<div class="input-group-append">
|
|
<button class="btn btn-primary" type="button" onclick="javascript:clearSF()">
|
|
<i class="fas fa-times fa-sm"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<style type="text/css">
|
|
.dropdown-header {
|
|
background-color: #5a5c69 !important;
|
|
border-color: #5a5c69 !important;
|
|
}
|
|
</style>
|
|
|
|
{% getUserIsRep request.user as repstring %}
|
|
{% if repstring != False %}
|
|
<div class="alert alert-info alert-dismissible" id="repholinfo" style="margin-bottom: -2px; text-align: center; display: none; float: right;"> <i class="fas fa-info-circle"></i>
|
|
{{repstring}}
|
|
<button type="button" class="close" data-dismiss="alert" onclick="javascript:closeRepHolInfo()">×</button>
|
|
</div>
|
|
<script type="text/javascript">
|
|
function closeRepHolInfo(){
|
|
localStorage.setItem("repholinfo_close", "1");
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
showrepholinfo = localStorage.getItem("repholinfo_close");
|
|
if(showrepholinfo == null){
|
|
$("#repholinfo").show();
|
|
}
|
|
});
|
|
|
|
</script>
|
|
{% endif %}
|
|
|
|
<!-- Topbar Navbar -->
|
|
<ul class="navbar-nav ml-auto ">
|
|
{% if request.user.usertime.usetime and user.usertime.usetime_start != None %}
|
|
<li class="nav-item dropdown no-arrow mx-1">
|
|
<a class="nav-link dropdown-toggle" onclick="" id="timemanagement_realtime" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<i class="far fa-clock"></i>
|
|
</a>
|
|
|
|
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown" id="timemanagement_clock" name="timemanagement_clock" aria-role="static">
|
|
<h6 class="dropdown-header text-white">
|
|
Zeiterfassung
|
|
</h6>
|
|
<div>
|
|
{% block timemanagement_content_realtime %}
|
|
{% include "timemanagement/realtime_dropdown.html" %}
|
|
{% endblock %}
|
|
</div>
|
|
<a class="dropdown-item text-center small text-gray-500" href="{% url 'tm-management' %}">Zur Zeiterfassung</a>
|
|
</div>
|
|
</li>
|
|
{% endif %}
|
|
|
|
|
|
<!-- ALERT_AREA -->
|
|
<!-- Nav Item - Alerts -->
|
|
<li class="nav-item dropdown no-arrow mx-1">
|
|
<a class="nav-link dropdown-toggle" onclick="changeNewNotToViewed()" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<i class="fas fa-bell fa-fw"></i>
|
|
<!-- Counter - Alerts -->
|
|
<span class="badge badge-danger badge-counter" id="notificationcounter"></span>
|
|
</a>
|
|
<!-- Dropdown - Alerts -->
|
|
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown" id="allnotificationsarea">
|
|
<h6 class="dropdown-header bg-success text-white">
|
|
Benachrichtigungen
|
|
</h6>
|
|
<!-- ITEMS -->
|
|
<span id="notification_items"></span>
|
|
<!-- ITEMS END -->
|
|
<a class="dropdown-item text-center small text-gray-500" href="{% url 'showallnotificaions' %}">Alle Benachrichtigungen ansehen</a>
|
|
</div>
|
|
</li>
|
|
<style type="text/css">
|
|
{% getonlinestatuscolor request.user as onlinecolor %}
|
|
.roundimg_base {
|
|
border-radius: 50%;
|
|
-webkit-box-shadow: 0px 0px 4px 5px {{onlinecolor}};
|
|
-moz-box-shadow: 0px 0px 4px 5px {{onlinecolor}};
|
|
box-shadow: 0px 0px 4px 5px {{onlinecolor}};
|
|
}
|
|
</style>
|
|
<div class="topbar-divider d-none d-sm-block"></div>
|
|
<!-- Nav Item - User Information -->
|
|
<li class="nav-item dropdown no-arrow">
|
|
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
<span class="mr-2 d-none d-lg-inline text-gray-600 small">{{request.user.first_name}} {{request.user.last_name}}
|
|
</span>
|
|
<img id="userbaseprofilepicture" class="img-profile roundimg_base ml-2" src="{{ user.profile.get_photo_url }}">
|
|
</a>
|
|
<!-- Dropdown - User Information -->
|
|
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown">
|
|
<a class="dropdown-item" onclick="javascript:changeOnlineStatus(0)" href="#/">
|
|
<i class="fas fa-circle mr-2" style="color: green"></i>
|
|
Online
|
|
</a>
|
|
<a class="dropdown-item" onclick="javascript:changeOnlineStatus(1)" href="#/">
|
|
<i class="fas fa-circle mr-2" style="color: red"></i>
|
|
Beschäftigt
|
|
</a>
|
|
<a class="dropdown-item" onclick="javascript:changeOnlineStatus(2)" href="#/">
|
|
<i class="fas fa-circle mr-2" style="color: yellow"></i>
|
|
Abwesend
|
|
</a>
|
|
<a class="dropdown-item" onclick="javascript:changeOnlineStatus(3)" href="#/">
|
|
<i class="fas fa-circle mr-2" style="color: grey"></i>
|
|
Offline anzeigen
|
|
</a>
|
|
|
|
|
|
<div class="dropdown-divider"></div>
|
|
<!--<a class="dropdown-item" onclick="userGoToSettings({{user.pk}})" href="{% url 'orga-single' user.pk %}">-->
|
|
<a class="dropdown-item" onclick="userGoToSettings()" href="#/">
|
|
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
|
|
Einstellungen
|
|
</a>
|
|
<a class="dropdown-item" onclick="userGoToNotification()" href="#/">
|
|
<i class="fas fa-bell fa-sm fa-fw mr-2 text-gray-400"></i>
|
|
Benachrichtigungen
|
|
</a>
|
|
<div class="dropdown-divider"></div>
|
|
<a class="dropdown-item" href="{% url 'users-logout' %}">
|
|
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
|
|
Abmelden
|
|
</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<!-- End of Topbar -->
|
|
<!-- Begin Page Content -->
|
|
<div class="container-fluid" >
|
|
|
|
<div id="searchcontent" style="min-height: 100%; margin-top: 85px;">
|
|
</div>
|
|
|
|
<div id="maincontent" style="min-height: 100%; margin-top: 85px;" >
|
|
<!-- MESSAGES -->
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ message.tags }} alert-dismissible fade show col-6" role="alert" id="message_{{forloop.counter}}">
|
|
{{ message }}
|
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% block content %}
|
|
{% endblock %}
|
|
</div>
|
|
<div style="height: 300px"> </div>
|
|
</div> <!-- End of Main Content CONTAINER FLUID-->
|
|
<!-- End of Content Wrapper -->
|
|
{% if active_link != 'chat' %}
|
|
{% if request.user.profile.agency.module_chat %}
|
|
<div id="chat_alluserscontent" style="position: fixed; bottom: 75px; right: 36px; z-index: 999;"></div>
|
|
<button id="chatButton" class="btn btn-primary" style="position: fixed; right: 36px; bottom: 30px;"><i class="far fa-comments"></i></button>
|
|
|
|
<!-- CHATAREA -->
|
|
<div id="dynamicchatwindow" class="col-4" style="position: fixed; bottom: 30px; right: 23px; display: none;z-index: 999;">
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<span id="dynamicchatwindow_content"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
|
|
</script>
|
|
{% endif %}
|
|
<!-- CHATAREA END -->
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- CHAT BUTTON -->
|
|
|
|
|
|
<!-- End of Page Wrapper -->
|
|
<!--
|
|
<footer class="sticky-footer bg-white" style="width: 86.2%;position: absolute;
|
|
bottom: 0; margin-top: 80px; padding-top: 20px; padding-bottom: 20px;
|
|
">
|
|
<div class="container my-auto">
|
|
<div class="copyright text-center my-auto">
|
|
<span>Copyright © digitale-agentur.com für <b>{{ user.profile.agency.name }}</b></span><br /><small>Version 0.0.5</small>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
-->
|
|
<!-- Scroll to Top Button-->
|
|
<a class="scroll-to-top rounded" href="#page-top">
|
|
<i class="fas fa-angle-up"></i>
|
|
</a>
|
|
<!-- Bootstrap core JavaScript-->
|
|
<!--<script src="{%static 'users/vendor/jquery/jquery.min.js' %}"></script>-->
|
|
<script type="text/javascript" src="{%static 'users/vendor/bootstrap/js/bootstrap.bundle.min.js' %}"></script>
|
|
<!-- Core plugin JavaScript-->
|
|
<script type="text/javascript" src="{%static 'users/vendor/jquery-easing/jquery.easing.min.js' %}"></script>
|
|
<!-- DATABLES JS -->
|
|
<script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
|
|
<script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap4.min.js"></script>
|
|
|
|
<!-- Custom scripts for all pages-->
|
|
<script type="text/javascript" src="{%static 'users/js/sb-admin-2.js' %}"></script>
|
|
<!-- CUSTOM FONT -->
|
|
<!--<link href="{% static 'users/css/custom.css' %}" rel="stylesheet">-->
|
|
|
|
|
|
<!-- TABLE SORT -->
|
|
<!--<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>-->
|
|
|
|
<!-- Page level plugins -->
|
|
<!--<script src="vendor/chart.js/Chart.min.js"></script>-->
|
|
|
|
<!-- Page level custom scripts -->
|
|
<!--<script src="js/demo/chart-area-demo.js"></script>-->
|
|
<!--<script src="js/demo/chart-pie-demo.js"></script>-->
|
|
|
|
|
|
<link href="{% static 'users/css/custom.css' %}" type="text/css" rel="stylesheet">
|
|
|
|
</body>
|
|
</html>
|
|
|
|
{% if request.user.profile.showtooltips %}
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$('[data-toggle="tooltip"]').tooltip()
|
|
});
|
|
</script>
|
|
{% endif %}
|
|
|
|
<script type="text/javascript">
|
|
|
|
function userGoToSettings(){
|
|
localStorage.setItem('activeTabSettings', "profil");
|
|
location.href = "{% url 'dasettings' %}"
|
|
}
|
|
|
|
function userGoToNotification(){
|
|
localStorage.setItem('activeTabSettings', "notifications");
|
|
location.href = "{% url 'dasettings' %}"
|
|
}
|
|
|
|
function clearSF(){
|
|
$("#searchcontent").empty();
|
|
$("#searchcontent").hide();
|
|
$("#maincontent").show();
|
|
$("#search_string").val("");
|
|
}
|
|
|
|
function startSearch(searchstring){
|
|
if(searchstring.length > 2){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "/dashboard/globalsearch",
|
|
data:{
|
|
searchstring: searchstring
|
|
},
|
|
success: function( data )
|
|
{
|
|
$("#maincontent").hide();
|
|
$("#searchcontent").show();
|
|
$("#searchcontent").html(data);
|
|
}
|
|
});
|
|
} else {
|
|
$("#searchcontent").empty();
|
|
$("#searchcontent").hide();
|
|
$("#maincontent").show();
|
|
}
|
|
}
|
|
|
|
|
|
$(document).ready(function(){
|
|
if($( window ).width() < 768)
|
|
{
|
|
$("#accordionSidebar").addClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "0px");
|
|
|
|
$("#topnavbarmain").css("margin-left" , "0px");
|
|
|
|
sidebar_hidden = false;
|
|
}
|
|
});
|
|
|
|
// Toggle the side navigation
|
|
function toggleSidebar(){
|
|
|
|
if(sidebar_hidden == false){
|
|
$("#accordionSidebar").addClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "105px");
|
|
|
|
$("#topnavbarmain").css("margin-left" , "105px");
|
|
|
|
sidebar_hidden = true;
|
|
}
|
|
else{
|
|
$("#accordionSidebar").removeClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "0px");
|
|
$("#topnavbarmain").css("margin-left" , "0px");
|
|
sidebar_hidden = false;
|
|
}
|
|
}
|
|
|
|
$( window ).resize(function() {
|
|
if($( window ).width() < 750)
|
|
{
|
|
$("#accordionSidebar").addClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "0px");
|
|
$("#topnavbarmain").css("margin-left" , "0px");
|
|
sidebar_hidden = false;
|
|
}
|
|
else{
|
|
$("#accordionSidebar").removeClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "212px");
|
|
|
|
$("#topnavbarmain").css("margin-left" , "224px");
|
|
sidebar_hidden = true;
|
|
}
|
|
});
|
|
/*
|
|
AJAX CALL FOR NOTIFICATIONS
|
|
|
|
*/
|
|
newunknownotificationscounter = 0;
|
|
|
|
|
|
|
|
function loadUnsendNotifications(){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "/notifications/checknotifications",
|
|
data : {
|
|
action : "checknotifications"
|
|
},
|
|
success: function( data )
|
|
{
|
|
$("#notification_items").html("");
|
|
notifications = data['unknownnotification'];
|
|
var i = 0;
|
|
for (var key in notifications) {
|
|
|
|
$("#notification_items").append('<span><a href="/'+notifications[i]['elelink']+'" id="notifyid_'+notifications[i]['not_id']+'" class="dropdown-item d-flex align-items-center"><div><div class="small text-gray-500">'+notifications[i]['date']+'</div>'+notifications[i]['text']+'</div></a></span>')
|
|
i = i + 1;
|
|
newunknownotificationscounter = newunknownotificationscounter + 1;
|
|
}
|
|
$("#notificationcounter").html("");
|
|
|
|
if(i > 0){$("#notificationcounter").html(i);}
|
|
}
|
|
});
|
|
}
|
|
|
|
function loadUnviewnNotifications(){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "/notifications/getnotifications",
|
|
data : {
|
|
action : "oldnotifications"
|
|
},
|
|
success: function( data )
|
|
{
|
|
notifications = data['oldnotifications'];
|
|
i = 0;
|
|
$("#notification_items").html("");
|
|
for (var key in notifications) {
|
|
if(newunknownotificationscounter <= 5){
|
|
$("#notification_items").append('<a href="/'+notifications[i]['elelink']+'" id="notifyid_'+notifications[i]['not_id']+'" class="dropdown-item d-flex align-items-center"><div><div class="small text-gray-500">'+notifications[i]['date']+'</div>'+notifications[i]['text']+'</div></a>')
|
|
i = i + 1;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function changeNewNotToViewed(){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "/notifications/newnotificationsviewed",
|
|
data : {
|
|
action : "newnotificationsviewed"
|
|
},
|
|
success: function( data )
|
|
{
|
|
$("#notificationcounter").html("");
|
|
}
|
|
});
|
|
}
|
|
|
|
function removeNotification(notifyid){
|
|
//$("#notifyid_" + notifyid).remove()
|
|
//$("#allnotificationsarea").show();
|
|
}
|
|
|
|
|
|
|
|
$(document).on('click', function (e) {
|
|
|
|
if(e.target["id"] != 'chatButton'){
|
|
if ($(e.target).closest("#chat_alluserscontent").length === 0) {
|
|
$("#chat_alluserscontent").fadeOut();
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
|
|
|
|
<!-- WEBSOCKETS -->
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function(){
|
|
|
|
$("#chat_alluserscontent").hide();
|
|
|
|
ws_string = 'wss://'
|
|
if (location.protocol !== 'https:') {
|
|
ws_string = 'ws://'
|
|
}
|
|
|
|
const mainwebsocket = new WebSocket(ws_string+window.location.host+"/ws/")
|
|
|
|
mainwebsocket.onmessage = function(e) {
|
|
if(e["data"] != "presence_update")
|
|
{
|
|
//HANDLER FOR ALL PUSHNOTIFICATIONS
|
|
if(e["data"].split("__")[0] == "pushnotification"){
|
|
|
|
var notify = new Notification('Digitale Agentur', {
|
|
body: e["data"].split("__")[1]
|
|
});
|
|
}
|
|
loadUnsendNotifications();
|
|
loadUnviewnNotifications();
|
|
}
|
|
else{
|
|
|
|
{% if active_link == "chat" %}
|
|
if(preventUpdatePresLive == false){
|
|
updatePresenceLive();
|
|
}
|
|
{% endif %}
|
|
}
|
|
};
|
|
|
|
mainwebsocket.onclose = function(e) {
|
|
console.error('Chat socket closed unexpectedly');
|
|
};
|
|
|
|
|
|
//HEARTBEAT every minute
|
|
setInterval(function()
|
|
{
|
|
mainwebsocket.send(JSON.stringify("heartbeat"));
|
|
console.log("heartbeat is alive...");
|
|
},60000);
|
|
|
|
|
|
});
|
|
|
|
function changeOnlineStatus(newstat){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "{% url 'users-updateonlinestat' %}",
|
|
data : {
|
|
newstat : newstat
|
|
},
|
|
success: function( data )
|
|
{
|
|
if(data["newstat"] == "0"){
|
|
$("#userbaseprofilepicture").css({
|
|
'-webkit-box-shadow' : '0px 0px 4px 5px green',
|
|
'-moz-box-shadow': '0px 0px 4px 5px green',
|
|
'box-shadow': '0px 0px 4px 5px green'
|
|
})
|
|
}
|
|
else if(data["newstat"] == "1"){
|
|
$("#userbaseprofilepicture").css({
|
|
'-webkit-box-shadow' : '0px 0px 4px 5px red',
|
|
'-moz-box-shadow': '0px 0px 4px 5px red',
|
|
'box-shadow': '0px 0px 4px 5px red'
|
|
})
|
|
}
|
|
else if(data["newstat"] == "2"){
|
|
$("#userbaseprofilepicture").css({
|
|
'-webkit-box-shadow' : '0px 0px 4px 5px orange',
|
|
'-moz-box-shadow': '0px 0px 4px 5px orange',
|
|
'box-shadow': '0px 0px 4px 5px orange'
|
|
})
|
|
}
|
|
else if(data["newstat"] == "3"){
|
|
$("#userbaseprofilepicture").css({
|
|
'-webkit-box-shadow' : '0px 0px 4px 5px grey',
|
|
'-moz-box-shadow': '0px 0px 4px 5px grey',
|
|
'box-shadow': '0px 0px 4px 5px grey'
|
|
})
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
window.onerror = function (msg, url, line) {
|
|
return false;
|
|
}
|
|
|
|
if (!window.Notification) {
|
|
console.log('Browser does not support notifications.');
|
|
} else {
|
|
// check if permission is already granted
|
|
if (Notification.permission === 'granted') {
|
|
// show notification here
|
|
} else {
|
|
// request permission from user
|
|
Notification.requestPermission().then(function(p) {
|
|
if(p === 'granted') {
|
|
// show notification here
|
|
console.log("User receive notifications.")
|
|
} else {
|
|
console.log('User blocked notifications.');
|
|
}
|
|
}).catch(function(err) {
|
|
console.error(err);
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$("#chatButton").click(function(){
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "{% url 'chat:chtaajax-getloggedusers' %}",
|
|
data : {
|
|
action : "getloggedusers"
|
|
},
|
|
success: function( data )
|
|
{
|
|
$("#chat_alluserscontent").fadeToggle();
|
|
$("#chat_alluserscontent").html(data);
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|