Пример #1
0
 def send_cancelation_email(self, source=None):
     context = {'booking': self}
     if self.owner == source:
         message = create_alternative_email(
             'rent/emails/owner_cancelation_to_owner', context,
             settings.DEFAULT_FROM_EMAIL, [self.owner.email])
         message.send()
         message = create_alternative_email(
             'rent/emails/owner_cancelation_to_borrower', context,
             settings.DEFAULT_FROM_EMAIL, [self.borrower.email])
         message.send()
         self.send_notification(message="Réservation annulée",
                                receiver=self.borrower,
                                state="BOOKING_CANCEL")
     else:
         message = create_alternative_email(
             'rent/emails/borrower_cancelation_to_owner', context,
             settings.DEFAULT_FROM_EMAIL, [self.owner.email])
         message.send()
         message = create_alternative_email(
             'rent/emails/borrower_cancelation_to_borrower', context,
             settings.DEFAULT_FROM_EMAIL, [self.borrower.email])
         message.send()
         self.send_notification(message="Réservation annulée",
                                receiver=self.owner,
                                state="BOOKING_CANCEL")
     BookingSegment(self).send_booking_canceled_received_track()
Пример #2
0
 def send_closed_email(self):
     context = {'booking': self}
     message = create_alternative_email('rent/emails/owner_closed', context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.owner.email])
     message.send()
     message = create_alternative_email('rent/emails/borrower_closed',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.borrower.email])
     message.send()
Пример #3
0
 def send_ask_email(self):
     context = {'booking': self}
     message = create_alternative_email('rent/emails/owner_ask', context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.owner.email])
     message.send()
     message = create_alternative_email('rent/emails/borrower_ask', context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.borrower.email])
     message.send()
     self.send_notification(message="Demande de réservation",
                            receiver=self.owner,
                            state="BOOKING_ASK")
     BookingSegment(self).send_booking_requested_received_track()
Пример #4
0
def new_message_email(sender, instance, created, **kwargs):
    """
    This function sends an email and is called via Django's signal framework.
    Optional arguments:
        ``template_name``: the template to use
        ``subject_prefix``: prefix for the email subject.
        ``default_protocol``: default protocol in site URL passed to template
    """
    if created and instance.recipient.email:
        context = {'message': instance}
        message = create_alternative_email('django_messages/new_message',
                                           context,
                                           settings.DEFAULT_FROM_EMAIL,
                                           [instance.recipient.email])
        message.send()
        #Parse notification
        print instance.recipient.email
        print instance.recipient.device_token
        if instance.recipient.device_token:
            print "NOTIFICATION"
            register(settings.PARSE_APPLICATION_ID,
                     settings.PARSE_REST_API_KEY)
            unread_count = instance.recipient.received_messages.filter(
                read_at=None).count()
            Push.alert(
                {
                    "alert": "Vous avez reçu un nouveau message",
                    "type": "MSG_NEW",
                    "user_id": instance.recipient.pk,
                    "count": unread_count,
                    "badge": unread_count,
                    "sound": "default"
                },
                where={"deviceToken": instance.recipient.device_token})
Пример #5
0
 def send_owner_receipt(self):
     context = {'booking': self}
     message = create_alternative_email('rent/emails/owner_receipt',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.owner.email])
     message.send()
Пример #6
0
 def send_notification_comment_email(self):
     context = {
         'comment': self,
         'author': self.booking.borrower,
         'patron': self.booking.owner
     }
     message = create_alternative_email('rent/emails/comment', context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.booking.owner.email])
     message.send()
Пример #7
0
 def send_rejection_email(self):
     context = {'booking': self}
     message = create_alternative_email('rent/emails/borrower_rejection',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.borrower.email])
     message.send()
     self.send_notification(message="Réservation refusée",
                            receiver=self.borrower,
                            state="BOOKING_REJECT")
     BookingSegment(self).send_booking_rejected_received_track()
Пример #8
0
 def send_acceptation_email(self):
     context = {'booking': self}
     contract_content = None
     if not self.owner.is_professional:
         contract = self.product.subtype.contract_generator(self)
         contract_content = contract.getvalue()
     message = create_alternative_email('rent/emails/owner_acceptation',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.owner.email])
     if contract_content:
         message.attach('contrat.pdf', contract_content, 'application/pdf')
     message.send()
     message = create_alternative_email('rent/emails/borrower_acceptation',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.borrower.email])
     if contract_content:
         message.attach('contrat.pdf', contract_content, 'application/pdf')
     message.send()
     self.send_notification(message="Réservation acceptée",
                            receiver=self.borrower,
                            state="BOOKING_ACCEPT")
     BookingSegment(self).send_booking_accepted_received_track()
Пример #9
0
 def save_object(self, obj, **kwargs):
     context = {
         'email': obj.get('email'),
         'phone': obj.get('phone'),
         'message': obj.get('message'),
         'patron': self.recipient,
     }
     message = create_alternative_email(
         'accounts/emails/contact_pro',
         context,
         settings.DEFAULT_FROM_EMAIL,
         [self.recipient.email],
         headers={'Reply-To': obj.get('email'),}
     )
     message.send()
Пример #10
0
 def send_recovery_email(self):
     context = {
         'booking':
         self,
         'preapproval_url':
         settings.PAYPAL_COMMAND %
         urllib.urlencode({
             'cmd': '_ap-preapproval',
             'preapprovalkey': self.preapproval_key
         })
     }
     message = create_alternative_email('rent/emails/borrower_recovery',
                                        context,
                                        settings.DEFAULT_FROM_EMAIL,
                                        [self.borrower.email])
     message.send()