#86 Edit payment
* adds button for payment editing * adds new edit form payment editing * adds tests for views and workflow
This commit is contained in:
@@ -21,7 +21,7 @@ from konova.contexts import BaseContext
|
||||
from konova.forms import BaseModalForm, NewDocumentForm, RemoveModalForm
|
||||
from konova.models import DeadlineType
|
||||
from konova.utils.message_templates import FORM_INVALID, ADDED_COMPENSATION_STATE, ADDED_DEADLINE, \
|
||||
ADDED_COMPENSATION_ACTION
|
||||
ADDED_COMPENSATION_ACTION, PAYMENT_EDITED
|
||||
|
||||
|
||||
class NewPaymentForm(BaseModalForm):
|
||||
@@ -103,6 +103,32 @@ class NewPaymentForm(BaseModalForm):
|
||||
return pay
|
||||
|
||||
|
||||
class EditPaymentModalForm(NewPaymentForm):
|
||||
""" Form handling edit for Payment
|
||||
|
||||
"""
|
||||
payment = None
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.payment = kwargs.pop("payment", None)
|
||||
super().__init__(*args, **kwargs)
|
||||
form_date = {
|
||||
"amount": self.payment.amount,
|
||||
"due": str(self.payment.due_on),
|
||||
"comment": self.payment.comment,
|
||||
}
|
||||
self.load_initial_data(form_date, disabled_fields=[])
|
||||
|
||||
def save(self):
|
||||
payment = self.payment
|
||||
payment.amount = self.cleaned_data.get("amount", None)
|
||||
payment.due_on = self.cleaned_data.get("due", None)
|
||||
payment.comment = self.cleaned_data.get("comment", None)
|
||||
payment.save()
|
||||
self.instance.mark_as_edited(self.user, self.request, edit_comment=PAYMENT_EDITED)
|
||||
return payment
|
||||
|
||||
|
||||
class RemovePaymentModalForm(RemoveModalForm):
|
||||
""" Removing modal form for Payment
|
||||
|
||||
|
||||
Reference in New Issue
Block a user