Compare commits
3 Commits
120c762582
...
355ea34e03
| Author | SHA1 | Date |
|---|---|---|
|
|
355ea34e03 | 2 years ago |
|
|
f009a6cfd7 | 2 years ago |
|
|
8a0147965f | 2 years ago |
19 changed files with 410 additions and 58 deletions
Binary file not shown.
@ -1,10 +1,63 @@ |
||||
from django import forms |
||||
from django.forms import DateInput |
||||
|
||||
from .models import * |
||||
|
||||
from django import forms |
||||
from .models import Address |
||||
|
||||
'''' |
||||
class AddressForm(forms.Form): |
||||
vorname = forms.CharField(max_length=255) |
||||
nachname = forms.CharField(max_length=255) |
||||
geburtstag = forms.DateField(widget=forms.SelectDateWidget) |
||||
street = forms.CharField(max_length=255) |
||||
hausnummer = forms.CharField(max_length=10) |
||||
postleitzahl = forms.CharField(max_length=5) |
||||
|
||||
''' |
||||
|
||||
|
||||
class AddressForm(forms.ModelForm): |
||||
class Meta: |
||||
model = Address |
||||
fields = ['vorname', 'nachname', 'geburtstag', 'street', 'hausnummer', 'postleitzahl'] |
||||
fields = '__all__' |
||||
# noinspection PyRedundantParentheses |
||||
widgets = { |
||||
'geburtstag': forms.DateInput( |
||||
format=('%Y-%m-%d'), |
||||
attrs={'class': 'form-control', |
||||
'placeholder': 'Wähle ein Datum', |
||||
'type': 'date' |
||||
} |
||||
) |
||||
} |
||||
|
||||
def is_valid(self): |
||||
return True |
||||
|
||||
|
||||
class SummaryForm(forms.ModelForm): |
||||
class Meta: |
||||
model = Summary |
||||
fields = '__all__' |
||||
widgets = { |
||||
'text': forms.Textarea(attrs={'rows': 10, 'cols': 30}) |
||||
} |
||||
|
||||
|
||||
class SalesAreaTypeForm(forms.ModelForm): |
||||
class Meta: |
||||
model = SalesAreaType |
||||
fields = '__all__' |
||||
|
||||
|
||||
class SalesAreaForm(forms.ModelForm): |
||||
class Meta: |
||||
model = SalesArea |
||||
fields = '__all__' |
||||
|
||||
|
||||
class CompanyDataForm(forms.ModelForm): |
||||
class Meta: |
||||
model = CompanyData |
||||
fields = '__all__' |
||||
|
||||
@ -0,0 +1,26 @@ |
||||
# Generated by Django 5.0.1 on 2024-03-06 10:00 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
initial = True |
||||
|
||||
dependencies = [ |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='Address', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('vorname', models.CharField(max_length=255)), |
||||
('nachname', models.CharField(max_length=255)), |
||||
('geburtstag', models.DateField()), |
||||
('street', models.CharField(max_length=255)), |
||||
('hausnummer', models.CharField(max_length=255)), |
||||
('postleitzahl', models.PositiveIntegerField()), |
||||
], |
||||
), |
||||
] |
||||
@ -0,0 +1,50 @@ |
||||
# Generated by Django 5.0.1 on 2024-03-12 16:10 |
||||
|
||||
import django.db.models.deletion |
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('ugssim', '0001_initial'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.CreateModel( |
||||
name='SalesArea', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('title', models.CharField(max_length=255)), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='SalesAreaType', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('title', models.CharField(max_length=255)), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='Summary', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('text', models.TextField(max_length=2000)), |
||||
], |
||||
), |
||||
migrations.CreateModel( |
||||
name='CompanyData', |
||||
fields=[ |
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
('title', models.CharField(max_length=255)), |
||||
('website', models.URLField()), |
||||
('startDate', models.DateField()), |
||||
('salesArea', models.ManyToManyField(related_name='+', to='ugssim.salesarea')), |
||||
], |
||||
), |
||||
migrations.AddField( |
||||
model_name='salesarea', |
||||
name='type', |
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to='ugssim.salesareatype'), |
||||
), |
||||
] |
||||
@ -0,0 +1,23 @@ |
||||
# Generated by Django 5.0.1 on 2024-03-13 10:04 |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('ugssim', '0002_salesarea_salesareatype_summary_companydata_and_more'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='address', |
||||
name='postleitzahl', |
||||
field=models.CharField(max_length=5), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='address', |
||||
name='street', |
||||
field=models.CharField(max_length=10), |
||||
), |
||||
] |
||||
@ -1,15 +1,40 @@ |
||||
from datetime import date |
||||
|
||||
from django import forms |
||||
from django.db import models |
||||
|
||||
|
||||
# Create your models here. |
||||
class Address(models.Model): |
||||
vorname = models.CharField(max_length=255) |
||||
nachname = models.CharField(max_length=255) |
||||
geburtstag = models.DateField() |
||||
street = models.CharField(max_length=255) |
||||
geburtstag: date = models.DateField() |
||||
street = models.CharField(max_length=10) |
||||
hausnummer = models.CharField(max_length=255) |
||||
postleitzahl = models.PositiveIntegerField() |
||||
postleitzahl = models.CharField(max_length=5) |
||||
|
||||
def __str__(self): |
||||
return f'{self.vorname} {self.nachname} lives at {self.street} {self.hausnummer}, {self.postleitzahl}' |
||||
|
||||
|
||||
class Summary(models.Model): |
||||
text = models.TextField(max_length=2000) |
||||
|
||||
def __str__(self): |
||||
return self.text |
||||
|
||||
|
||||
class SalesAreaType(models.Model): |
||||
title = models.CharField(max_length=255) |
||||
|
||||
|
||||
class SalesArea(models.Model): |
||||
title = models.CharField(max_length=255) |
||||
type = models.ForeignKey(SalesAreaType, on_delete=models.RESTRICT) |
||||
|
||||
|
||||
class CompanyData(models.Model): |
||||
title = models.CharField(max_length=255) |
||||
website = models.URLField(max_length=200) |
||||
startDate = models.DateField() |
||||
#salesArea = models.ManyToManyField(SalesArea, related_name='+') |
||||
|
||||
@ -0,0 +1,10 @@ |
||||
<div class="container"> |
||||
{% csrf_token %} |
||||
{% for field in companyDataForm %} |
||||
<div class="form-group"> |
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||
<input class="form-control" type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{ field.auto_id }}" value="{{ field.value|default_if_none:"" }}" > |
||||
</div> |
||||
{% endfor %} |
||||
<button type="submit" class="btn btn-primary" name="companyDataButton">Submit</button> |
||||
</div> |
||||
@ -0,0 +1,19 @@ |
||||
<div class="container"> |
||||
|
||||
<!-- <form method="post" class="form-group">--> |
||||
{% csrf_token %} |
||||
{% for field in addressForm %} |
||||
<div class="form-group"> |
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||
<input class="form-control" |
||||
type="{{ field.field.widget.input_type }}" |
||||
name="{{ field.html_name }}" |
||||
id="{{ field.auto_id }}" |
||||
value="{{ field.value|default_if_none:"" }}" |
||||
> |
||||
</div> |
||||
{% endfor %} |
||||
|
||||
<button type="submit" class="btn btn-primary" name="addressButton">Submit</button> |
||||
<!--</form> --> |
||||
</div> |
||||
@ -0,0 +1,51 @@ |
||||
{% extends 'ugssim/ugssim.html' %} |
||||
{% block content %} |
||||
<form method="post" class="form-group"> |
||||
<div class="accordion" id="accordionPlanning"> |
||||
<div class="accordion-item"> |
||||
<h2 class="accordion-header"> |
||||
<button class="accordion-button" type="button" data-bs-toggle="collapse" |
||||
data-bs-target="#collapseOne" |
||||
aria-expanded="true" aria-controls="collapseOne"> |
||||
Mandantendaten |
||||
</button> |
||||
</h2> |
||||
<div id="collapseOne" class="accordion-collapse collapse show" data-bs-parent="#accordionPlanning"> |
||||
<div class="accordion-body"> |
||||
{% include 'planungsparameter/mandantendaten.html' %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="accordion-item"> |
||||
<h2 class="accordion-header"> |
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" |
||||
data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> |
||||
Kurzfassung |
||||
</button> |
||||
</h2> |
||||
|
||||
|
||||
<div id="collapseTwo" class="accordion-collapse collapse" data-bs-parent="#accordionPlanning"> |
||||
<div class="accordion-body"> |
||||
{% include 'planungsparameter/summary.html' %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="accordion-item"> |
||||
<h2 class="accordion-header"> |
||||
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" |
||||
data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> |
||||
Unternehmensdaten |
||||
</button> |
||||
</h2> |
||||
<div id="collapseThree" class="accordion-collapse collapse" data-bs-parent="#accordionPlanning"> |
||||
<div class="accordion-body"> |
||||
{% include 'planungsparameter/companydata.html' %} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
<!-- Add more sections here --> |
||||
{% endblock content %} |
||||
</div> |
||||
@ -0,0 +1,12 @@ |
||||
<div class="container"> |
||||
<form method="post" class="form-group"> |
||||
{% csrf_token %} |
||||
{% for field in summaryForm %} |
||||
<div class="form-group"> |
||||
<label for="{{ field.id_for_label }}">{{ field.label }}</label> |
||||
<input class="form-control" type="{{ field.field.widget.input_type }}" name="{{ field.html_name }}" id="{{ field.auto_id }}" value="{{ field.value|default_if_none:"" }}" > |
||||
</div> |
||||
{% endfor %} |
||||
<button type="submit" class="btn btn-primary" name="summaryButton">Submit</button> |
||||
</form> |
||||
</div> |
||||
@ -1,37 +1,40 @@ |
||||
<nav class="navbar navbar-expand-lg bg-light"> |
||||
<div class="container-fluid"> |
||||
<!--<a class="navbar-brand" href="#">Menü</a>--> |
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" |
||||
<nav class="navbar navbar-expand-lg bg-light"> |
||||
<div class="container-fluid"> |
||||
<!--<a class="navbar-brand" href="#">Menü</a>--> |
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" |
||||
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> |
||||
<span class="navbar-toggler-icon"></span> |
||||
</button> |
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent"> |
||||
</button> |
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent"> |
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0"> |
||||
<li class="nav-item"> |
||||
<a class="nav-link active" aria-current="page" href="/ugs/">Home</a> |
||||
</li> |
||||
<li class="nav-item"> |
||||
<a class="nav-link" href="/ugs/input/">Erfassung</a> |
||||
</li> |
||||
<li class="nav-item dropdown"> |
||||
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"> |
||||
Auswertung |
||||
</a> |
||||
<ul class="dropdown-menu"> |
||||
<li><a class="dropdown-item" href="/mockup/tables/">Tabellen</a></li> |
||||
<li><a class="dropdown-item" href="#">Diagramme</a></li> |
||||
<li><hr class="dropdown-divider"></li> |
||||
<li><a class="dropdown-item" href="#">Export</a></li> |
||||
</ul> |
||||
</li> |
||||
<li class="nav-item"> |
||||
<a class="nav-link disabled">Pro Version Button</a> |
||||
</li> |
||||
<li class="nav-item"> |
||||
<a class="nav-link active" aria-current="page" href="/">Home</a> |
||||
</li> |
||||
<li class="nav-item"> |
||||
<a class="nav-link" href="/planungsparameter/">Planungsparameter</a> |
||||
</li> |
||||
<li class="nav-item dropdown"> |
||||
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" |
||||
aria-expanded="false"> |
||||
Auswertung |
||||
</a> |
||||
<ul class="dropdown-menu"> |
||||
<li><a class="dropdown-item" href="/mockup/tables/">Tabellen</a></li> |
||||
<li><a class="dropdown-item" href="#">Diagramme</a></li> |
||||
<li> |
||||
<hr class="dropdown-divider"> |
||||
</li> |
||||
<li><a class="dropdown-item" href="#">Export</a></li> |
||||
</ul> |
||||
</li> |
||||
<li class="nav-item"> |
||||
<a class="nav-link disabled">Pro Version Button</a> |
||||
</li> |
||||
</ul> |
||||
<form class="d-flex" role="search"> |
||||
<input class="form-control me-2" type="search" placeholder="Suche" aria-label="Search"> |
||||
<button class="btn btn-outline-success" type="submit">Suche</button> |
||||
<input class="form-control me-2" type="search" placeholder="Suche" aria-label="Search"> |
||||
<button class="btn btn-outline-success" type="submit">Suche</button> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</nav> |
||||
</div> |
||||
</nav> |
||||
|
||||
Loading…
Reference in new issue