def publish(self): assert self.is_ready_to_publish() self.published_date = timezone.now() # the line below covers the situation when there is no expiration date # set or when somebody wants to republish an expired post but # hasn't changed the expiration date if not self.expiration_date or self.expiration_date < self.published_date.date( ): self.expiration_date = self.published_date + timedelta(60) self.review_status = self.PUBLISHED self.save() subject = '{0} is now published.'.format(self.title) model_name = self._meta.model_name context = Context({ 'status': self.get_review_status_display(), 'option': model_name, 'message_to_organisation': self.message_to_organisation, }) message_plain = get_template('jobs/email_templates/status.txt').render( context) message_html = get_template('jobs/email_templates/status.html').render( context) recipient = self.contact_email if model_name == 'job': send_job_mail(subject, message_plain, message_html, recipient) elif model_name == 'meetup': send_meetup_mail( subject, message_plain, message_html, recipient, )
def reject(self): assert self.review_status in [ self.UNDER_REVIEW, self.READY_TO_PUBLISH, self.PUBLISHED ] self.review_status = self.REJECTED self.published_date = None self.save() subject = '{0} was rejected.'.format(self.title) model_name = self._meta.model_name context = Context({ 'status': self.get_review_status_display(), 'option': model_name, 'message_to_organisation': self.message_to_organisation, }) message_plain = get_template('jobs/email_templates/status.txt').render( context) message_html = get_template('jobs/email_templates/status.html').render( context) recipient = self.contact_email if model_name == 'job': send_job_mail(subject, message_plain, message_html, recipient) elif model_name == 'meetup': send_meetup_mail( subject, message_plain, message_html, recipient, )
def create_meetup(request): meetup_form = MeetupForm() success_message = 'Your meetup was added to our database, \ you will receive further information shortly.' if request.method == 'POST': meetup_form = MeetupForm(request.POST) if meetup_form.is_valid(): new_meetup = meetup_form.save() messages.add_message( request, messages.INFO, success_message ) subject = '{0} was submitted succesfully.'.format(new_meetup.title) context = Context({'option': new_meetup.title}) message_plain = get_template( 'jobs/email_templates/community_confirm.txt').render(context) message_html = get_template( 'jobs/email_templates/community_confirm.html').render(context) recipient = new_meetup.contact_email send_meetup_mail( subject, message_plain, message_html, recipient ) return redirect('jobs:confirm_submission') return TemplateResponse( request, 'jobs/meetup_edit.html', { 'form': meetup_form, } )
def reject(self): assert self.review_status in [self.UNDER_REVIEW, self.READY_TO_PUBLISH, self.PUBLISHED] self.review_status = self.REJECTED self.published_date = None self.save() subject = '{0} was rejected.'.format(self.title) model_name = self._meta.model_name context = Context({ 'status': self.get_review_status_display(), 'option': model_name, 'message_to_organisation': self.message_to_organisation, }) message_plain = get_template( 'jobs/email_templates/status.txt').render(context) message_html = get_template( 'jobs/email_templates/status.html').render(context) recipient = self.contact_email if model_name == 'job': send_job_mail( subject, message_plain, message_html, recipient ) elif model_name == 'meetup': send_meetup_mail( subject, message_plain, message_html, recipient, )
def publish(self): assert self.is_ready_to_publish() self.published_date = timezone.now() # the line below covers the situation when there is no expiration date # set or when somebody wants to republish an expired post but # hasn't changed the expiration date if not self.expiration_date or self.expiration_date < self.published_date.date(): self.expiration_date = self.published_date + timedelta(60) self.review_status = self.PUBLISHED self.save() subject = "{0} is now published.".format(self.title) model_name = self._meta.model_name context = Context( { "status": self.get_review_status_display(), "option": model_name, "message_to_organisation": self.message_to_organisation, } ) message_plain = get_template("jobs/email_templates/status.txt").render(context) message_html = get_template("jobs/email_templates/status.html").render(context) recipient = self.contact_email if model_name == "job": send_job_mail(subject, message_plain, message_html, recipient) elif model_name == "meetup": send_meetup_mail(subject, message_plain, message_html, recipient)