893 lines
28 KiB
HTML
893 lines
28 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_neu.ico' %}">
|
|
<title>Digitale Agentur</title>
|
|
|
|
<!-- Custom fonts for this template-->
|
|
|
|
<link rel="canonical" href="https://app.digitale-agentur.com">
|
|
<script src="{%static 'users/js/jquery.js' %}" type="text/javascript"></script>
|
|
|
|
<link href="{%static 'users/vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
|
|
|
|
<link href="{%static 'users/css/google_font.css' %}" rel="stylesheet" type="text/css">
|
|
|
|
|
|
<link href="{%static 'users/css/google_swap.css' %}" rel="stylesheet" type="text/css">
|
|
<script src="{%static 'users/js/jquery_ui_min.js' %}" type="text/javascript"></script>
|
|
<link href="{% static 'users/css/cropper.min.css' %}" type="text/css" rel="stylesheet">
|
|
|
|
|
|
<!-- DATATABLES -->
|
|
<link href="{% static 'users/css/jquery_datatables.css' %}" type="text/css" rel="stylesheet">
|
|
<link href="{% static 'users/css/datatables_bs4.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 src="{%static 'users/js/bs4_summernote.js' %}" type="text/javascript"></script>
|
|
<link href="{% static 'users/css/bs4_summernote.css' %}" type="text/css" rel="stylesheet">
|
|
<script type="text/javascript" src="{% static 'summernote/lang/summernote-de-DE.min.js' %}"></script>
|
|
|
|
<!-- Bootstrap core JavaScript-->
|
|
<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="{%static 'users/js/jquery_dataTables.min.js' %}"></script>
|
|
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.22/dataRender/datetime.js"></script>
|
|
|
|
<script type="text/javascript" src="{%static 'users/js/bs4_dt.js' %}"></script>
|
|
|
|
<!-- Custom scripts for all pages-->
|
|
<script type="text/javascript" src="{%static 'users/js/sb-admin-2.js' %}"></script>
|
|
|
|
<link href="{% static 'users/css/custom.css' %}" type="text/css" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<!-- Page Wrapper -->
|
|
<div id="wrapper" >
|
|
|
|
|
|
<!-- Sidebar -->
|
|
<!--<ul class=" bg-gray-900 sidebar sidebar-dark accordion fixed-top " style="overflow: all; height: 100vh;"id="accordionSidebar">
|
|
-->
|
|
{% if request.user.profile.agency.paymentplan == 0 and request.user.profile.agency.paymentstatus == 0 %}
|
|
<style type="text/css">
|
|
.trail_arrow {
|
|
width: 0;
|
|
height: 0;
|
|
border-style: solid;
|
|
border-width: 90px 90px 0 0;
|
|
border-color: red transparent transparent transparent;
|
|
position: absolute;
|
|
z-index: 20;
|
|
}
|
|
.trail_font{
|
|
color: white;
|
|
font-size: 10pt;
|
|
transform: rotate(-45deg);
|
|
position: absolute;
|
|
margin-top: -65px;
|
|
margin-left: 0px;
|
|
}
|
|
|
|
</style>
|
|
<!-- <div class="trail_arrow">
|
|
{% getTrialDays request.user.profile.agency as trialdays %}
|
|
<span class="trail_font"><nobr><b>TRIAL ({{trialdays}})</b></nobr>
|
|
</span>
|
|
</div>-->
|
|
{% endif %}
|
|
|
|
<!-- 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>-->
|
|
<!--<img src="{% static 'users/img/logo_neu.png' %}" width="100%">-->
|
|
<!--</a>-->
|
|
<!-- Divider -->
|
|
<!--<hr class="sidebar-divider my-0">-->
|
|
|
|
<!-- Nav Item - Dashboard -->
|
|
|
|
<!-- Sidebar Toggler (Sidebar) -->
|
|
<!--
|
|
<div class="text-center d-none d-md-inline">
|
|
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
|
</div>
|
|
-->
|
|
|
|
|
|
<!--<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>-->
|
|
<!--<a style="color: #999; text-decoration: none;" href="https://digitale-agentur.com/datenschutz" target="_blank">Datenschutz</a><br />
|
|
<a style="color: #999; text-decoration: none;" href="https://digitale-agentur.com/impressum" target="_blank">Impressum</a>
|
|
<br />
|
|
<br />
|
|
Version 1.0.8
|
|
<br />
|
|
<br />
|
|
<a href="https://www.myvve.de/" target="_blank"><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></a>
|
|
</div>
|
|
</div>
|
|
</ul>-->
|
|
|
|
<!-- End of Sidebar -->
|
|
|
|
<!-- Content Wrapper -->
|
|
<!--<style scoped>
|
|
.sidebar{
|
|
overflow-y: auto;
|
|
overflow-x: hidden;
|
|
height : 100%; or
|
|
height : 100vh; or
|
|
height : 450px;
|
|
}
|
|
#content-wrapper {
|
|
margin-left: 212px;
|
|
margin-top: -72px;
|
|
}
|
|
/* MARGIN TOP FOR FIREFOX */
|
|
@-moz-document url-prefix() {
|
|
#content-wrapper {
|
|
margin-left: 212px;
|
|
margin-top: -158px;
|
|
}
|
|
}
|
|
|
|
/* MARGIN FOR IOS/SAFARI 10+ and 6+ */
|
|
@media not all and (min-resolution:.001dpcm) {
|
|
@media {
|
|
#content-wrapper {
|
|
margin-left: 212px;
|
|
margin-top: -158px;
|
|
}
|
|
}
|
|
}
|
|
|
|
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
|
|
@media {
|
|
#content-wrapper {
|
|
margin-left: 212px;
|
|
margin-top: -158px;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*@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="">-->
|
|
<!-- 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()" id="agencysearch_button" disabled="">
|
|
<span id="agencysearch_icon">
|
|
<i class="fas fa-search"></i>
|
|
</span>
|
|
</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 %}
|
|
<script type="text/javascript">
|
|
function toggleDropDown(){
|
|
|
|
$("#timemanagement_clock").toggle();
|
|
localStorage.setItem("is_closed", 1);
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
<!-- Topbar Navbar -->
|
|
<!--<ul class="navbar-nav ml-auto ">-->
|
|
<!-- TASK: Hier Cookie mit einbauen -->
|
|
|
|
|
|
|
|
<!-- 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="{{ request.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>
|
|
<a class="dropdown-item" href="{% url 'users-log' request.user.pk %}">
|
|
<i class="fas fa-list-ol fa-sm fa-fw mr-2 text-gray-400"></i>
|
|
Anmeldevorgänge
|
|
</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" style="padding-top: 10px !important;" >
|
|
|
|
<div id="searchcontent" style="min-height: 100%; display: none;">
|
|
</div>
|
|
<div id="maincontent" style="min-height: 100%; " >
|
|
<!-- 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 -->
|
|
</div>
|
|
</div>
|
|
<!-- SUMMERNOTE ADDED CSS -->
|
|
<style type="text/css">
|
|
.note-editable li {
|
|
list-style-position: inside !important;
|
|
}
|
|
.card-body li {
|
|
list-style-position: inside !important;
|
|
}
|
|
</style>
|
|
|
|
|
|
<!-- Scroll to Top Button-->
|
|
<a class="scroll-to-top rounded" href="#page-top">
|
|
<i class="fas fa-angle-up"></i>
|
|
</a>
|
|
|
|
</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("");
|
|
$("#agencysearch_icon").html('<i class="fas fa-search fa-sm"></i>');
|
|
$("#agencysearch_button").prop("disabled", true);
|
|
}
|
|
|
|
function startSearch(searchstring){
|
|
if(searchstring.length > 2){
|
|
|
|
$("#agencysearch_button").prop("disabled", false);
|
|
$("#agencysearch_icon").html('<i class="fas fa-times fa-sm"></i>');
|
|
|
|
$.ajax(
|
|
{
|
|
type: "GET",
|
|
url: "/dashboard/globalsearch",
|
|
data:{
|
|
searchstring: searchstring
|
|
},
|
|
success: function( data )
|
|
{
|
|
$("#maincontent").hide();
|
|
$("#searchcontent").show();
|
|
$("#searchcontent").html(data);
|
|
}
|
|
});
|
|
} else {
|
|
$("#agencysearch_icon").html('<i class="fas fa-search fa-sm"></i>');
|
|
$("#agencysearch_button").prop("disabled", true);
|
|
$("#searchcontent").empty();
|
|
$("#searchcontent").hide();
|
|
$("#maincontent").show();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
$("#search_string").keypress(function(e) {
|
|
//Enter key
|
|
if (e.keyCode === 13) {
|
|
// Cancel the default action, if needed
|
|
e.preventDefault();
|
|
console.log("DEFAULT")
|
|
// Trigger the button element with a click
|
|
}
|
|
});
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
// Toggle the side navigation
|
|
/*
|
|
function toggleSidebar(){
|
|
if(sidebar_hidden == false){
|
|
$("#accordionSidebar").removeClass("toggled");
|
|
$("#content-wrapper").css("margin-left" , "105px");
|
|
|
|
$("#topnavbarmain").css("margin-left" , "105px");
|
|
|
|
sidebar_hidden = true;
|
|
}
|
|
else{
|
|
$("#accordionSidebar").addClass("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) {
|
|
|
|
console.log(e);
|
|
|
|
|
|
if(e["data"] != "presence_update")
|
|
{
|
|
//HANDLER FOR ALL PUSHNOTIFICATIONS
|
|
if(e["data"].split("__")[0] == "pushnotification"){
|
|
|
|
tempsplit = e["data"].split("__");
|
|
finalsplit = tempsplit[1].split(" ");
|
|
|
|
if(finalsplit[0] != "Chat"){
|
|
var notify = new Notification('Digitale Agentur', {
|
|
body: e["data"].split("__")[1]
|
|
});
|
|
}
|
|
else{
|
|
{% if active_link == "chat" %}
|
|
chatopen= true;
|
|
{% else %}
|
|
chatopen= false;
|
|
{% endif %}
|
|
|
|
windowvisible = false;
|
|
//Get Minimized-Window-Status to show up chat message, when window is in chat, but not focused by user
|
|
|
|
if(!document.hasFocus()){
|
|
var notify = new Notification('Digitale Agentur', {
|
|
body: e["data"].split("__")[1]
|
|
});
|
|
}
|
|
else if(chatopen == false){
|
|
if($("#dynamicchatwindow").is(":visible")){
|
|
console.log("user in chat...")
|
|
}
|
|
else{
|
|
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>
|
|
<!-- Billstatus -->
|
|
<!-- Billarea -->
|
|
{% getAgencyBillStatus request.user.profile.agency as billstatus %}
|
|
{% if billstatus == 3 and request.user|has_group_byname:"Administratoren" %}
|
|
<!-- All close -->
|
|
<div class="modal fade show" tabindex="-1" role="dialog" data-backdrop="static" id="noaccess">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Testphase abgelaufen</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
Der Testzeitraum Ihrer Digitalen Agentur ist abgelaufen. Sollten Sie die Agentur erneut eröffnen wollen, wenden Sie sich bitte an den Support per E-Mail an support@digitale-agentur.com!
|
|
</div>
|
|
<div class="modal-footer">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$("#noaccess").modal({
|
|
backdrop: 'static',
|
|
keyboard: false
|
|
});
|
|
});
|
|
</script>
|
|
{% elif billstatus == 2 and request.user|has_group_byname:"Administratoren" %}
|
|
<div class="modal fade" tabindex="-1" role="dialog" data-backdrop="static" id="noaccess">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Testphase abgelaufen</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
Der Testzeitraum Ihrer Digitalen Agentur ist abgelaufen. Bitte starten Sie ein Abo, da sonst der Zugang zu Ihrer Digitalen Agentur in wenigen Tagen gesperrt wird!
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal">Schliessen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
|
|
if(!localStorage.getItem("closetest")){
|
|
$("#noaccess").modal({
|
|
backdrop: 'static',
|
|
});
|
|
localStorage.setItem("closetest", true);
|
|
$("#noaccess").modal("show");
|
|
}
|
|
|
|
|
|
});
|
|
</script>
|
|
{% elif billstatus == 1 and request.user|has_group_byname:"Administratoren" %}
|
|
<div class="modal fade show" tabindex="-1" role="dialog" data-backdrop="static" id="noaccess">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Testphase abgelaufen</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
Der Testzeitraum Ihrer Digitalen Agentur ist abgelaufen. Bitte starten Sie ein Abo, da sonst der Zugang zu Ihrer Digitalen Agentur gesperrt wird!
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal">Schliessen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
if(!localStorage.getItem("closetest")){
|
|
$("#noaccess").modal({
|
|
backdrop: 'static',
|
|
});
|
|
localStorage.setItem("closetest", true);
|
|
$("#noaccess").modal("show");
|
|
}
|
|
});
|
|
</script>
|
|
{% elif billstatus == 11 and request.user|has_group_byname:"Administratoren" %}
|
|
<div class="modal fade show" tabindex="-1" role="dialog" data-backdrop="static" id="noaccess">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Keine aktuellen Rechnungen</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
Ihre Rechnungen sind ausgelaufen bzw. nicht bezahlt. Bitte prüfen Sie Ihren Abo-Status und aktuelle Rechnungen! Wenden Sie sich bei Fragen an den Support.
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-dismiss="modal">Schliessen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
if(!localStorage.getItem("closetest")){
|
|
$("#noaccess").modal({
|
|
backdrop: 'static',
|
|
});
|
|
localStorage.setItem("closetest", true);
|
|
$("#noaccess").modal("show");
|
|
}
|
|
});
|
|
</script>
|
|
|
|
{% endif %}
|
|
|
|
<script type="text/javascript">
|
|
console.log("{{billstatus}}");
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|