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, )
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_job(request): job_form = JobForm() success_message = 'Your job opportunity was added to our database, \ you will receive further information shortly.' if request.method == 'POST': job_form = JobForm(request.POST) if job_form.is_valid(): new_job = job_form.save() messages.add_message( request, messages.INFO, success_message ) subject = '{0} was submitted succesfully.'.format(new_job.title) context = Context({'option': new_job.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_job.contact_email send_job_mail( subject, message_plain, message_html, recipient ) return redirect('jobs:confirm_submission') return TemplateResponse( request, 'jobs/job_edit.html', { 'form': job_form, } )
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 send_status_update(modeladmin, request, queryset): for item in queryset: subject = "Status update on: {0}.".format(item.title) context = Context({ 'status': item.get_review_status_display(), 'option': modeladmin.get_print_name(), 'message_to_organisation': item.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 = item.contact_email status = send_job_mail( subject, message_plain, message_html, recipient, ) messages.add_message(request, messages.INFO, status)
def send_status_update(modeladmin, request, queryset): for item in queryset: subject = "Status update on: {0}.".format(item.title) context = Context({ 'status': item.get_review_status_display(), 'option': modeladmin.get_print_name(), 'message_to_organisation': item.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 = item.contact_email status = send_job_mail( subject, message_plain, message_html, recipient, ) messages.add_message( request, messages.INFO, status )