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