erichhasl 7 лет назад
Родитель
Сommit
f00632b5ff
3 измененных файлов: 105 добавлений и 2 удалений
  1. +12
    -2
      web_dev/sas_web/meingoethopia/admin.py
  2. +16
    -0
      web_dev/sas_web/meingoethopia/models.py
  3. +77
    -0
      web_dev/sas_web/meingoethopia/templates/meingoethopia/betriebsabrechnung.html

+ 12
- 2
web_dev/sas_web/meingoethopia/admin.py Просмотреть файл

@@ -1,6 +1,6 @@
from django.contrib import admin from django.contrib import admin
from .models import Betrieb, Partei, PresidentCandidate, Question, Angestellter,\ from .models import Betrieb, Partei, PresidentCandidate, Question, Angestellter,\
Aufsicht, Betriebsaufsicht
Aufsicht, Betriebsaufsicht, Betriebsabrechnung
from startpage.models import Banned from startpage.models import Banned
from django.contrib.admin import helpers from django.contrib.admin import helpers
from django.shortcuts import render from django.shortcuts import render
@@ -95,6 +95,16 @@ class AufsichtInline(admin.TabularInline):
} }




class BetriebsabrechnungInline(admin.TabularInline):
model = Betriebsabrechnung
extra = 0
formfield_overrides = {
models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple},
models.ForeignKey: {'widget': apply_select2(forms.Select)}
}
template = "meingoethopia/betriebsabrechnung.html"


# Register your models here. # Register your models here.
class BetriebAdmin(admin.ModelAdmin): class BetriebAdmin(admin.ModelAdmin):
list_display = ('name', 'manager', 'show_aufsichten', 'raum', list_display = ('name', 'manager', 'show_aufsichten', 'raum',
@@ -108,7 +118,7 @@ class BetriebAdmin(admin.ModelAdmin):
} }
actions = [ban_ip, create_overview] actions = [ban_ip, create_overview]
filter_horizontal = ('angestellte',) filter_horizontal = ('angestellte',)
inlines = [AufsichtInline]
inlines = [AufsichtInline, BetriebsabrechnungInline]




class ParteiAdmin(admin.ModelAdmin): class ParteiAdmin(admin.ModelAdmin):


+ 16
- 0
web_dev/sas_web/meingoethopia/models.py Просмотреть файл

@@ -62,6 +62,8 @@ class Betrieb(models.Model):
raum = models.IntegerField('Raum', default=102) raum = models.IntegerField('Raum', default=102)
aufsicht = models.CharField('Aufsicht', max_length=100, default='keine') aufsicht = models.CharField('Aufsicht', max_length=100, default='keine')
kredit = models.IntegerField('Kreditwunsch', default=0) kredit = models.IntegerField('Kreditwunsch', default=0)
kredit_ausgezahlt = models.BooleanField('Kredit ausgezahlt', default=False)
kredit_bezahlt = models.BooleanField('Kredit zurückgezahlt', default=False)
business_idea = models.TextField('Idee') business_idea = models.TextField('Idee')
ip_address = models.CharField('IP Adresse', max_length=50, blank=True) ip_address = models.CharField('IP Adresse', max_length=50, blank=True)
confirmed = models.BooleanField('Bestätigt', default=False) confirmed = models.BooleanField('Bestätigt', default=False)
@@ -123,6 +125,20 @@ class Betriebsaufsicht(models.Model):
return self.aufsicht.name return self.aufsicht.name




class Betriebsabrechnung(models.Model):
betrieb = models.ForeignKey(Betrieb)
datum = models.DateField('Datum')
umsatz = models.IntegerField('Umsatz')
lohnkosten = models.IntegerField('Lohnkosten')
ausgaben = models.IntegerField('Ausgaben')
gewinn = models.IntegerField('Gewinn')
steuer = models.IntegerField('Steuer')
erledigt = models.BooleanField('Erledigt')

def __str__(self):
return self.betrieb.name + " " + str(self.datum)


class Partei(models.Model): class Partei(models.Model):
name = models.CharField('Name', max_length=100) name = models.CharField('Name', max_length=100)
abbreviation = models.CharField('Abkürzung', max_length=5) abbreviation = models.CharField('Abkürzung', max_length=5)


+ 77
- 0
web_dev/sas_web/meingoethopia/templates/meingoethopia/betriebsabrechnung.html Просмотреть файл

@@ -0,0 +1,77 @@
{% load i18n admin_urls static admin_modify %}
<div class="js-inline-admin-formset inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"
data-inline-type="tabular"
data-inline-formset="{{ inline_admin_formset.inline_formset_data }}">
<div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">

{{ inline_admin_formset.formset.management_form }}

<fieldset class="module {{ inline_admin_formset.classes }}">
<h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
{{ inline_admin_formset.formset.non_form_errors }}
<table>
<thead><tr>
<th class="original"></th>
{% for field in inline_admin_formset.fields %}
{% if not field.widget.is_hidden %}
<th{% if field.required %} class="required"{% endif %}>{{ field.label|capfirst }}
{% if field.help_text %}&nbsp;<img src="{% static "admin/img/icon-unknown.svg" %}" class="help help-tooltip" width="10" height="10" alt="({{ field.help_text|striptags }})" title="{{ field.help_text|striptags }}" />{% endif %}
</th>
{% endif %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}</th>{% endif %}
</tr></thead>

<tbody>
{% for inline_admin_form in inline_admin_formset %}
{% if inline_admin_form.form.non_field_errors %}
<tr><td colspan="{{ inline_admin_form|cell_count }}">{{ inline_admin_form.form.non_field_errors }}</td></tr>
{% endif %}
<tr class="form-row {% cycle "row1" "row2" %} {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}{% if forloop.last %} empty-form{% endif %}"
id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
<td class="original">
{% if inline_admin_form.original or inline_admin_form.show_url %}<p>
{% if inline_admin_form.original %}
{{ inline_admin_form.original }}
{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %}<a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="inlinechangelink">{% trans "Change" %}</a>{% endif %}
{% endif %}
{% if inline_admin_form.show_url %}<a href="{{ inline_admin_form.absolute_url }}">{% trans "View on site" %}</a>{% endif %}
</p>{% endif %}
{% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
{{ inline_admin_form.fk_field.field }}
{% spaceless %}
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if field.field.is_hidden %} {{ field.field }} {% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% endspaceless %}
</td>
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{% if not field.field.is_hidden %}
<td{% if field.field.name %} class="field-{{ field.field.name }}"{% endif %}>
{% if field.is_readonly %}
<p>{{ field.contents }}</p>
{% else %}
{{ field.field.errors.as_ul }}
{{ field.field }}
{% endif %}
</td>
{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
{% if inline_admin_formset.formset.can_delete %}
<td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
</div>
</div>

Загрузка…
Отмена
Сохранить