|
29 | 29 | from django.core.exceptions import ValidationError, ObjectDoesNotExist |
30 | 30 | from django.db import models, transaction, IntegrityError |
31 | 31 | from django.db.models import Q, Sum, F, Count |
32 | | -from django.db.models.signals import pre_save, pre_delete |
| 32 | +from django.db.models.signals import pre_save |
33 | 33 | from django.shortcuts import get_object_or_404 |
34 | 34 | from django.urls import reverse |
35 | 35 | from django.utils.timezone import localdate, localtime |
@@ -1415,9 +1415,9 @@ def mark_as_canceled(self, date_canceled: date = None, commit: bool = False, **k |
1415 | 1415 | self.invoice_status = self.INVOICE_STATUS_CANCELED |
1416 | 1416 | self.clean() |
1417 | 1417 | if commit: |
1418 | | - self.save() |
1419 | | - self.lock_ledger(commit=True, raise_exception=False) |
| 1418 | + self.unlock_ledger(commit=True, raise_exception=False) |
1420 | 1419 | self.unpost_ledger(commit=True, raise_exception=False) |
| 1420 | + self.save() |
1421 | 1421 |
|
1422 | 1422 | def get_mark_as_canceled_html_id(self): |
1423 | 1423 | """ |
@@ -1473,60 +1473,60 @@ def delete(self, force_db_delete: bool = False, using=None, keep_parents=False): |
1473 | 1473 | ) |
1474 | 1474 | return super().delete(using=using, keep_parents=keep_parents) |
1475 | 1475 |
|
1476 | | - def mark_as_delete(self, **kwargs): |
1477 | | - """ |
1478 | | - Deletes InvoiceModel from DB if possible. Raises exception if can_delete() is False. |
1479 | | - """ |
1480 | | - if not self.can_delete(): |
1481 | | - raise InvoiceModelValidationError( |
1482 | | - f'Invoice {self.invoice_number} cannot be deleted. Must be void after Approved.') |
1483 | | - self.delete(**kwargs) |
1484 | | - |
1485 | | - def get_mark_as_delete_html_id(self) -> str: |
1486 | | - """ |
1487 | | - InvoiceModel Mark as Delete URL. |
1488 | | -
|
1489 | | - Returns |
1490 | | - _______ |
1491 | | -
|
1492 | | - str |
1493 | | - URL as a String. |
1494 | | - """ |
1495 | | - return f'djl-invoice-model-{self.uuid}-mark-as-delete' |
1496 | | - |
1497 | | - def get_mark_as_delete_url(self, entity_slug: Optional[str] = None) -> str: |
1498 | | - """ |
1499 | | - InvoiceModel Mark-as-Delete action URL. |
1500 | | -
|
1501 | | - Parameters |
1502 | | - __________ |
1503 | | - entity_slug: str |
1504 | | - Entity Slug kwarg. If not provided, will result in addition DB query if select_related('ledger__entity') |
1505 | | - is not cached on QuerySet. |
1506 | | -
|
1507 | | - Returns |
1508 | | - _______ |
1509 | | - str |
1510 | | - InvoiceModel mark-as-delete action URL. |
1511 | | - """ |
1512 | | - if not entity_slug: |
1513 | | - entity_slug = self.ledger.entity.slug |
1514 | | - return reverse('django_ledger:invoice-action-mark-as-delete', |
1515 | | - kwargs={ |
1516 | | - 'entity_slug': entity_slug, |
1517 | | - 'invoice_pk': self.uuid |
1518 | | - }) |
1519 | | - |
1520 | | - def get_mark_as_delete_message(self) -> str: |
1521 | | - """ |
1522 | | - Internationalized confirmation message with Invoice Number. |
1523 | | -
|
1524 | | - Returns |
1525 | | - _______ |
1526 | | - str |
1527 | | - Mark-as-Delete InvoiceModel confirmation message as a String. |
1528 | | - """ |
1529 | | - return _('Do you want to delete Invoice %s?') % self.invoice_number |
| 1476 | + # def mark_as_delete(self, **kwargs): |
| 1477 | + # """ |
| 1478 | + # Deletes InvoiceModel from DB if possible. Raises exception if can_delete() is False. |
| 1479 | + # """ |
| 1480 | + # if not self.can_delete(): |
| 1481 | + # raise InvoiceModelValidationError( |
| 1482 | + # f'Invoice {self.invoice_number} cannot be deleted. Must be void after Approved.') |
| 1483 | + # self.delete(**kwargs) |
| 1484 | + # |
| 1485 | + # # def get_mark_as_delete_html_id(self) -> str: |
| 1486 | + # """ |
| 1487 | + # InvoiceModel Mark as Delete URL. |
| 1488 | + # |
| 1489 | + # Returns |
| 1490 | + # _______ |
| 1491 | + # |
| 1492 | + # str |
| 1493 | + # URL as a String. |
| 1494 | + # """ |
| 1495 | + # return f'djl-invoice-model-{self.uuid}-mark-as-delete' |
| 1496 | + # |
| 1497 | + # def get_mark_as_delete_url(self, entity_slug: Optional[str] = None) -> str: |
| 1498 | + # """ |
| 1499 | + # InvoiceModel Mark-as-Delete action URL. |
| 1500 | + # |
| 1501 | + # Parameters |
| 1502 | + # __________ |
| 1503 | + # entity_slug: str |
| 1504 | + # Entity Slug kwarg. If not provided, will result in addition DB query if select_related('ledger__entity') |
| 1505 | + # is not cached on QuerySet. |
| 1506 | + # |
| 1507 | + # Returns |
| 1508 | + # _______ |
| 1509 | + # str |
| 1510 | + # InvoiceModel mark-as-delete action URL. |
| 1511 | + # """ |
| 1512 | + # if not entity_slug: |
| 1513 | + # entity_slug = self.ledger.entity.slug |
| 1514 | + # return reverse('django_ledger:invoice-action-mark-as-delete', |
| 1515 | + # kwargs={ |
| 1516 | + # 'entity_slug': entity_slug, |
| 1517 | + # 'invoice_pk': self.uuid |
| 1518 | + # }) |
| 1519 | + # |
| 1520 | + # def get_mark_as_delete_message(self) -> str: |
| 1521 | + # """ |
| 1522 | + # Internationalized confirmation message with Invoice Number. |
| 1523 | + # |
| 1524 | + # Returns |
| 1525 | + # _______ |
| 1526 | + # str |
| 1527 | + # Mark-as-Delete InvoiceModel confirmation message as a String. |
| 1528 | + # """ |
| 1529 | + # return _('Do you want to delete Invoice %s?') % self.invoice_number |
1530 | 1530 |
|
1531 | 1531 | # ACTIONS END.... |
1532 | 1532 | def get_status_action_date(self): |
@@ -1740,13 +1740,12 @@ def invoicemodel_presave(instance: InvoiceModel, **kwargs): |
1740 | 1740 |
|
1741 | 1741 | pre_save.connect(receiver=invoicemodel_presave, sender=InvoiceModel) |
1742 | 1742 |
|
1743 | | - |
1744 | | -def invoicemodel_predelete(instance: InvoiceModel, **kwargs): |
1745 | | - ledger_model = instance.ledger |
1746 | | - ledger_model.unpost(commit=False) |
1747 | | - ledger_model.remove_wrapped_model_info() |
1748 | | - ledger_model.itemtransactonmodel_set.all().delete() |
1749 | | - instance.ledger.delete() |
1750 | | - |
1751 | | - |
1752 | | -pre_delete.connect(receiver=invoicemodel_predelete, sender=InvoiceModel) |
| 1743 | +# def invoicemodel_predelete(instance: InvoiceModel, **kwargs): |
| 1744 | +# ledger_model = instance.ledger |
| 1745 | +# ledger_model.unpost(commit=False) |
| 1746 | +# ledger_model.remove_wrapped_model_info() |
| 1747 | +# ledger_model.itemtransactonmodel_set.all().delete() |
| 1748 | +# instance.ledger.delete() |
| 1749 | +# |
| 1750 | +# |
| 1751 | +# pre_delete.connect(receiver=invoicemodel_predelete, sender=InvoiceModel) |
0 commit comments