diff --git a/.gitignore b/.gitignore index d25063b..40497c7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # Edit at https://www.gitignore.io/?templates=linux,macos,python,django,windows,pycharm,intellij,visualstudio ### Django ### +*.env *.log *.pot *.pyc diff --git a/back/.env b/back/.env index b47f7a4..3b79ce5 100644 --- a/back/.env +++ b/back/.env @@ -1,4 +1,4 @@ -EMAIL_HOST_USER=accountemail@yourmail.com -EMAIL_HOST_PASSWORD=accountpasswordhere -SUBMIT_REPORT_DESTINATION_EMAIL=to-address@yourmail.com +EMAIL_HOST_USER=accountemail@youremail.com +EMAIL_HOST_PASSWORD=yourpassword +SUBMIT_REPORT_DESTINATION_EMAIL=administratoremail@yourmail.com SUBMIT_REPORT_FROM_EMAIL=from-address@yourmail.com diff --git a/back/backend/migrations/0009_report_reference_number.py b/back/backend/migrations/0009_report_reference_number.py new file mode 100644 index 0000000..c2d275a --- /dev/null +++ b/back/backend/migrations/0009_report_reference_number.py @@ -0,0 +1,18 @@ +# Generated by Django 2.1.7 on 2019-03-01 20:17 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('backend', '0008_auto_20190214_1421'), + ] + + operations = [ + migrations.AddField( + model_name='report', + name='reference_number', + field=models.CharField(default='', max_length=32), + ), + ] diff --git a/back/backend/models.py b/back/backend/models.py index 69db8ee..952a553 100644 --- a/back/backend/models.py +++ b/back/backend/models.py @@ -13,6 +13,7 @@ class Report(models.Model): date_created = models.DateTimeField('date created', default=datetime.date.today) date_submitted = models.DateTimeField('date submitted', default=datetime.date.today) submitted = models.BooleanField(default=False) + reference_number = models.CharField(max_length=32, default='') def __str__(self): """ diff --git a/back/backend/templates/backend/email.html b/back/backend/templates/backend/email.html index b985302..44f9358 100644 --- a/back/backend/templates/backend/email.html +++ b/back/backend/templates/backend/email.html @@ -4,6 +4,7 @@

Title: {{ title }}

+

Reference #: {{ reference_number }}

{% for section in sections %} {% if section.completed %}

{{section.title}}

diff --git a/back/backend/templates/backend/email.txt b/back/backend/templates/backend/email.txt index 43f9df7..9f90da2 100644 --- a/back/backend/templates/backend/email.txt +++ b/back/backend/templates/backend/email.txt @@ -4,6 +4,7 @@ *** Title: {{title}} +Reference #: {{reference_number}} {% for section in sections %} {{section.title}} {% for field in section.fields %} diff --git a/back/backend/views.py b/back/backend/views.py index 1d55aec..2913f82 100644 --- a/back/backend/views.py +++ b/back/backend/views.py @@ -23,6 +23,7 @@ def get_report(report_pk): "date_created": i.date_created, "submitted": i.submitted, "date_submitted": i.date_submitted, + "reference_number": i.reference_number, } # append the sections for each report data.update(get_sections(i.id)) @@ -121,8 +122,12 @@ def report(request): } """ # Create the report - report = Report.objects.create(user_id=request.user, title=request.data['title'], - date_created=datetime.date.today()) + report = Report.objects.create( + user_id=request.user, + title=request.data['title'], + date_created=datetime.date.today(), + reference_number=request.data['reference'] + ) report.save() # Create the sections @@ -161,6 +166,7 @@ def reports(request): "date_created": i.date_created, "submitted": i.submitted, "date_submitted": i.date_submitted, + "reference_number": i.reference_number, } # append the sections for each report report_set["reports"].append(data.copy()) @@ -385,13 +391,23 @@ def send_report_to_admin(request, report_pk): cc = request.user.email msg_html = render_to_string('backend/email.html', params) msg_plain = render_to_string('backend/email.txt', params) - message = EmailMultiAlternatives( - "Reimbursinator - {}".format(params['title']), - msg_plain, - from_email, - [to_email], - cc=[request.user.email], - ) + message = None + if params['reference_number'] == '': + message = EmailMultiAlternatives( + "{}".format(params['title']), + msg_plain, + from_email, + [to_email], + cc=[request.user.email], + ) + else: + message = EmailMultiAlternatives( + "[RT - Request Tracker #{}] {}".format(params['reference_number'], params['title']), + msg_plain, + from_email, + [to_email], + cc=[request.user.email], + ) message.attach_alternative(msg_html, "text/html") for f in get_files(report_pk): message.attach_file(f) diff --git a/back/db.sqlite3 b/back/db.sqlite3 index e1d4159..2ab8b3b 100644 Binary files a/back/db.sqlite3 and b/back/db.sqlite3 differ diff --git a/front/static/js/viewHistory.js b/front/static/js/viewHistory.js index 99d182e..97b4884 100644 --- a/front/static/js/viewHistory.js +++ b/front/static/js/viewHistory.js @@ -560,7 +560,7 @@ if (newReportForm) { newReportForm.addEventListener("submit", function(event) { event.preventDefault(); const url = getEndpointDomain() + "api/v1/report"; - const payload = JSON.stringify({ "title": event.target.elements.title.value }); + const payload = JSON.stringify({ "title": event.target.elements.title.value, "reference": event.target.elements.reference.value }); console.log("Payload:\n" + payload); const type = reportType.NEW; makeAjaxRequest("POST", url, createReportForm, type, payload); diff --git a/front/static/new_report.html b/front/static/new_report.html index 7caf52b..cda82ca 100644 --- a/front/static/new_report.html +++ b/front/static/new_report.html @@ -51,6 +51,10 @@ +
+ + +