Example #1
0
 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,
         )
Example #2
0
 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,
         )
Example #3
0
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,
        }
    )
Example #4
0
 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,
         )
Example #5
0
 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)