mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	Create & update billings (products are not yet supported)
This commit is contained in:
		@@ -3,9 +3,11 @@
 | 
			
		||||
 | 
			
		||||
from django.urls import path
 | 
			
		||||
 | 
			
		||||
from .views import BillingListView
 | 
			
		||||
from .views import BillingCreateView, BillingListView, BillingUpdateView
 | 
			
		||||
 | 
			
		||||
app_name = 'treasury'
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    path('billing/', BillingListView.as_view(), name='billing'),
 | 
			
		||||
    path('billing/create/', BillingCreateView.as_view(), name='billing_create'),
 | 
			
		||||
    path('billing/<int:pk>/', BillingUpdateView.as_view(), name='billing_update'),
 | 
			
		||||
]
 | 
			
		||||
 
 | 
			
		||||
@@ -2,15 +2,34 @@
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from django.contrib.auth.mixins import LoginRequiredMixin
 | 
			
		||||
from django.views.generic import CreateView, UpdateView
 | 
			
		||||
from django_tables2 import SingleTableView
 | 
			
		||||
 | 
			
		||||
from .models import Billing
 | 
			
		||||
from .tables import BillingTable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingCreateView(LoginRequiredMixin, CreateView):
 | 
			
		||||
    """
 | 
			
		||||
    Create Billing
 | 
			
		||||
    """
 | 
			
		||||
    model = Billing
 | 
			
		||||
    fields = '__all__'
 | 
			
		||||
    # form_class = ClubForm
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingListView(LoginRequiredMixin, SingleTableView):
 | 
			
		||||
    """
 | 
			
		||||
    List existing Billings
 | 
			
		||||
    """
 | 
			
		||||
    model = Billing
 | 
			
		||||
    table_class = BillingTable
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class BillingUpdateView(LoginRequiredMixin, UpdateView):
 | 
			
		||||
    """
 | 
			
		||||
    Create Billing
 | 
			
		||||
    """
 | 
			
		||||
    model = Billing
 | 
			
		||||
    fields = '__all__'
 | 
			
		||||
    # form_class = ClubForm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								templates/treasury/billing_form.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								templates/treasury/billing_form.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% load static %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load crispy_forms_tags %}
 | 
			
		||||
{% block content %}
 | 
			
		||||
<p><a class="btn btn-default" href="{% url 'treasury:billing' %}">{% trans "Billings list" %}</a></p>
 | 
			
		||||
<form method="post">
 | 
			
		||||
{% csrf_token %}
 | 
			
		||||
{{form|crispy}}
 | 
			
		||||
<button class="btn btn-primary" type="submit">{% trans "Submit" %}</button>
 | 
			
		||||
</form>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
 | 
			
		||||
{% render_table  table %}
 | 
			
		||||
 | 
			
		||||
<a class="btn btn-primary" href="{% url 'treasury:billing' %}">{% trans "New billing" %}</a>
 | 
			
		||||
<a class="btn btn-primary" href="{% url 'treasury:billing_create' %}">{% trans "New billing" %}</a>
 | 
			
		||||
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% block extrajavascript %}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user