Settings Agenturfunktionen vollständig implementiert, Bugs gefixed
This commit is contained in:
parent
06a1428ce9
commit
04cc3802f5
Binary file not shown.
|
|
@ -121,7 +121,7 @@ CKEDITOR_CONFIGS = {
|
|||
}
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
|
||||
|
||||
'''
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
|
|
@ -131,6 +131,16 @@ DATABASES = {
|
|||
'PORT' : 3306
|
||||
}
|
||||
}
|
||||
'''
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME' : 'digitaleagentur',
|
||||
'USER' : 'root',
|
||||
'PASSWORD' : '',
|
||||
'PORT' : 3306
|
||||
}
|
||||
}
|
||||
# Password validation
|
||||
# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -23,6 +23,8 @@ def picturepath_user(instance, filename):
|
|||
# file will be uploaded to MEDIA_ROOT/agency_<id>/<subdirs>/<filename>
|
||||
return 'agency_{0}/agencystats/profilepics/{1}'.format(instance.pk, filename)
|
||||
|
||||
|
||||
|
||||
'''
|
||||
Class Agency
|
||||
|
||||
|
|
@ -47,8 +49,8 @@ class Agency(models.Model):
|
|||
return f'{self.name}'
|
||||
|
||||
# Hier wird definiert, welche Parameter in der URL übertragen werden inkl. Bezeichner
|
||||
def get_absolute_url(self):
|
||||
return reverse('agency-update', kwargs={'pk':self.pk})
|
||||
#def get_absolute_url(self):
|
||||
# return reverse('agency-update', kwargs={'pk':self.pk})
|
||||
|
||||
@property
|
||||
def get_photo_url(self):
|
||||
|
|
@ -57,6 +59,17 @@ class Agency(models.Model):
|
|||
else:
|
||||
return "/media/agencymain/default.jpg"
|
||||
|
||||
'''
|
||||
|
||||
Class AgencyJob
|
||||
|
||||
'''
|
||||
class AgencyJob(models.Model):
|
||||
name = models.CharField(default="", max_length=80)
|
||||
agency = models.ForeignKey(Agency, on_delete=models.PROTECT)
|
||||
def __str__(self):
|
||||
return f'{self.name}'
|
||||
|
||||
'''
|
||||
Class Profile
|
||||
|
||||
|
|
@ -76,25 +89,15 @@ Klasse für die Zusatzinfos eines Nutzers.
|
|||
- Aufgaben
|
||||
|
||||
'''
|
||||
|
||||
|
||||
class Profile(models.Model):
|
||||
|
||||
# AGENCY TASKS
|
||||
agency_task = [
|
||||
("", ""),
|
||||
("lead", "Agenturleitung"),
|
||||
("external", "Außendienst"),
|
||||
("indoor", "Innendienst"),
|
||||
("trainee", "Azubi"),
|
||||
]
|
||||
|
||||
# Wenn der User gelöscht wird, wird auch das Profil gelöscht
|
||||
user = models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
parent = models.ForeignKey(User, on_delete=models.PROTECT, blank=True, null=True, related_name='parent_user')
|
||||
phoneland = models.CharField(max_length=60, blank=True)
|
||||
phonemobile = models.CharField(max_length=60, blank=True)
|
||||
func = models.CharField(choices=agency_task, default="", max_length=50)
|
||||
# Wenn die Funktion gelöscht wird, wird die FUNC auf NULL gesetzt
|
||||
func = models.ForeignKey(AgencyJob, blank=True, null=True, 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='userprofilepics/default.jpg', upload_to=picturepath_user, blank=True)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,9 @@ html h1 {
|
|||
}
|
||||
body{
|
||||
background-color: #f8f9fc;
|
||||
padding-top: 70px;
|
||||
}
|
||||
.modal-open {overflow-y: auto}
|
||||
|
||||
.preview {
|
||||
overflow: hidden;
|
||||
|
|
@ -65,10 +67,6 @@ body{
|
|||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
body {
|
||||
padding-top: 70px;
|
||||
}
|
||||
|
||||
.default_content_style {
|
||||
margin-left: 212px !important;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +0,0 @@
|
|||
{% extends "users/base.html" %}
|
||||
{% block content %}
|
||||
<div class="content-section col-12">
|
||||
<h3>Agentur <b>{{ request.user.profile.agency.name }}</b></h3>
|
||||
<hr>
|
||||
<div class="col-md-6">
|
||||
<h6><b>Inhaber</b></h6>
|
||||
<p>
|
||||
{{ request.user.profile.agency.inhaber }}
|
||||
</p>
|
||||
<h6><b>Adresse</b></h6>
|
||||
<p>
|
||||
{{ request.user.profile.agency.street }}
|
||||
</p>
|
||||
<p>
|
||||
{{ request.user.profile.agency.plz }} {{ request.user.profile.agency.city }}
|
||||
</p>
|
||||
<h6><b>Kontaktdaten</b></h6>
|
||||
<p>
|
||||
{{ request.user.profile.agency.agency_email }}
|
||||
</p>
|
||||
<p>
|
||||
{{ request.user.profile.agency.phone }}
|
||||
</p>
|
||||
<h6><b>Agenturbild</b></h6>
|
||||
<p>
|
||||
<img class="img-profile" width="75%" src="{{ request.user.profile.agency.get_photo_url }}">
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
<!-- 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-3">Digitale Agentur</div>
|
||||
<div class="sidebar-brand-text mx-2" style="">Digitale Agentur</div>
|
||||
</a>
|
||||
|
||||
<!-- Divider -->
|
||||
|
|
@ -102,18 +102,18 @@
|
|||
<span>Organigramm</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<!--
|
||||
{% if active_link == 'agencyinfo' %}
|
||||
<li class="nav-item active">
|
||||
{% else%}
|
||||
<li class="nav-item">
|
||||
{%endif%}
|
||||
<a class="nav-link " href="{% url 'agencyinfo' %}" aria-expanded="true">
|
||||
<a class="nav-link " href="#" aria-expanded="true">
|
||||
<i class="fas fa-fw fa-info"></i>
|
||||
<span>Agentur</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
-->
|
||||
{% if active_link == 'quicklinks' %}
|
||||
<li class="nav-item active">
|
||||
{% else%}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ urlpatterns = [
|
|||
#path('usersman/<int:pk>/', permission_required('users.users_usermanagement')(ProfileUpdateView.as_view()), name='users-update'),
|
||||
path('usersman/<int:pk>/perms', permission_required('users.users_usermanagement')(UsersPermUpdateView.as_view()), name='users-perm-update'),
|
||||
path('usersman/<int:pk>/delete', permission_required('users.users_usermanagement')(ProfileDeleteView.as_view()), name='users-delete'),
|
||||
path('agencyinfo/', views.agency, name='agencyinfo'),
|
||||
path('agencyinfo/<int:pk>/', permission_required('users.agency_change')(AgencyUpdateView.as_view()), name='agency-manage'),
|
||||
#path('agencyinfo/', views.agency, name='agencyinfo'),
|
||||
#path('agencyinfo/<int:pk>/', permission_required('users.agency_change')(AgencyUpdateView.as_view()), name='agency-manage'),
|
||||
path('usersman/<int:pk>/prio', views.UsersPrio, name='users-prio'),
|
||||
#path('prioupdate/', views.UsersPrioUpdate, name="users-prioupdate"),
|
||||
path('areataskupdate/<int:pk>/', views.UsersAreaTaskUpdate, name="users-areataskupdate"),
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@ class AgencyUpdateForm(forms.ModelForm):
|
|||
"phone" : "Telefon",
|
||||
"agencypic" : "Agenturbild"
|
||||
}
|
||||
fields = ['name','inhaber','street', 'plz', 'city', 'agency_email', 'phone', 'agencypic', 'x', 'y', 'width', 'height', 'rotation']
|
||||
fields = ['name','inhaber','agency_email', 'phone', 'street', 'plz', 'city', 'agencypic', 'x', 'y', 'width', 'height', 'rotation']
|
||||
|
||||
def save(self):
|
||||
photo = super(AgencyUpdateForm, self).save()
|
||||
|
|
|
|||
|
|
@ -25,6 +25,28 @@ from django.template.loader import render_to_string
|
|||
from django.contrib.auth.forms import PasswordResetForm
|
||||
from django.template.loader import render_to_string
|
||||
from io import StringIO
|
||||
from users.models import AgencyJob
|
||||
|
||||
@login_required
|
||||
def toUpdate(request):
|
||||
# NO AGENVYJOBS
|
||||
# CREATE DEFAULT
|
||||
'''
|
||||
|
||||
Agenturleiter
|
||||
Außendienst
|
||||
Innendienst
|
||||
Auszubildender
|
||||
|
||||
'''
|
||||
agencyjobsobject = AgencyJob.objects.filter(agency__pk=request.user.profile.agency.pk)
|
||||
if(len(agencyjobsobject) == 0):
|
||||
defaultAgencyJobs = ['Agenturleiter', 'Außendienst', 'Innendienst', 'Auszubildender']
|
||||
for ele in defaultAgencyJobs:
|
||||
tempAgencyJob = AgencyJob(name=ele, agency=request.user.profile.agency)
|
||||
tempAgencyJob.save()
|
||||
|
||||
|
||||
'''
|
||||
|
||||
DASHBOARD-View
|
||||
|
|
@ -61,8 +83,16 @@ class AgencyCreateView(CreateView):
|
|||
)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@login_required
|
||||
def dashboard(request):
|
||||
|
||||
# UPDATE FUNCTIONS BY NEW MODEL-CHANGES FOR COPIEN SOME DATA
|
||||
toUpdate(request)
|
||||
|
||||
|
||||
context = {
|
||||
'active_link' : 'dashboard'
|
||||
|
|
|
|||
Loading…
Reference in New Issue