def on_submittedpricelist_save(sender, created=False, instance=None, **kwargs) -> None: if (created and instance and instance.status == SubmittedPriceList.STATUS_UNREVIEWED): url = absolute_reverse('admin:data_capture_unreviewedpricelist_change', args=(instance.id, )) sendmsg(f'A new <{url}|price list> has been submitted!')
def price_list_rejected(template, price_list): details_link = absolute_reverse('data_capture:price_list_details', kwargs={'id': price_list.pk}) ctx = { 'price_list': price_list, 'details_link': details_link, } result = send_mail(subject='CALC Price List Rejected', template=template, ctx=ctx, reply_to=[settings.HELP_EMAIL], to=[price_list.submitter.email]) if price_list.status is not SubmittedPriceList.STATUS_REJECTED: raise AssertionError('price_list.status must be STATUS_REJECTED') return EmailResult(was_successful=result is 1, context=ctx)
def bulk_upload_failed(template, upload_source, traceback): r10_upload_link = absolute_reverse('data_capture:bulk_region_10_step_1') ctx = { 'upload_source': upload_source, 'traceback': traceback, 'r10_upload_link': r10_upload_link } result = send_mail( subject='CALC Region 10 bulk data results - upload #{}'.format( upload_source.id), template=template, ctx=ctx, reply_to=[settings.HELP_EMAIL], to=[upload_source.submitter.email], ) return EmailResult(was_successful=result is 1, context=ctx)
def approval_reminder(template, count_unreviewed): unreviewed_url = absolute_reverse( 'admin:data_capture_unreviewedpricelist_changelist') ctx = { 'unreviewed_url': unreviewed_url, } superusers = User.objects.filter(is_superuser=True) recipients = [s.email for s in superusers if s.email] result = send_mail( subject='CALC Reminder - {} price list{} not reviewed'.format( count_unreviewed, pluralize(count_unreviewed)), template=template, ctx=ctx, reply_to=[settings.HELP_EMAIL], to=recipients, ) return EmailResult( was_successful=result is 1, # or count of superusers context=ctx)