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()
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()
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()
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})
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()
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()
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()
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()
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()
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()