Payment
hypha.apply.projects.models.payment
¶
EXPORT_STATUS_CHOICES
module-attribute
¶
EXPORT_STATUS_CHOICES = [(EXPORT_STATUS_ERROR, _('Failed')), (EXPORT_STATUS_SUCCESS, _('Success')), (EXPORT_STATUS_GENERATING, _('In Progress'))]
CHANGES_REQUESTED_BY_STAFF
module-attribute
¶
CHANGES_REQUESTED_BY_FINANCE
module-attribute
¶
INVOICE_STATUS_CHOICES
module-attribute
¶
INVOICE_STATUS_CHOICES = [(SUBMITTED, _('Submitted')), (RESUBMITTED, _('Resubmitted')), (CHANGES_REQUESTED_BY_STAFF, _('Changes requested by staff')), (CHANGES_REQUESTED_BY_FINANCE, _('Changes requested by finance')), (APPROVED_BY_STAFF, _('Approved by staff')), (APPROVED_BY_FINANCE, _('Approved by finance')), (PAID, _('Paid')), (PAYMENT_FAILED, _('Payment failed')), (DECLINED, _('Declined'))]
INVOICE_TRANSITION_TO_RESUBMITTED
module-attribute
¶
INVOICE_TRANSITION_TO_RESUBMITTED = [SUBMITTED, RESUBMITTED, CHANGES_REQUESTED_BY_STAFF, CHANGES_REQUESTED_BY_FINANCE]
INVOICE_STATUS_PM_CHOICES
module-attribute
¶
INVOICE_STATUS_PM_CHOICES = [CHANGES_REQUESTED_BY_STAFF, APPROVED_BY_STAFF, DECLINED]
INVOICE_STATUS_FINANCE_1_CHOICES
module-attribute
¶
INVOICE_STATUS_FINANCE_1_CHOICES = [CHANGES_REQUESTED_BY_FINANCE, APPROVED_BY_FINANCE, DECLINED, PAID, PAYMENT_FAILED]
InvoiceTag
¶
Bases: Model
InvoiceQueryset
¶
Invoice
¶
Bases: Model
project
class-attribute
instance-attribute
¶
by
class-attribute
instance-attribute
¶
paid_value
class-attribute
instance-attribute
¶
paid_value = models.DecimalField(_('paid value'), max_digits=10, decimal_places=2, validators=[MinValueValidator(decimal.Decimal('0.01'))], null=True)
document
class-attribute
instance-attribute
¶
document = models.FileField(_('document'), upload_to=invoice_path, storage=PrivateStorage())
message_for_pm
class-attribute
instance-attribute
¶
message_for_pm = models.TextField(blank=True, verbose_name=_('comment'), help_text=_('This will be displayed as a comment in the comments tab'))
invoice_number
class-attribute
instance-attribute
¶
invoice_amount
class-attribute
instance-attribute
¶
invoice_amount = models.DecimalField(max_digits=10, decimal_places=2, validators=[MinValueValidator(decimal.Decimal('0.01'))], null=True, verbose_name=_('invoice amount'))
invoice_date
class-attribute
instance-attribute
¶
paid_date
class-attribute
instance-attribute
¶
status
class-attribute
instance-attribute
¶
status = models.CharField(_('status'), default=SUBMITTED, choices=INVOICE_STATUS_CHOICES, max_length=30)
status_field
class-attribute
instance-attribute
¶
status_field = State(default=SUBMITTED, states=INVOICE_STATUS_CHOICES)
requested_at
class-attribute
instance-attribute
¶
tags
class-attribute
instance-attribute
¶
tags = models.ManyToManyField(InvoiceTag, blank=True, related_name='invoices', verbose_name=_('tags'))
wagtail_reference_index_ignore
class-attribute
instance-attribute
¶
Meta
¶
transition_invoice_to_resubmitted
¶
Transition invoice to resubmitted status. This method generally gets used on invoice edit.
Source code in hypha/apply/projects/models/payment.py
can_user_delete
¶
Source code in hypha/apply/projects/models/payment.py
can_user_edit
¶
Source code in hypha/apply/projects/models/payment.py
can_user_change_status
¶
Check user roles that can transition invoice status based on the current status.
Source code in hypha/apply/projects/models/payment.py
SupportingDocument
¶
Bases: Model
wagtail_reference_index_ignore
class-attribute
instance-attribute
¶
document
class-attribute
instance-attribute
¶
document = models.FileField(_('document'), upload_to='supporting_documents', storage=PrivateStorage())
invoice
class-attribute
instance-attribute
¶
invoice = models.ForeignKey(Invoice, on_delete=models.CASCADE, related_name='supporting_documents')
Meta
¶
get_absolute_url
¶
InvoiceExportManager
¶
Bases: Model
user
class-attribute
instance-attribute
¶
created_time
class-attribute
instance-attribute
¶
completed_time
class-attribute
instance-attribute
¶
status
class-attribute
instance-attribute
¶
status = models.CharField(choices=EXPORT_STATUS_CHOICES, default=EXPORT_STATUS_GENERATING)