Zwei Bugs und Modul Organizer angepasst

This commit is contained in:
holger.trampe 2020-03-26 21:37:00 +01:00
parent a83616b0fd
commit ce19fc3a3d
7 changed files with 47 additions and 23 deletions

View File

@ -11,6 +11,7 @@ from .models import Message
from django.contrib import messages from django.contrib import messages
from django.http import JsonResponse from django.http import JsonResponse
from notificsys.models import UserNotification from notificsys.models import UserNotification
from django.urls import reverse_lazy
# ALLE STANDARDS EINER AGENTUR # ALLE STANDARDS EINER AGENTUR
@login_required @login_required
@ -118,4 +119,4 @@ def delsinglemessagefromsingle(request, pk):
'usermessages' : Message.objects.filter(target_user=request.user, agency=request.user.profile.agency).order_by('-created_date') 'usermessages' : Message.objects.filter(target_user=request.user, agency=request.user.profile.agency).order_by('-created_date')
} }
return render (request, 'message/message.html', context) return redirect ("messages")

View File

@ -4,14 +4,14 @@
<div class="content-section"> <div class="content-section">
<h3>Bereiche und Aufgaben von {{user_first_name}} {{user_last_name}}<span style="float: right"> <h3>Bereiche und Aufgaben von {{user_first_name}} {{user_last_name}}<span style="float: right">
{% if user|usergperm:"usermanager" %} {% if user|usergperm:"usermanager" %}
<button type="button" style="float: right" class="btn btn-secondary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-pen"></i></small></button> <button type="button" id="activatechangingorder" style="float: right" class="btn btn-secondary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-pen"></i></small></button>
<button type="button" id="changingorder" style="float: right; display: none" class="btn btn-primary btn-sm" onclick="javascript:activateChangeTaskOrder()" data-toggle="tooltip" data-placement="top" title="Reihenfolge der Tätigkeiten anpassen"><small><i class="fas fa-check"></i></small></button>
{% endif %} {% endif %}
</span></h3> </span></h3>
<hr> <hr>
<div class="media"> <div class="media">
<img class="img-profile" width="12%" src="{{ imageurl }}" > <img class="img-profile" width="12%" src="{{ imageurl }}" >
<div class="media-body"> <div class="media-body">
<div class="row ml-2"> <div class="row ml-2">
<div class="col-3"> <div class="col-3">
<h6><b>Name</b></h6> <h6><b>Name</b></h6>
@ -120,6 +120,8 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
if(sortstatus == false){ if(sortstatus == false){
sortstatus = true; sortstatus = true;
for(i = 0; i < sortablearea_ids.length; i++){ for(i = 0; i < sortablearea_ids.length; i++){
$("#changingorder").show();
$("#activatechangingorder").hide();
$(".arrows_area_" + sortablearea_ids[i]).show(); $(".arrows_area_" + sortablearea_ids[i]).show();
$( "#sortarea_" + sortablearea_ids[i] ).sortable("enable"); $( "#sortarea_" + sortablearea_ids[i] ).sortable("enable");
} }
@ -127,6 +129,8 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
else{ else{
sortstatus = false; sortstatus = false;
for(i = 0; i < sortablearea_ids.length; i++){ for(i = 0; i < sortablearea_ids.length; i++){
$("#changingorder").hide();
$("#activatechangingorder").show();
$(".arrows_area_" + sortablearea_ids[i]).hide(); $(".arrows_area_" + sortablearea_ids[i]).hide();
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable"); $( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
} }
@ -136,6 +140,13 @@ var sortablearea_ids = [{% for area in areas %} {{area.pk}},{% endfor %}];
{% endif %} {% endif %}
$( document ).ready(function() {
for(i = 0; i < sortablearea_ids.length; i++){
$(".arrows_area_" + sortablearea_ids[i]).hide();
$( "#sortarea_" + sortablearea_ids[i]).sortable("disable");
}
});
</script> </script>

View File

@ -22,8 +22,8 @@ class OrganizerAddContact(forms.ModelForm):
class Meta: class Meta:
model = AGContacts model = AGContacts
labels = { labels = {
'first_name' : "Vorname", 'personname' : "Ansprechpartner",
'last_name' : "Nachname", 'company' : "Organisation",
'mail' : "E-Mailadresse", 'mail' : "E-Mailadresse",
'phone1' : "Telefon 1", 'phone1' : "Telefon 1",
'phone2' : "Telefon 2", 'phone2' : "Telefon 2",
@ -33,12 +33,15 @@ class OrganizerAddContact(forms.ModelForm):
'desc' : "Anmerkungen" 'desc' : "Anmerkungen"
} }
fields = ['first_name', 'last_name', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc'] fields = ['company', 'personname', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(OrganizerAddContact, self).__init__(*args, **kwargs) super(OrganizerAddContact, self).__init__(*args, **kwargs)
self.fields['company'].required = False
self.fields['personname'].required = False
self.fields['mail'].required = False
self.fields['phone1'].required = False self.fields['phone1'].required = False
self.fields['phone2'].required = False self.fields['phone2'].required = False
self.fields['desc'].widget.attrs['rows'] = 4 self.fields['desc'].widget.attrs['rows'] = 4
@ -50,8 +53,8 @@ class OrganizerUpdateContact(forms.ModelForm):
class Meta: class Meta:
model = AGContacts model = AGContacts
labels = { labels = {
'first_name' : "Vorname", 'personname' : "Ansprechpartner",
'last_name' : "Nachname", 'company' : "Organisation",
'mail' : "E-Mailadresse", 'mail' : "E-Mailadresse",
'phone1' : "Telefon 1", 'phone1' : "Telefon 1",
'phone2' : "Telefon 2", 'phone2' : "Telefon 2",
@ -61,11 +64,14 @@ class OrganizerUpdateContact(forms.ModelForm):
'desc' : "Anmerkungen" 'desc' : "Anmerkungen"
} }
fields = ['first_name', 'last_name', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc'] fields = ['company', 'personname', 'mail', 'phone1', 'phone2', 'street', 'plz', 'city', 'desc']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(OrganizerUpdateContact, self).__init__(*args, **kwargs) super(OrganizerUpdateContact, self).__init__(*args, **kwargs)
self.fields['company'].required = False
self.fields['personname'].required = False
self.fields['mail'].required = False
self.fields['phone1'].required = False self.fields['phone1'].required = False
self.fields['phone2'].required = False self.fields['phone2'].required = False
self.fields['desc'].widget.attrs['rows'] = 4 self.fields['desc'].widget.attrs['rows'] = 4

View File

@ -40,8 +40,8 @@ class QuickLinks(models.Model):
class AGContacts(models.Model): class AGContacts(models.Model):
agency = models.ForeignKey(Agency, on_delete=models.PROTECT) agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
first_name = models.CharField(default="", max_length=200, blank=False) personname = models.CharField(default="", max_length=200, blank=False)
last_name = models.CharField(default="", max_length=200, blank=False) company = models.CharField(default="", max_length=200, blank=False)
mail = models.CharField(default="", max_length=200, blank=False) mail = models.CharField(default="", max_length=200, blank=False)
phone1 = models.CharField(default="", max_length=200, blank=False) phone1 = models.CharField(default="", max_length=200, blank=False)
phone2 = models.CharField(default="", max_length=200, blank=False) phone2 = models.CharField(default="", max_length=200, blank=False)
@ -51,7 +51,7 @@ class AGContacts(models.Model):
desc = models.TextField(max_length=3000, blank=True) desc = models.TextField(max_length=3000, blank=True)
def __str__(self): def __str__(self):
return f'{self.first_name + " " + self.last_name}' return f'{self.first_name}'
def get_absolute_url(self): def get_absolute_url(self):
return reverse('cont-update', kwargs={'pk':self.pk}) return reverse('cont-update', kwargs={'pk':self.pk})

View File

@ -5,7 +5,7 @@
<div class="content-section"> <div class="content-section">
<div class="media"> <div class="media">
<div class="media-body"> <div class="media-body">
<h2 class="account-heading">Kontakt {{ object.first_name }} {{ object.last_name }} löschen?</h2> <h2 class="account-heading">Kontakt {{ object.personname }} löschen?</h2>
<hr> <hr>
</div> </div>
</div> </div>

View File

@ -14,12 +14,15 @@
{% for agc in contacts %} {% for agc in contacts %}
<div class="card col-3 mr-1 mb-2 contactscards" style="float: left;" id="card_{{agc.pk}}" name="{{agc.first_name}} {{agc.last_name}}"> <div class="card col-3 mr-1 mb-2 contactscards" style="float: left;" id="card_{{agc.pk}}" name="{{agc.personname}} {{agc.company}}">
<div class="card-body"> <div class="card-body">
<h5 class="card-title" data-toggle="modal" data-target="#infos_{{agc.pk}}"><a href="#">{{agc.first_name}} {{agc.last_name}} <h5 class="card-title" data-toggle="modal" data-target="#infos_{{agc.pk}}"><a href="#">{{agc.company}}
</a> </a>
</h5> </h5>
<p class="card-text"> <p class="card-text">
{% if agc.personname|length > 0 %}
Ansprechpartner: {{agc.personname}}<br/>
{% endif %}
{% if agc.mail|length > 0 %} {% if agc.mail|length > 0 %}
E-Mailadresse: <a href="mailto:{{agc.mail}}">{{agc.mail}}</a><br/> E-Mailadresse: <a href="mailto:{{agc.mail}}">{{agc.mail}}</a><br/>
{% endif %} {% endif %}
@ -44,13 +47,16 @@
<div class="modal-dialog " role="document"> <div class="modal-dialog " role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">{{agc.first_name}} {{agc.last_name}}</h5> <h5 class="modal-title" id="exampleModalLongTitle">{{agc.company}}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Schließen"> <button type="button" class="close" data-dismiss="modal" aria-label="Schließen">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
{% if agc.mail|length > 0 %} {% if agc.personname|length > 0 %}
Ansprechpartner: {{agc.personname}}<br/>
{% endif %}
{% if agc.mail|length > 0 %}
E-Mailadresse: <a href="mailto:{{agc.mail}}">{{agc.mail}}</a><br /> E-Mailadresse: <a href="mailto:{{agc.mail}}">{{agc.mail}}</a><br />
{% endif %} {% endif %}
{% if agc.phone1|length > 0 %} {% if agc.phone1|length > 0 %}

View File

@ -20,7 +20,7 @@ class OrganizerManagement(LoginRequiredMixin, ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
quicklinks = QuickLinks.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name') quicklinks = QuickLinks.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name')
context.update({'active_link' : 'organizer', 'quicklinks' : quicklinks, 'contacts' : AGContacts.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('last_name'), 'agpass' : AGPassword.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name'), 'agencygroups' : AgencyGroup.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('agencygroupname') }) context.update({'active_link' : 'organizer', 'quicklinks' : quicklinks, 'contacts' : AGContacts.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('personname'), 'agpass' : AGPassword.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('name'), 'agencygroups' : AgencyGroup.objects.filter(agency__pk=self.request.user.profile.agency.pk).order_by('agencygroupname') })
return context return context
class OrganizerAdd(LoginRequiredMixin, CreateView): class OrganizerAdd(LoginRequiredMixin, CreateView):