dodati payment kodovi, generisanje kodova, pdf view,promena payment page
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
from django.contrib import admin
|
||||
from .models import Document, DocumentSegment, Organization, Risk, Control, DocumentTemplate, DocumentRiskControl
|
||||
from .models import Document, DocumentSegment, Organization, Risk, Control, DocumentTemplate, DocumentRiskControl, PaymentCode
|
||||
from django.urls import reverse
|
||||
from django.utils.html import format_html
|
||||
|
||||
from .utils import generate_payment_code
|
||||
from django.urls import path
|
||||
from django.shortcuts import render, redirect
|
||||
from .forms import GenerateCodesForm
|
||||
|
||||
class DocumentSegmentInline(admin.StackedInline):
|
||||
model = DocumentSegment
|
||||
@@ -41,6 +44,37 @@ class ControlAdmin(admin.ModelAdmin):
|
||||
class DocumentRiskControlAdmin(admin.ModelAdmin):
|
||||
list_display = ('document', 'risk', 'control', 'weight','likelihood')
|
||||
|
||||
class PaymentCodeAdmin(admin.ModelAdmin):
|
||||
|
||||
list_display = ('code', 'created_at', 'used', 'company', 'used_at')
|
||||
change_list_template = "admin/paymentcode_changelist.html"
|
||||
|
||||
def get_urls(self):
|
||||
urls = super().get_urls()
|
||||
custom_urls = [
|
||||
path('generate-codes/', self.admin_site.admin_view(self.generate_codes_view), name='generate-codes'),
|
||||
]
|
||||
return custom_urls + urls
|
||||
|
||||
def generate_codes_view(self, request):
|
||||
if request.method == 'POST':
|
||||
form = GenerateCodesForm(request.POST)
|
||||
if form.is_valid():
|
||||
count = form.cleaned_data['count']
|
||||
created = 0
|
||||
for _ in range(count):
|
||||
while True:
|
||||
code = generate_payment_code()
|
||||
if not PaymentCode.objects.filter(code=code).exists():
|
||||
PaymentCode.objects.create(code=code)
|
||||
created += 1
|
||||
break
|
||||
self.message_user(request, f"{created} codes generated.")
|
||||
return redirect('..')
|
||||
else:
|
||||
form = GenerateCodesForm()
|
||||
return render(request, 'admin/generate_codes.html', {'form': form})
|
||||
|
||||
|
||||
admin.site.register(Document, DocumentAdmin)
|
||||
admin.site.register(Organization, OrganizationAdmin)
|
||||
@@ -48,3 +82,4 @@ admin.site.register(Risk ,RiskAdmin)
|
||||
admin.site.register(Control, ControlAdmin)
|
||||
admin.site.register(DocumentTemplate, DocumentTemplateAdmin)
|
||||
admin.site.register(DocumentRiskControl, DocumentRiskControlAdmin)
|
||||
admin.site.register(PaymentCode, PaymentCodeAdmin)
|
||||
|
||||
Reference in New Issue
Block a user