From 02053bcd8a4719ea74bb7c9fae4abcdddbc73d82 Mon Sep 17 00:00:00 2001 From: Emilie Date: Wed, 28 Sep 2016 19:12:45 +0200 Subject: [PATCH] Job : add textField --- app/local_settings.py | 1 + app/organization/job/forms.py | 2 +- .../migrations/0002_jobresponse_message.py | 21 +++++++++++++++++++ app/organization/job/models.py | 3 +-- app/organization/job/views.py | 5 ++--- .../email/application_notification.html | 6 ++++-- 6 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 app/organization/job/migrations/0002_jobresponse_message.py rename app/templates/{core => }/email/application_notification.html (89%) diff --git a/app/local_settings.py b/app/local_settings.py index ef1e6401..f78738b4 100644 --- a/app/local_settings.py +++ b/app/local_settings.py @@ -154,6 +154,7 @@ ARTICLE_PER_PAGE = 4 # just for tests because we haven't got enough content # a mode you'd pass directly to os.chmod. FILE_UPLOAD_PERMISSIONS = 0o664 FILE_UPLOAD_TEMP_DIR = '/srv/media/uploads/tmp/' +MAX_UPLOAD_SIZE = 512000000 FILEBROWSER_MAX_UPLOAD_SIZE = 512000000 if DEBUG: diff --git a/app/organization/job/forms.py b/app/organization/job/forms.py index c37e8ba0..fca4a411 100644 --- a/app/organization/job/forms.py +++ b/app/organization/job/forms.py @@ -14,4 +14,4 @@ class JobResponseForm(ModelForm): class Meta: model = JobResponse - fields = ['first_name', 'last_name', 'email', 'curriculum_vitae', 'cover_letter', 'job_offer'] + fields = ['first_name', 'last_name', 'email', 'message', 'curriculum_vitae', 'cover_letter', 'job_offer'] diff --git a/app/organization/job/migrations/0002_jobresponse_message.py b/app/organization/job/migrations/0002_jobresponse_message.py new file mode 100644 index 00000000..8b910e2b --- /dev/null +++ b/app/organization/job/migrations/0002_jobresponse_message.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-28 16:58 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization-job', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='jobresponse', + name='message', + field=models.TextField(default='', max_length=800, verbose_name='message'), + preserve_default=False, + ), + ] diff --git a/app/organization/job/models.py b/app/organization/job/models.py index 8f608fd5..7dfaacaf 100644 --- a/app/organization/job/models.py +++ b/app/organization/job/models.py @@ -10,6 +10,7 @@ class JobResponse(models.Model): first_name = models.CharField(max_length=255, null=False, verbose_name=_('first name')) last_name = models.CharField(max_length=255, null=False, verbose_name=_('last name')) email = models.EmailField(max_length=255, null=False, verbose_name=_('email')) + message = models.TextField(max_length=800, verbose_name=_('message')) #@TODO validate type format curriculum_vitae = models.FileField(_("curriculum vitae"), max_length=1024, upload_to="job_responses/%Y/%m/%d/") cover_letter = models.FileField(_("cover letter"), max_length=1024, upload_to="job_responses/%Y/%m/%d/") @@ -31,5 +32,3 @@ class JobOffer(Displayable, RichText): class Meta: verbose_name = _('job offer') verbose_name_plural = _("job offers") - - diff --git a/app/organization/job/views.py b/app/organization/job/views.py index 17aa0276..afb46fe1 100644 --- a/app/organization/job/views.py +++ b/app/organization/job/views.py @@ -48,7 +48,6 @@ class JobOfferDetailView(CreateView): if ext_cv not in extention or ext_cl not in extention : messages.info(self.request, _("Only .pdf, .doc, .docx files allowed.")) return super(JobOfferDetailView, self).form_invalid(form) - email_application_notification(self.request, self.job_offer, form.cleaned_data) messages.info(self.request, _("You have successfully submitted your application.")) return super(JobOfferDetailView, self).form_valid(form) @@ -67,7 +66,6 @@ class JobOfferListView(ListView): context = super(JobOfferListView, self).get_context_data(**kwargs) return context - def email_application_notification(request, job_offer, data): subject = "Candidature > " + job_offer.title to = [job_offer.email if job_offer.email else settings.DEFAULT_TO_EMAIL] @@ -77,9 +75,10 @@ def email_application_notification(request, job_offer, data): 'first_name': data['first_name'], 'last_name': data['last_name'], 'email': data['email'], + 'message': data['message'] } - message = get_template('core/email/application_notification.html').render(Context(ctx)) + message = get_template('email/application_notification.html').render(Context(ctx)) msg = EmailMessage(subject, message, to=to, from_email=from_email) msg.attach(data['curriculum_vitae'].name, data['curriculum_vitae'].read(), data['curriculum_vitae'].content_type) msg.attach(data['cover_letter'].name, data['cover_letter'].read(), data['cover_letter'].content_type) diff --git a/app/templates/core/email/application_notification.html b/app/templates/email/application_notification.html similarity index 89% rename from app/templates/core/email/application_notification.html rename to app/templates/email/application_notification.html index 08df9bf0..b8c71773 100644 --- a/app/templates/core/email/application_notification.html +++ b/app/templates/email/application_notification.html @@ -1,5 +1,3 @@ - - @@ -14,6 +12,10 @@

Nom : {{ last_name }}

Prénom : {{ first_name }}

Email :{{ email }}

+

Message :

+

{{ message }}

+
+

Le curriculum vitae ainsi que la lettre de motivation sont en pièces jointes.

Ces informations sont disponibles sur le backoffice de http://www.ircam.fr dans l'édition de l'offre d'emploi correspondante.

-- 2.39.5