DEV FÜR 0.9.0
This commit is contained in:
parent
ce2bc15b61
commit
c7bcd601fd
|
|
@ -131,7 +131,7 @@ a.disabled {
|
|||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<div class="dropdown-header">Dateioptionen</div>
|
||||
<div class="dropdown-header" style="color: #ffffff">Dateioptionen</div>
|
||||
<a class="dropdown-item" href="javascript:moveFile({{file.pk}})">Verschieben</a>
|
||||
<a class="dropdown-item" href="javascript:replaceFile({{file.pk}})">Ersetzen</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
|
@ -264,7 +264,7 @@ a.disabled {
|
|||
Sie können die Datei nicht mit sich selbst ersetzen.
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Schließen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -285,8 +285,8 @@ a.disabled {
|
|||
<div id="connectedStandards"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doDelDataFile()">Löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doDelDataFile()">Löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -324,8 +324,8 @@ a.disabled {
|
|||
</div>
|
||||
<div class="modal-footer" >
|
||||
|
||||
<button id="btnDoReplaceFileSnd" type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doreplaceFile(0)" disabled="true">Ersetzen, Alte Datei <u>nicht</u> löschen!</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button id="btnDoReplaceFileSnd" type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doreplaceFile(0)" disabled="true">Ersetzen, Alte Datei <u>nicht</u> löschen!</button>
|
||||
<button type="button" class="btn btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -348,7 +348,7 @@ a.disabled {
|
|||
<div id="agencydirlist"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -377,8 +377,9 @@ a.disabled {
|
|||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Abrechen</button>
|
||||
<button id="doActionTaskModal" type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:addDirAction()" disabled="true">Ordner anlegen</button>
|
||||
|
||||
<button id="doActionTaskModal" type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:addDirAction()" disabled="true">Ordner anlegen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -249,7 +249,8 @@ def adddirbyajax(request, parent):
|
|||
request.decoding = 'utf-8'
|
||||
|
||||
# VALIDATE FILE-TYPE
|
||||
file_ext = request.FILES['uploadedfile'].name.split(".")[1]
|
||||
file_ext_arr = request.FILES['uploadedfile'].name.split(".")
|
||||
file_ext = file_ext_arr[len(file_ext_arr)-1]
|
||||
allowed_types = ["txt", "TXT", "png", "PNG", "jpeg", "JPEG", "jpg", "JPG", "PDF", "pdf", "csv", "CSV", "DOC", "doc", "DOCX", "docx", "ODT", "odt", "PPT", "ppt", "PPTX", "pptx", "XLS", "xls", "XLSX", "xlsx", "mov", "MOV", "SVG", "svg", "ZIP", "zip", "RAR", "rar", "EPS", "eps", "MP3", "mp3", "WAV", "wav", "avi", "AVI", "FLV", "flv", "MP4", "mp4"]
|
||||
file_ok = False
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ from django.contrib.auth.models import User
|
|||
from users.models import AgencyGroup, Agency, Profile, AgencyJob, AgencyNetwork, UserTime
|
||||
from PIL import Image
|
||||
from bootstrap_datepicker_plus import DatePickerInput
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
class AgencyTimeManagement(forms.ModelForm):
|
||||
class Meta:
|
||||
|
|
@ -76,7 +77,7 @@ class UserTimeForm(forms.ModelForm):
|
|||
}
|
||||
fields = ["holiday", "loose_holidedate", "startdate", "holiday_start", "wd_mo", "wd_tu", "wd_we", "wd_th", "wd_fr"]
|
||||
widgets = {
|
||||
'loose_holidedate': DatePickerInput(options={"format":'DD.MM.YYYY', "locale":'de'}),
|
||||
'loose_holidedate': DatePickerInput(options={"format":'DD.MM', "locale":'de'}),
|
||||
"startdate" : DatePickerInput(options={"format":'DD.MM.YYYY', "locale":'de'})
|
||||
}
|
||||
|
||||
|
|
@ -121,6 +122,13 @@ class UserNewUserForm(forms.ModelForm):
|
|||
model = User
|
||||
fields = ["first_name", "last_name", "email"]
|
||||
|
||||
|
||||
error_messages = {
|
||||
'email': {
|
||||
'unique': _("Diese E-Mailadresse ist bereits vergeben."),
|
||||
},
|
||||
}
|
||||
|
||||
# NEW USER PROFILE FORM
|
||||
class UserProfileForm(forms.ModelForm):
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
{{ form|crispy }}
|
||||
<hr>
|
||||
<a class="btn" href="{% url 'dasettings' %} ">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary" style="float: right">Agenturverbund speichern</button>
|
||||
<button type="submit" class="btn btn-primary" style="float: right">Speichern</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
</fieldset>
|
||||
<hr>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-success">Agenturdaten Aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">Agenturdaten aktualisieren</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -61,8 +61,9 @@
|
|||
<i class="fas fa-redo-alt"></i>
|
||||
</button>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary js-crop-and-upload">Ausschneiden</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal" onclick="clearImgField()">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary js-crop-and-upload">Ausschneiden</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -280,7 +281,7 @@ function updateFunc(id, funcname){
|
|||
<input class="form-control" type="text" value="{{ele.name}}" onkeyup="javascript:updateFunc({{ele.pk}}, this.value)">
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-danger" onclick="javascript:funcDel({{ele.pk}})" data-toggle="tooltip" data-placement="top" title="Agenturfunktion löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
<button type="button" class="btn btn-danger" style="float: right" onclick="javascript:funcDel({{ele.pk}})" data-toggle="tooltip" data-placement="top" title="Agenturfunktion löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
@ -292,7 +293,7 @@ function updateFunc(id, funcname){
|
|||
<button type="button" class="btn btn-primary" title="Neue Funktion hinzufügen" onclick="javascript:addAgencyJob()" data-toggle="tooltip" data-placement="top" title="Dialog für eine neue Agenturfunktion öffnen"><i class="fas fa-plus"></i> Funktion</button>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{% load crispy_forms_tags %}
|
||||
{% load counter_tag %}
|
||||
{% load static %}
|
||||
<a type="button" class="btn btn-primary" href="{% url 'newagn' %}" data-toggle="tooltip" data-placement="top" title="Erstellen Sie einen neuen Agenturverbund und teilen Sie Ihre Standards."><i class="fas fa-plus"></i> Agenturverbund erstellen</a>
|
||||
<a type="button" class="btn btn-primary" href="{% url 'newagn' %}" data-toggle="tooltip" data-placement="top" title="Erstellen Sie einen neuen Agenturverbund und teilen Sie Ihre Standards."><i class="fas fa-plus"></i> Agenturverbund</a>
|
||||
<hr>
|
||||
<h4>Ihre Agenturverbünde</h4>
|
||||
<div class="table-responsive">
|
||||
|
|
@ -117,8 +117,8 @@
|
|||
Möchten Sie den Agenturverbund <b><span id="agname">NAME</span></b> verlassen?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal" onclick="javascript:doRemAgFromAgn()">Ja, Agenturverbund verlassen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doRemAgFromAgn()">Ja, Agenturverbund verlassen</button>
|
||||
<button type="button" class="btn btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
Achtung! Wenn Sie den Agenturverbund löschen, können die Agenturen innerhalb des Verbunds keine Informationen mehr austauschen.
|
||||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Verbund löschen</button>
|
||||
<a href="{% url 'dasettings' %}" class="btn btn-success">Abbrechen</a>
|
||||
<div class="form-group mt-2">
|
||||
<button type="submit" class="btn btn-primary">Verbund löschen</button>
|
||||
<a href="{% url 'dasettings' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<div id="allGroups">
|
||||
<div id="groupAccordion" class="mt-3">
|
||||
{% for aggroup in agencygroups %}
|
||||
{% setvar 0 %}
|
||||
{% setvar 0 %}
|
||||
{% for user in usersofagency %}
|
||||
{% for group in user.groups.all %}
|
||||
{% if group.name == aggroup.group.name %}
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% getvar as varcounter %}
|
||||
{% getvar as varcounter %}
|
||||
<div class="card mb-2">
|
||||
<div class="card-header" id="agroup_{{aggroup.pk}}" style="float: left">
|
||||
<h5 class="mb-0">
|
||||
|
|
@ -99,6 +99,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if forloop.counter == 2 %}
|
||||
<hr>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -447,8 +452,9 @@ function validateGroupName(groupname){
|
|||
<div id="groupnameerr" class="alert alert-danger mt-3" style="display: none">Falsche Eingabe! Keine Sonderzeichen!</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Abbrechen</button>
|
||||
<button id="saveNewGroup" type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:updateGroupName()" disabled="true">Speichern</button>
|
||||
<button id="saveNewGroup" type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:updateGroupName()" disabled="true">Speichern</button>
|
||||
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -467,8 +473,8 @@ function validateGroupName(groupname){
|
|||
<div class="modal-body" id="delGroupBody">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doDelGroup()">Gruppe löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doDelGroup()">Gruppe löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<button type="submit" class="btn btn-success" data-toggle="tooltip" data-placement="top" title="Mit dem Speichern wird die Seite neu geladen, damit alle Einstellungen aktualisiert werden. Werden Module deaktiviert, gehen die Einstellungen und zugewiesenen Rechte nicht verloren.">Moduleinstellungen aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary" data-toggle="tooltip" data-placement="top" title="Mit dem Speichern wird die Seite neu geladen, damit alle Einstellungen aktualisiert werden. Werden Module deaktiviert, gehen die Einstellungen und zugewiesenen Rechte nicht verloren.">Moduleinstellungen aktualisieren</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
|
@ -56,18 +56,22 @@
|
|||
{% endif %}
|
||||
{% if formfield.name == 'module_organigramm' and user.profile.agency.module_organigramm %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Schließen</button>
|
||||
<button id="" type="button" onclick="javascript:updateOrganigrammSettings()" class="btn btn-success" data-dismiss="modal" >Speichern</button>
|
||||
|
||||
<button id="" type="button" onclick="javascript:updateOrganigrammSettings()" class="btn btn-primary" data-dismiss="modal" >Speichern</button>
|
||||
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
{% elif formfield.name == 'module_timemanagement' and user.profile.agency.module_timemanagement %}
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Schließen</button>
|
||||
<button id="" type="button" onclick="javascript:updateTmSettings()" class="btn btn-success" data-dismiss="modal" >Speichern</button>
|
||||
|
||||
<button id="" type="button " onclick="javascript:updateTmSettings()" class="btn btn-primary" data-dismiss="modal" >Speichern</button>
|
||||
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
{% else %}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Schließen</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@
|
|||
|
||||
<small>Agenturrelevante Daten (Bild, Telefonnummer etc.) werden in der Benutzerverwaltung verändert.</small>
|
||||
<div class="form-group mt-3">
|
||||
<button type="submit" class="btn btn-success">E-Mailadresse aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">E-Mailadresse aktualisieren</button>
|
||||
</div>
|
||||
</form>
|
||||
<form method="POST" enctype="multipart/form-data">
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
</fieldset>
|
||||
|
||||
<div class="form-group mt-3">
|
||||
<button type="submit" class="btn btn-success">Passwort ändern</button>
|
||||
<button type="submit" class="btn btn-primary">Passwort ändern</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@
|
|||
{% endif %}
|
||||
{% if user|usergperm:"usermanager" %}
|
||||
<div class="tab-pane fade" id="user" role="tabpanel" aria-labelledby="user-tab">
|
||||
<h5 class="mt-3">Mtarbeiter{% if request.user.profile.showtooltips %} <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie hier neue Mtarbeiter an, weisen ihnen Gruppen zu und ändern Sie Stammdaten wie Foto, Namen und Agenturfunktion." class="far fa-question-circle"></i></small>{% endif %}</h5>
|
||||
<h5 class="mt-3">Mitarbeiter{% if request.user.profile.showtooltips %} <small><i data-toggle="tooltip" data-placement="top" title="Legen Sie hier neue Mtarbeiter an, weisen ihnen Gruppen zu und ändern Sie Stammdaten wie Foto, Namen und Agenturfunktion." class="far fa-question-circle"></i></small>{% endif %}</h5>
|
||||
<hr>
|
||||
{% block user_content %}
|
||||
{% include "dasettings/user_content.html" %}
|
||||
|
|
@ -201,6 +201,7 @@ var defaultsettingsview = "profil";
|
|||
$(this).tab('show');
|
||||
lastview_name = $(this)[0]['hash'].substring(1);
|
||||
localStorage.setItem('activeTabSettings', lastview_name);
|
||||
console.log(lastview_name)
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ noclickeffect:active { border-style: outset !important;}
|
|||
<span id="areaname_{{area.pk}}" style="color: #ffffff">Bereich <b>{{area.name}} </b></span>
|
||||
</button>
|
||||
<button type="button" style="float: right" class="btn btn-light btn-sm" onclick="javascript:addArea({{area.pk}})" data-toggle="tooltip" data-placement="top" title="Bereichsnamen und -farbe ändern"><small><i class="fas fa-pen"></i></small></button>
|
||||
<button style="float: right" type="button" class="btn btn-light btn-sm mr-1" onclick="javascript:delArea({{area.pk}})" data-toggle="tooltip" data-placement="top" title="Bereich löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
<button style="float: right" type="button" class="btn btn-light btn-sm mr-1" onclick="javascript:delArea({{area.pk}})" data-toggle="tooltip" data-placement="top" title="Bereich löschen"><i class="fas fa-trash"></i></button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="area_content_{{area.pk}}" class="collapse" data-labelledby="area_{{area.pk}}" data-parent="#sortableAreas">
|
||||
|
|
@ -65,8 +65,8 @@ noclickeffect:active { border-style: outset !important;}
|
|||
<td>{{ task.created_area_by.first_name }} {{ task.created_area_by.last_name }}</td>
|
||||
<td>{{ task.created_area_date }}</td>
|
||||
<td>
|
||||
<button style="float: right" class="btn btn-primary btn-sm" onclick="javascript:updateTaskComplete({{task.pk}})" data-toggle="tooltip" data-placement="top" title="Tätigkeit bearbeiten"><small><i class="fas fa-pen"></i></small></button>
|
||||
<button style="float: right" type="button" class="btn btn-danger btn-sm mr-1" onclick="javascript:delTask({{task.pk}})" data-toggle="tooltip" data-placement="top" title="Tätigkeit löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
<button style="float: right" class="btn btn-sm btn-secondary " onclick="javascript:updateTaskComplete({{task.pk}})" data-toggle="tooltip" data-placement="top" title="Tätigkeit bearbeiten"><small><i class="fas fa-pen"></i></small></button>
|
||||
<button style="float: right" type="button" class="btn btn-secondary btn-sm mr-1" onclick="javascript:delTask({{task.pk}})" data-toggle="tooltip" data-placement="top" title="Tätigkeit löschen"><i class="fas fa-trash"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
|
@ -103,8 +103,10 @@ noclickeffect:active { border-style: outset !important;}
|
|||
<div id="newareaname_err" class="alert alert-danger mt-3" style="display: none">Falsche Eingabe! Keine Sonderzeichen!</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Abbrechen</button>
|
||||
<button id="doActionAreaModal" type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:mainmodalAreaSave()" disabled="true">Speichern</button>
|
||||
|
||||
<button id="doActionAreaModal" type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:mainmodalAreaSave()" disabled="true">Speichern</button>
|
||||
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -125,8 +127,8 @@ noclickeffect:active { border-style: outset !important;}
|
|||
Möchten Sie den Bereich <b><span id="areaName"></span></b> wirklich löschen? Alle darin enthaltenen Tätigkeiten werden gelöscht und die Standards müssen neu einer Tätigkeit und einem Bereich zugeordnet werde!
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doDelArea()">Bereich löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:$('#delArea').modal('toggle')">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doDelArea()">Bereich löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal" onclick="javascript:$('#delArea').modal('toggle')">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -153,8 +155,10 @@ noclickeffect:active { border-style: outset !important;}
|
|||
<div id="newtaskname_err" class="alert alert-danger mt-3" style="display: none">Falsche Eingabe! Keine Sonderzeichen!</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Abbrechen</button>
|
||||
<button id="doActionTaskModal" type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:mainmodalTaskSave()" disabled="true">Speichern</button>
|
||||
|
||||
<button id="doActionTaskModal" type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:mainmodalTaskSave()" disabled="true">Speichern</button>
|
||||
|
||||
<button type="button" class="btn " data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -204,8 +208,8 @@ noclickeffect:active { border-style: outset !important;}
|
|||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:updateTask()" id="doActionUpdateTask">Tätigkeit aktualisieren</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:$('#updateTask').modal('toggle')">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:updateTask()" id="doActionUpdateTask">Speichern</button>
|
||||
<button type="button" class="btn" data-dismiss="modal" onclick="javascript:$('#updateTask').modal('toggle')">Abrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -245,8 +249,8 @@ noclickeffect:active { border-style: outset !important;}
|
|||
Möchten Sie den Bereich <b><span id="taskName"></span></b> wirklich löschen? Alle darin enthaltenen <u>Standards</u> müssen eine Tätigkeit erhalten!
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doDelTask()">Tätigkeit löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="javascript:$('#delTask').modal('toggle')">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doDelTask()">Tätigkeit löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal" onclick="javascript:$('#delTask').modal('toggle')">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<td>{{ item.profile.phonemobile }}</td>
|
||||
<td>
|
||||
{% if item != request.user %}
|
||||
<a class="dropdown-item text-danger" href="{% url 'users-delete' item.pk %}" ><i class="fas fa-trash-alt"></i></a>
|
||||
<a href="{% url 'users-delete' item.pk %}" ><button class="btn btn-sm btn-secondary"><i class="fas fa-trash"></i></button></a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@
|
|||
<span id="user_email">{{ mail }}</span> <button onclick="javascript:ChangeMail()" style="float: right" type="button" class="btn btn-secondary btn-sm" id="changemailbutton"><i class="fas fa-pen"></i></button>
|
||||
</p>
|
||||
<div style="float: left">
|
||||
<button type="button" id="" onclick="javascript:sendPassMail({{vieweduser}})" class="btn-primary btn-sm active" >Passwort wiederherstellen</button>
|
||||
<button type="button" id="" onclick="javascript:sendPassMail({{vieweduser}})" class="btn btn-primary btn-sm active" >Passwort wiederherstellen</button>
|
||||
<br /><br /><span class="alert alert-success" id="mailsend" role="alert" style="display: none;"> E-Mail gesendet!</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -143,12 +143,18 @@
|
|||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{% if newuser == 1 %}
|
||||
<a class="btn" href="{% url 'dasettings' %} ">Profil später bearbeiten</a>
|
||||
{% else %}
|
||||
<a class="btn" href="{% url 'dasettings' %} ">Abbrechen</a>
|
||||
{% endif%}
|
||||
|
||||
{% if newuser == 1 %}
|
||||
<button type="submit" class="btn btn-primary" style="float: right">Profilerstellung abschließen</button>
|
||||
{% else %}
|
||||
<button type="submit" name="submitprof" class="btn btn-primary" style="float: right">Profil Aktualisieren</button>
|
||||
<button type="submit" name="submitprof" class="btn btn-primary" style="float: right">Speichern</button>
|
||||
{% endif %}
|
||||
<a class="btn" href="{% url 'dasettings' %} ">Profilbearbeitung abbrechen</a>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="contract" role="tabpanel" aria-labelledby="contract-tab">
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ def DASettings(request):
|
|||
context.update({"agencyjobs" : AgencyJob.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("name")})
|
||||
|
||||
# LOAD GROUPS
|
||||
agencygroups = AgencyGroup.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("agencygroupname")
|
||||
agencygroups = AgencyGroup.objects.filter(agency__pk=request.user.profile.agency.pk).order_by("agencygroupname").order_by("-savefordel")
|
||||
context.update({"agencygroups" : agencygroups})
|
||||
|
||||
# LOAD AREAS
|
||||
|
|
@ -394,8 +394,21 @@ def SettingsAjaxRouter(request):
|
|||
success = True
|
||||
# REMOVE AREA
|
||||
elif request.method == 'GET' and request.GET['action'] == "remove_area" :
|
||||
Areas(pk=request.GET['id']).delete()
|
||||
todelarea = Areas.objects.get(pk=request.GET['id'], agency=request.user.profile.agency)
|
||||
# REMOVE STANDARDS AREA
|
||||
tempstandards = Standards.objects.filter(agency=request.user.profile.agency, area=todelarea)
|
||||
if(request.user.has_perm('standardmanager')):
|
||||
for s in tempstandards:
|
||||
s.area = None
|
||||
s.task = None
|
||||
s.public = False
|
||||
s.save()
|
||||
|
||||
|
||||
todelarea.delete()
|
||||
success = True
|
||||
else:
|
||||
success = False
|
||||
# ADD TASK
|
||||
elif request.method == 'GET' and request.GET['action'] == "add_task" :
|
||||
task = Tasks(created_area_by=request.user, area=Areas.objects.get(pk=request.GET['areaid']), agency=request.user.profile.agency, name=request.GET["newvalue"])
|
||||
|
|
@ -427,7 +440,22 @@ def SettingsAjaxRouter(request):
|
|||
success = True
|
||||
# REMOVE Task
|
||||
elif request.method == 'GET' and request.GET['action'] == "remove_task" :
|
||||
Tasks.objects.get(pk=request.GET['id'], agency=request.user.profile.agency).delete()
|
||||
|
||||
todeltask = Tasks.objects.get(pk=request.GET['id'], agency=request.user.profile.agency)
|
||||
# REMOVE STANDARDS AREA
|
||||
tempstandards = Standards.objects.filter(agency=request.user.profile.agency, task=todeltask)
|
||||
if(request.user.has_perm('standardmanager')):
|
||||
for s in tempstandards:
|
||||
s.task = None
|
||||
s.public = False
|
||||
s.save()
|
||||
|
||||
todeltask.delete()
|
||||
success = True
|
||||
else:
|
||||
success = False
|
||||
|
||||
|
||||
success = True
|
||||
# UPDATE TASK VISIBLE
|
||||
elif request.method == 'GET' and request.GET['action'] == "update_visible_taskname" :
|
||||
|
|
@ -574,6 +602,14 @@ def UserProfileUpdate(request, pk, newuser=0):
|
|||
return render(request, 'dasettings/user_usprof.html', context)
|
||||
|
||||
else:
|
||||
usertime = ""
|
||||
try:
|
||||
usertime = UserTimeForm(instance=UserTime.objects.get(user=usertochange))
|
||||
except:
|
||||
usertime = UserTime(user=usertochange)
|
||||
usertime.save()
|
||||
usertime = UserTimeForm(instance=UserTime.objects.get(user=usertochange))
|
||||
|
||||
|
||||
context = {
|
||||
'active_link' : 'dasettings',
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -15,35 +15,32 @@ import os
|
|||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
|
||||
############################################## LOCAL #####################################
|
||||
BASE_URL = "http://localhost:8000/"
|
||||
CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D"
|
||||
|
||||
############################################## DEV #####################################
|
||||
BASE_URL = "https://dev01.digitale-agentur.com/"
|
||||
CRONAPIKEY = "gCddsaz6NOnE9QbXZM5LasdEk122D"
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
# MAIL DEV
|
||||
EMAIL_HOST = 'smtp.strato.de'
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_HOST_USER = "support@dev01.digitale-agentur.com"
|
||||
EMAIL_HOST_PASSWORD = "support@dev01.digitale-agentur.com"
|
||||
DEFAULT_FROM_EMAIL = "support@dev01.digitale-agentur.com"
|
||||
|
||||
# DEV
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME' : 'digitaleagentur',
|
||||
'USER' : 'root',
|
||||
'PASSWORD' : '',
|
||||
'NAME' : 'digitaleagentur_dev01',
|
||||
'USER' : 'digitaleagentur_dev01',
|
||||
'PASSWORD' : 't3TvtGAOkFHYXdJlUMIu9u3U',
|
||||
'PORT' : 3306
|
||||
}
|
||||
}
|
||||
|
||||
# MAIL DEV
|
||||
EMAIL_HOST = 'gymhum.de'
|
||||
EMAIL_PORT = 587
|
||||
EMAIL_USE_TLS = True
|
||||
EMAIL_HOST_USER = "holger.trampe"
|
||||
EMAIL_HOST_PASSWORD = "Motte2016_!"
|
||||
DEFAULT_FROM_EMAIL = "holger.trampe@gymhum.de"
|
||||
|
||||
################################################### LOCAL ###############################
|
||||
############################################## DEV #####################################
|
||||
|
||||
|
||||
# Nach zehn Stunden läuft der Cookie ab!
|
||||
|
|
|
|||
|
|
@ -28,8 +28,8 @@
|
|||
{{form|crispy}}
|
||||
<p>Ihrer Mitteilung wird Automatisch eine Anrede und eine Verabscheidung hinzugefügt!</p>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-success">Mitteilung verschicken</button>
|
||||
<a href="{% url 'users-dashboard' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Mitteilung verschicken</button>
|
||||
<a href="{% url 'users-dashboard' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<td>{{ item.created_by.first_name }} {{ item.created_by.last_name }}</td>
|
||||
<td>{{ item.created_date }}</td>
|
||||
<td><a href="{% url 'message-single' item.pk %}">{{ item.content|truncatechars:30 }}</a></td>
|
||||
<td><button href="#" class="btn btn-sm btn-danger" style="float: right;" onclick="javascript:delMessage({{item.pk}})"><i class="fas fa-trash-alt"></i></button></td>
|
||||
<td><button href="#" class="btn btn-sm btn-secondary" style="float: right;" onclick="javascript:delMessage({{item.pk}})"><i class="fas fa-trash"></i></button></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
|
|
@ -86,8 +86,8 @@
|
|||
Wollen Sie die Mitteilung wirklich löschen?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:delAction()">Löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:delAction()">Löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,18 +3,20 @@
|
|||
{% block content %}
|
||||
{% if request.user.profile.agency.module_messages %}
|
||||
<div class="content-section col-6">
|
||||
|
||||
<h3>Mitteilung von {{mess.created_by.first_name}} {{mess.created_by.last_name}}</h3>
|
||||
<small>Versendet am {{mess.created_date}}</small>
|
||||
<hr>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
Hallo {{request.user.first_name}} {{request.user.last_name}},<br /><br />
|
||||
{{mess.content}}
|
||||
<br /><br />
|
||||
Mit freundlichen Grüßen<br /><br />
|
||||
{{mess.created_by.first_name}} {{mess.created_by.last_name}}
|
||||
<hr>
|
||||
<button class="btn btn-danger" style="float: right;" onclick="javascript:showDelMod()"><i class="fas fa-trash-alt"></i></button>
|
||||
</div>
|
||||
<button class="btn btn-primary btn-sm" style="float: right;" onclick="javascript:showDelMod()"><i class="fas fa-trash-alt"></i></button>
|
||||
</div></div></div>
|
||||
|
||||
<!-- CONFIRMA DELETE DIR -->
|
||||
<div class="modal fade" id="delMess" tabindex="-1" role="dialog" data-backdrop="static" aria-labelledby="groupDelFunction" aria-hidden="true">
|
||||
|
|
@ -30,8 +32,8 @@
|
|||
Wollen Sie die Mitteilung wirklich löschen?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:delAction()">Löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:delAction()">Löschen</button>
|
||||
<button type="button" class="btn btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
{{normalForm.media}}
|
||||
{{normalForm|crispy}}
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success" href="{% url 'news-add' %} ">News speichern</button>
|
||||
<button type="submit" class="btn btn-primary" href="{% url 'news-add' %} ">News anlegen</button>
|
||||
<a class="btn" href="{% url 'news-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">News löschen</button>
|
||||
<a href="{% url 'news-management' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">News löschen</button>
|
||||
<a href="{% url 'news-management' %}" class="btn ">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,16 +2,14 @@
|
|||
{% block content %}
|
||||
{% if request.user.profile.agency.module_news %}
|
||||
<div class="content-section col-12">
|
||||
<h3>News <small><i data-toggle="tooltip" data-placement="top" title="Hier können aktuelle Nachrichten für die Agentur erstellt und verwaltet werden." class="far fa-question-circle"></i></small></h3>
|
||||
<hr>
|
||||
<h3>News <small><i data-toggle="tooltip" data-placement="top" title="Hier können aktuelle Nachrichten für die Agentur erstellt und verwaltet werden." class="far fa-question-circle"></i></small>
|
||||
|
||||
{% if perms.users.modulenews %}
|
||||
<div class="row">
|
||||
<div class="content-section col-4">
|
||||
<a class="btn btn-primary" href="{% url 'news-add' %} " data-toggle="tooltip" data-placement="top" title="Neue News für Ihre Agentur erstellen"><i class="fas fa-plus"></i> News</a>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<a class="btn btn-sm btn-primary" href="{% url 'news-add' %} " style="float: right" data-toggle="tooltip" data-placement="top" title="Neue News für Ihre Agentur erstellen"><i class="fas fa-plus"></i> News</a>
|
||||
{% endif %}
|
||||
</h3>
|
||||
<hr>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="nav nav-tabs" id="news_tabs" role="tablist">
|
||||
|
|
@ -57,16 +55,13 @@
|
|||
<td>{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}</td>
|
||||
<td>
|
||||
{% if news_single.created_by == request.user or perms.users.news_management %}
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
<a style="float: right" class="btn btn-secondary btn-sm ml-2" href="{% url 'news-delete' news_single.pk %}">
|
||||
<small><i class="fas fa-trash"></i></small>
|
||||
</a>
|
||||
|
||||
<a style="float: right" class="btn btn-secondary btn-sm " href="{% url 'news-update' news_single.pk %}">
|
||||
<small><i class="fas fa-pen"></i></small>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'news-update' news_single.pk %}" class="btn">Bearbeiten</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item text-danger" href="{% url 'news-delete' news_single.pk %}">Löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
|
|
@ -103,18 +98,14 @@
|
|||
<td>{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}</td>
|
||||
<td>
|
||||
{% if news_single.created_by == request.user or perms.users.news_management %}
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
<a style="float: right" class="btn btn-secondary btn-sm ml-2" href="{% url 'news-delete' news_single.pk %}">
|
||||
<small><i class="fas fa-trash"></i></small>
|
||||
</a>
|
||||
|
||||
<a style="float: right" class="btn btn-secondary btn-sm " href="{% url 'news-update' news_single.pk %}">
|
||||
<small><i class="fas fa-pen"></i></small>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'news-update' news_single.pk %}" class="btn">Bearbeiten</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item text-danger" href="{% url 'news-delete' news_single.pk %}">Löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
@ -154,18 +145,14 @@
|
|||
<td>{{ news_single.go_online_on|date:"d.m.Y, H:i"}} bis {{ news_single.go_offline_on|date:"d.m.Y, H:i"}}</td>
|
||||
<td>
|
||||
{% if news_single.created_by == request.user or perms.users.news_management %}
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
<a style="float: right" class="btn btn-secondary btn-sm ml-2" href="{% url 'news-delete' news_single.pk %}">
|
||||
<small><i class="fas fa-trash"></i></small>
|
||||
</a>
|
||||
|
||||
<a style="float: right" class="btn btn-secondary btn-sm " href="{% url 'news-update' news_single.pk %}">
|
||||
<small><i class="fas fa-pen"></i></small>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'news-update' news_single.pk %}" class="btn">Bearbeiten</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item text-danger" href="{% url 'news-delete' news_single.pk %}">Löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
{{normalForm.media}}
|
||||
{{normalForm|crispy}}
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success" href="{% url 'news-update' news_id %} ">Aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary" href="{% url 'news-update' news_id %} ">News aktualisieren</button>
|
||||
<a class="btn" href="{% url 'news-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
<div class="content-section col-5">
|
||||
<h3>Alle Benachrichtigungen</h3>
|
||||
<hr>
|
||||
<button href="#" class="btn btn-danger mb-2" data-toggle="tooltip" data-placement="top" title="Alle Benachrichtigung löschen" onclick="javascript:delNotify(false)">Alle Benachrichtigungen löschen</button>
|
||||
<button href="#" class="btn btn-primary mb-2" data-toggle="tooltip" data-placement="top" title="Alle Benachrichtigung löschen" onclick="javascript:delNotify(false)">Alle Benachrichtigungen löschen</button>
|
||||
{% for notification in usernotifications %}
|
||||
|
||||
<div class="card mb-2 notifydelclass" id="notify_{{notification.pk}}">
|
||||
<div class="card-body">
|
||||
<button href="#" class="btn btn-danger" style="float: right;" onclick="javascript:delNotify({{notification.pk}})"><i class="fas fa-trash-alt"></i></button>
|
||||
<button href="#" class="btn btn-secondary btn-sm" style="float: right;" onclick="javascript:delNotify({{notification.pk}})"><i class="fas fa-trash"></i></button>
|
||||
<p class="card-text">
|
||||
{% if notification.notificationtype == "agencynews" %}
|
||||
<a href="/news/news/{{notification.elementid}}/single" class="" style="text-decoration: none; color: #000000">
|
||||
|
|
@ -45,8 +45,8 @@
|
|||
Möchten Sie alle Benachrichtigungen löschen?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="javascript:doDelAllNotifications()">Alle Benachrichtigungen löschen</button>
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Abbrechen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="javascript:doDelAllNotifications()">Alle Benachrichtigungen löschen</button>
|
||||
<button type="button" class="btn" data-dismiss="modal">Abbrechen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -56,11 +56,11 @@
|
|||
</p>
|
||||
<h6><b>Festnetz</b></h6>
|
||||
<p>
|
||||
{{ phoneland }}
|
||||
<a href="tel:{{ phoneland }}">{{ phoneland }}</a>
|
||||
</p>
|
||||
<h6><b>Mobil</b></h6>
|
||||
<p>
|
||||
{{ phonemobile }}{% if phone_public %} <b>(nur Intern)</b>{% endif %}
|
||||
<a href="tel:{{ phonemobile }}">{{ phonemobile }}</a>{% if phone_public %} <b>(nur Intern)</b>{% endif %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{% csrf_token %}
|
||||
{{form|crispy}}
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success">Passwort speichern</button>
|
||||
<button type="submit" class="btn btn-primary">Passwort anlegen</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Passwort löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Passwort löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
{{form|crispy}}
|
||||
<hr>
|
||||
|
||||
<button type="submit" class="btn btn-success">Passwort aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">Passwort aktualisieren</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %}">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Kategorie löschen</button>
|
||||
<a href="{% url 'category-management' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Kategorie löschen</button>
|
||||
<a href="{% url 'category-management' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
{% csrf_token %}
|
||||
{{ form|crispy }}
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success">Kategorie aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">Kategorie aktualisieren</button>
|
||||
<a class="btn" href="{% url 'category-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
{% endfor %}
|
||||
</div></div>
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success">Kontakt speichern</button>
|
||||
<button type="submit" class="btn btn-primary">Kontakt anlegen</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Kontakt löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Kontakt löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
</div></div>
|
||||
<hr>
|
||||
|
||||
<button type="submit" class="btn btn-success">Kontakt aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">Kontakt aktualisieren</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %}">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -43,16 +43,14 @@
|
|||
</td>
|
||||
<td>
|
||||
{% if user|usergperm:"moduleorganizer" %}
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'cont-update' agc.pk %}">Bearbeiten</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item text-danger" href="{% url 'cont-delete' agc.pk %}">Löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
<a style="float: right" class="btn btn-secondary btn-sm ml-2" href="{% url 'cont-delete' agc.pk %}">
|
||||
<small>
|
||||
<i class="fas fa-trash"></i></small></a>
|
||||
|
||||
<a style="float: right" class="btn btn-secondary btn-sm " href="{% url 'cont-update' agc.pk %}">
|
||||
<small>
|
||||
<i class="fas fa-pen"></i>
|
||||
</small></a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -94,7 +92,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Schließen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -122,7 +120,7 @@
|
|||
<input class="form-control" type="text" value="{{ele.name}}" onkeyup="javascript:updateCategory({{ele.pk}}, this.value)">
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-danger" onclick="javascript:catDel({{ele.pk}})" data-toggle="tooltip" data-placement="top" title="Kategorie löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
<button type="button" class="btn btn-danger btn-sm" onclick="javascript:catDel({{ele.pk}})" style="float: right" data-toggle="tooltip" data-placement="top" title="Kategorie löschen"><i class="fas fa-trash-alt"></i></button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
@ -134,7 +132,7 @@
|
|||
<button type="button" class="btn btn-primary" title="Neue Kategorie hinzufügen" onclick="javascript:addCategory()" data-toggle="tooltip" data-placement="top" title="Dialog für eine neue Kategorie öffnen"><i class="fas fa-plus"></i> Kategorie</button>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -282,7 +280,7 @@ function addCategory(){
|
|||
success: function( data )
|
||||
{
|
||||
new_id = data["new_id"];
|
||||
$('#allCategory > tbody:last-child').append('<tr id="categorys_'+new_id+'"><td><input class="form-control" type="text" value="" placeholder="Neue Kateogire" onkeyup="javascript:updateCategory('+new_id+', this.value)"></td><td><button type="button" class="btn btn-danger" onclick="javascript:catDel('+new_id+')" data-toggle="tooltip" data-placement="top" title="Kategorie löschen"><i class="fas fa-trash-alt"></i></button></td></tr>');
|
||||
$('#allCategory > tbody:last-child').append('<tr id="categorys_'+new_id+'"><td><input class="form-control" type="text" value="" placeholder="Neue Kategorie" onkeyup="javascript:updateCategory('+new_id+', this.value)"></td><td><button type="button" class="btn btn-danger" onclick="javascript:catDel('+new_id+')" data-toggle="tooltip" data-placement="top" title="Kategorie löschen"><i class="fas fa-trash-alt"></i></button></td></tr>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
</div></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Beenden</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
{{ form|crispy }}
|
||||
<hr>
|
||||
<p><small>Hinweis zum Weblink: Bitte setzen Sie den vollständigen Link in das Formular!<br/>Z.B. <i>https://digitale-agentur.com</i></small></p>
|
||||
<button type="submit" class="btn btn-success">Quicklink speichern</button>
|
||||
<button type="submit" class="btn btn-primary">Quicklink anlegen</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Quicklink löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Quicklink löschen</button>
|
||||
<a href="{% url 'organizer-management' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<p><small>Hinweis zum Weblink: Bitte setzen Sie den vollständigen Link in das Formular!<br/>Z.B. <i>https://digitale-agentur.com</i>
|
||||
</small> </p>
|
||||
|
||||
<button type="submit" class="btn btn-success">Quicklink aktualisieren</button>
|
||||
<button type="submit" class="btn btn-primary">Quicklink aktualisieren</button>
|
||||
<a class="btn" href="{% url 'organizer-management' %} ">Abbrechen</a>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
<!--<hr>-->
|
||||
<div class="row col-12 " >
|
||||
<div class="content-section col-12">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="qltable">
|
||||
<thead>
|
||||
|
|
@ -28,16 +28,14 @@
|
|||
<!--<td><img src="{{ ql.get_photo_url }}" width="15%"></td> -->
|
||||
<td>
|
||||
{% if user|usergperm:"moduleorganizer" %}
|
||||
<div class="dropdown no-arrow">
|
||||
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink">
|
||||
<a class="dropdown-item" href="{% url 'ql-update' ql.pk%}">Bearbeiten</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item text-danger" href="{% url 'ql-delete' ql.pk%}" >Löschen</a>
|
||||
</div>
|
||||
</div>
|
||||
<a style="float: right" class="btn btn-secondary btn-sm ml-2" href="{% url 'ql-delete' ql.pk%}">
|
||||
<small>
|
||||
<i class="fas fa-trash"></i></small></a>
|
||||
|
||||
<a style="float: right" class="btn btn-secondary btn-sm " href="{% url 'ql-update' ql.pk%}">
|
||||
<small>
|
||||
<i class="fas fa-pen"></i>
|
||||
</small></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -41,8 +41,8 @@ class Standards(models.Model):
|
|||
|
||||
public = models.BooleanField(default=False)
|
||||
|
||||
freefield_title = models.CharField(max_length=200, blank=False, default="")
|
||||
freefield_content = models.TextField(max_length=500, blank=False, default="")
|
||||
freefield_title = models.CharField(max_length=200, blank=False, null=True, default="")
|
||||
freefield_content = models.TextField(max_length=500, blank=False, null=True, default="")
|
||||
|
||||
delflag = models.BooleanField(default=False)
|
||||
deldate = models.DateTimeField(default=timezone.now, blank=True)
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
<form method="POST">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Standard löschen</button>
|
||||
<a href="{% url 'standards' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Standard löschen</button>
|
||||
<a href="{% url 'standards' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
<table id="linked_standards" class="table table-hover table-sm">
|
||||
{% if update == True %}
|
||||
{% for s in standard.linked_standards.all %}
|
||||
<tr id="added_standards_{{s.pk}}"><td>{{s.name}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('standards',{{s.pk}}, '{{s.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
<tr id="added_standards_{{s.pk}}"><td>{{s.name}}</td><td><button type="button" style="float: right;" class="btn btn-danger btn-sm" onclick="javascript:remEle('standards',{{s.pk}}, '{{s.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
<table id="linked_files" class="table table-hover table-sm">
|
||||
{% if update == True %}
|
||||
{% for f in standard.addedfiles.all %}
|
||||
<tr id="added_files_{{f.pk}}"><td>{{f.name}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('files',{{f.pk}}, '{{f.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
<tr id="added_files_{{f.pk}}"><td>{{f.name}}</td><td><button type="button" class="btn btn-danger btn-sm" style="float: right;" onclick="javascript:remEle('files',{{f.pk}}, '{{f.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
|
|
@ -240,7 +240,7 @@
|
|||
{% endif %}
|
||||
|
||||
<hr>
|
||||
<button type="submit" class="btn btn-success">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Standard{% if update == True %} aktualisieren{% else %} anlegen{% endif %}
|
||||
</button>
|
||||
<a class="btn" href="{% url 'standards' %} ">Abbrechen</a>
|
||||
|
|
@ -398,7 +398,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Fertig</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -478,13 +478,13 @@
|
|||
<table id="linked_quicklinks" class="table table-hover table-sm">
|
||||
{% if update == True %}
|
||||
{% for q in standard.addedquicklinks.all %}
|
||||
<tr id="added_quicklinks_{{q.pk}}"><td>{{q.name}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('quicklinks',{{q.pk}}, '{{q.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
<tr id="added_quicklinks_{{q.pk}}"><td>{{q.name}}</td><td><button type="button" class="btn btn-danger btn-sm" style="float: right;" onclick="javascript:remEle('quicklinks',{{q.pk}}, '{{q.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -522,13 +522,13 @@
|
|||
<table id="linked_contacts" class="table table-hover table-sm">
|
||||
{% if update == True %}
|
||||
{% for q in standard.addedcontacts.all %}
|
||||
<tr id="added_contacts_{{q.pk}}"><td>{{q.company}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('contacts',{{q.pk}}, '{{q.company}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
<tr id="added_contacts_{{q.pk}}"><td>{{q.company}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('contacts',{{q.pk}}, '{{q.company}}')" style="float: right;" ><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -566,14 +566,14 @@
|
|||
<table id="linked_passwords" class="table table-hover table-sm">
|
||||
{% if update == True %}
|
||||
{% for q in standard.addedpasswords.all %}
|
||||
<tr id="added_passwords_{{q.pk}}"><td>{{q.name}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('passwords',{{q.pk}}, '{{q.name}}')"><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
<tr id="added_passwords_{{q.pk}}"><td>{{q.name}}</td><td><button type="button" class="btn btn-danger btn-sm" onclick="javascript:remEle('passwords',{{q.pk}}, '{{q.name}}')" style="float: right;" ><i class="fas fa-trash-alt"></i></button></td></tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-success" data-dismiss="modal">Schließen</button>
|
||||
<button type="button" class="btn btn-primary" data-dismiss="modal">Fertig</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<div class="content-section col-12">
|
||||
<h3>Standards{% if request.user.profile.showtooltips %} <small><i data-toggle="tooltip" data-placement="top" title="Standards dokumentieren und erläutern verschiedenen Verfahren, strukturiert nach Bereichen und Tätigkeiten." class="far fa-question-circle"></i></small>{% endif %}
|
||||
<a class="btn btn-primary" href="{% url 'standard-add' %}" style="float: right;"><i class="fas fa-plus"></i> Standard</a>
|
||||
<a class="btn btn-primary btn-sm" href="{% url 'standard-add' %}" style="float: right;"><i class="fas fa-plus"></i> Standard</a>
|
||||
</h3>
|
||||
<small>Sichtbar sind alle veröffentlichten und von {{ user.first_name }} {{ user.last_name}} erstellten Standards.</small>
|
||||
<hr>
|
||||
|
|
@ -185,7 +185,7 @@
|
|||
<a href="{% url 'standard-single' standard.pk %}">{{standard.name}}</a>
|
||||
{% else %}
|
||||
{% if standard.created_standard_by == request.user or perms.users.standardmanager %}
|
||||
<a href="{% url 'standard-update' standard.pk %}">{{standard.name}}</a> <i class="fas fa-exclamation-circle"data-toggle="tooltip" data-placement="top" title="Es wurden nicht alle Pflichtfelder ausgefüllt."></i>
|
||||
<a href="{% url 'standard-add' standard.pk %}">{{standard.name}}</a> <i class="fas fa-exclamation-circle"data-toggle="tooltip" data-placement="top" title="Es wurden nicht alle Pflichtfelder ausgefüllt."></i>
|
||||
{% else %}
|
||||
{{standard.name}} <i class="fas fa-exclamation-circle"data-toggle="tooltip" data-placement="top" title="Es wurden nicht alle Pflichtfelder ausgefüllt."></i>
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -31,9 +31,7 @@ class StandardsManagement(LoginRequiredMixin, ListView):
|
|||
#standards_of_agency = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=True)
|
||||
unpubstandards_of_user = Standards.objects.filter(agency__pk=self.request.user.profile.agency.pk, public=False)
|
||||
#tasks = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk)
|
||||
|
||||
standardcontent = []
|
||||
|
||||
for a in areas:
|
||||
standardcontent.append({"area" : a, "tasks" : []})
|
||||
tasks_in_area = Tasks.objects.filter(agency__pk=self.request.user.profile.agency.pk, area__pk=a.pk).order_by("name")
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@ User._meta.get_field('last_name').blank = False
|
|||
# PATH FOR AGENCYPIC
|
||||
def picturepath_agency(instance, filename):
|
||||
# file will be uploaded to MEDIA_URL/agency_<id>/<subdirs>/<filename>
|
||||
return settings.MEDIA_URL + 'agencydata/agency_{0}/agencystats/{1}'.format(instance.pk, filename)
|
||||
return 'agencydata/agency_{0}/agencystats/{1}'.format(instance.pk, filename)
|
||||
|
||||
# PATH FOR PROFILEPICS
|
||||
def picturepath_user(instance, filename):
|
||||
return settings.MEDIA_URL + 'agencydata/agency_{0}/agencystats/profilepics/{1}'.format(instance.agency.pk, filename)
|
||||
return 'agencydata/agency_{0}/agencystats/profilepics/{1}'.format(instance.agency.pk, filename)
|
||||
|
||||
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ class Agency(models.Model):
|
|||
plz = models.CharField(default="", max_length=5, blank=True)
|
||||
agency_email = models.EmailField(default="", blank=True)
|
||||
phone = models.CharField(default="", max_length=50, blank=True)
|
||||
agencypic = models.ImageField(default=settings.MEDIA_URL + 'ag_default.jpg', upload_to=picturepath_agency, blank=True)
|
||||
agencypic = models.ImageField(default='ag_default.jpg', upload_to=picturepath_agency, blank=True)
|
||||
|
||||
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ class Profile(models.Model):
|
|||
func = models.ForeignKey("AgencyJob", blank=True, null=True, default=None, on_delete=models.SET_NULL)
|
||||
# Wenn dieses Profil gelöscht wird, wird NICHT die Agency geslöscht
|
||||
agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
|
||||
image = models.ImageField(default=settings.MEDIA_URL + 'default.jpg', upload_to=picturepath_user, blank=True)
|
||||
image = models.ImageField(default='default.jpg', upload_to=picturepath_user, blank=True)
|
||||
compfunc = models.CharField(max_length=60, blank=True)
|
||||
visible = models.BooleanField(default=True)
|
||||
persnumber = models.CharField(default="", max_length=50, blank=True)
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 513 B |
Binary file not shown.
|
After Width: | Height: | Size: 9.0 KiB |
|
|
@ -324,20 +324,28 @@
|
|||
<a class="dropdown-item text-center small text-gray-500" href="{% url 'showallnotificaions' %}">Alle Benachrichtigungen ansehen</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.roundimg {
|
||||
border-radius: 50%;
|
||||
}
|
||||
</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 class="img-profile " src="{{ user.profile.get_photo_url }}">
|
||||
<img class="img-profile roundimg" 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" href="{% url 'orga-single' user.pk %}">
|
||||
<!--<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>
|
||||
Orga-Profil
|
||||
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' %}">
|
||||
|
|
@ -432,7 +440,15 @@
|
|||
|
||||
<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();
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@
|
|||
{% endif %}
|
||||
|
||||
{% if request.user.profile.agency.module_news %}
|
||||
<div class="card d-block mb-3" style="width: 34.8%">
|
||||
<div class="card d-block mb-3" style="width: 38%">
|
||||
<div class="card-body">
|
||||
<img style="max-height: 400px; max-width: 100%" src="{{ request.user.profile.agency.get_photo_url }}">
|
||||
</div>
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
{% if not request.user.profile.agency.module_news %}
|
||||
<div class="card d-block mb-3 mr-3 " style="width: 60%" >
|
||||
{% else %}
|
||||
<div class="card d-block mb-3" style="width: 96%">
|
||||
<div class="card d-block mb-3" style="width: 99%">
|
||||
{% endif %}
|
||||
|
||||
<div class="card-body">
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
</div>
|
||||
</div>
|
||||
{% if not request.user.profile.agency.module_news %}
|
||||
<div class="card d-block mb-3" style="width: 34.8%">
|
||||
<div class="card d-block mb-3" style="width: 38%">
|
||||
<div class="card-body">
|
||||
<img style="max-height: 400px; max-width: 100%" src="{{ request.user.profile.agency.get_photo_url }}">
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -85,10 +85,10 @@
|
|||
|
||||
<ul class=" bg-gray-900 navbar sidebar-dark accordion fixed-top" id="accordionSidebar">
|
||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="{% url 'users-dashboard' %}">
|
||||
<i class="fas fa-laptop" style="margin-top: 0px;"></i>
|
||||
|
||||
<div class="sidebar-brand-text mx-3" style="text-align: left;">
|
||||
<b> Digitale<br />Agentur</b>
|
||||
<img src="{% static 'users/img/VVE-Logo.png' %}" style="float: right; " width="3%" class="">
|
||||
<img src="{% static 'users/img/logo.png' %}" style="float: left;" width="10%" class="">
|
||||
<img src="{% static 'users/img/VVE-Logo.png' %}" style="float: right;" width="3%" class="">
|
||||
</div>
|
||||
</a>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@
|
|||
{% csrf_token %}
|
||||
{{form|crispy}}
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-success">Supportanfrage verschicken</button>
|
||||
<a href="{% url 'users-dashboard' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Supportanfrage verschicken</button>
|
||||
<a href="{% url 'users-dashboard' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
{% csrf_token %}
|
||||
<p>Alle vom Benutzer erstellen Standards werden dem aktuellen Benutzer zugewiesen.<br /><small>(Aktuller Benutzer: {{request.user.pre_name}} {{request.user.last_name}})</small></p>
|
||||
<div class="form-group">
|
||||
<button type="submit" class="btn btn-danger">Benutzer löschen</button>
|
||||
<a href="{% url 'dasettings' %}" class="btn btn-success">Abbrechen</a>
|
||||
<button type="submit" class="btn btn-primary">Benutzer löschen</button>
|
||||
<a href="{% url 'dasettings' %}" class="btn">Abbrechen</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from django.contrib.auth.models import Permission
|
|||
from areas.models import Areas
|
||||
from tasks.models import Tasks
|
||||
from PIL import Image
|
||||
|
||||
from django.utils.translation import gettext as _
|
||||
|
||||
# Standard-User-Formular - NUR Username und Password wird hier genutzt
|
||||
class UsersAddNewUser(UserCreationForm):
|
||||
|
|
@ -17,6 +17,13 @@ class UsersAddNewUser(UserCreationForm):
|
|||
model = User
|
||||
fields = ['username', 'first_name', 'last_name', 'password1', 'password2', 'email']
|
||||
|
||||
error_messages = {
|
||||
'email': {
|
||||
'unique': _("DIE JIBBET SCHON!"),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
# Change logged Users Data (Usernamen an Email) NUR HIER MÖGLICH!
|
||||
class UsersChangeProfil(forms.ModelForm):
|
||||
email = forms.EmailField()
|
||||
|
|
|
|||
|
|
@ -276,7 +276,7 @@ def dashboard(request):
|
|||
# Loading only user same agency
|
||||
# Change context and return for template-data
|
||||
# # Get all Users of the Same Agency as logged user
|
||||
standards_of_agency = Standards.objects.filter(agency__pk=request.user.profile.agency.pk).filter(public=True).order_by('-last_modified_on')[:5]
|
||||
standards_of_agency = Standards.objects.filter(agency__pk=request.user.profile.agency.pk).filter(public=True).exclude(area=None).exclude(task=None).order_by('-last_modified_on')[:5]
|
||||
|
||||
filterdate = datetime.now()
|
||||
news = News.objects.filter(agency__pk=request.user.profile.agency.pk).filter(go_online_on__lt=filterdate).filter(go_offline_on__gt=filterdate).order_by('-go_online_on')[:4]
|
||||
|
|
|
|||
Loading…
Reference in New Issue