from modules.notifications.models import send_mail, EmailTemplate
from modules.members.models import Member

from django.core.urlresolvers import reverse


def job_advert_created(request, job):

    job_url = "http://%s%s" % (request.META['HTTP_HOST'], reverse('admin_jobs_view_job', args=[job.id]))

    template = EmailTemplate.objects.get(key='job_advert_created')
    message = template.content % (job.member, job.title, job_url, job_url)

    send_mail(template.key, template.subject, message, template.from_address.email_address, template.get_to_addresses())


def job_advert_paid(request, job, receipt):

    # admin email
    job_url = "http://%s%s" % (request.META['HTTP_HOST'], reverse('admin_jobs_view_job', args=[job.id]))
    template = EmailTemplate.objects.get(key='job_advert_paid_admin')
    message = template.content % (job.member, job.title, job.price_paid, job_url, job_url)
    send_mail(template.key, template.subject, message, template.from_address.email_address, template.get_to_addresses())

    # user email
    template = EmailTemplate.objects.get(key='job_advert_paid')
    send_mail(template.key, template.subject, template.content, template.from_address.email_address, job.member.user.email, attachments=[receipt.file])


def job_advert_approved(request, job):

    job_url = "http://%s%s" % (request.META['HTTP_HOST'], reverse('jobs_view_job', args=[job.slug]))

    if job.member:
        email_address = job.member.user.email
        template = EmailTemplate.objects.get(key='job_advert_approved')
        message = template.content % (job.title, job_url, job_url)
        send_mail(template.key, template.subject, message, template.from_address.email_address, email_address)

    if job.publicised == 'website-email':

        # send alert to members
        members = Member.objects.filter(approved=True, member_status='current', user_type='member')
        email_addresses = []
        for member in members:
            email_addresses.append(member.user.email)

        template = EmailTemplate.objects.get(key='job_advert_posted')
        message = template.content % (job.title, job_url, job_url)
        send_mail(template.key, template.subject, message, template.from_address.email_address, 'noreply@svtgbi.org.uk', bcc_addresses=email_addresses)
