From 05f01cdbb834108371a4a38c4449f596f2d6c458 Mon Sep 17 00:00:00 2001 From: Joel Castillo Date: Tue, 9 May 2017 16:43:18 -0400 Subject: [PATCH] Update Master for Production Code Push manually deployed changes into VCS from Production Server. --- app/models.py | 1 + app/request/api/views.py | 33 ++++---------------- app/response/utils.py | 14 +++++---- app/search/utils.py | 43 ++++++++++++++++----------- app/templates/request/result_row.html | 4 +-- 5 files changed, 42 insertions(+), 53 deletions(-) diff --git a/app/models.py b/app/models.py index 02fc3a431..6e69b4e5c 100644 --- a/app/models.py +++ b/app/models.py @@ -626,6 +626,7 @@ def es_create(self): 'agency_description_private': self.privacy['agency_description'], 'date_created': self.date_created.strftime(ES_DATETIME_FORMAT), 'date_submitted': self.date_submitted.strftime(ES_DATETIME_FORMAT), + 'date_received': self.date_created.strftime(ES_DATETIME_FORMAT) if self.date_created < self.date_submitted else self.date_submitted.strftime(ES_DATETIME_FORMAT) 'date_due': self.due_date.strftime(ES_DATETIME_FORMAT), 'submission': self.submission, 'status': self.status, diff --git a/app/request/api/views.py b/app/request/api/views.py index 39f88cbae..be0ed810e 100644 --- a/app/request/api/views.py +++ b/app/request/api/views.py @@ -14,7 +14,7 @@ from flask_login import current_user from app.lib.date_utils import calendar from app.request.api import request_api_blueprint -from app.request.api.utils import create_edit_event +from app.request.api.utils import create_request_info_event from app.lib.db_utils import update_object from app.lib.utils import eval_request_bool from app.lib.permission_utils import ( @@ -58,34 +58,13 @@ def edit_privacy(): previous_value['privacy'] = current_request.privacy['agency_description'] new_value['privacy'] = agency_desc type_ = event_type.REQ_AGENCY_DESC_PRIVACY_EDITED - if not privacy['agency_description']: - # if current_request.agency_description_release_date: - previous_value['release_date'] = None - release_date = calendar.addbusdays(datetime.utcnow(), offset=20) - update_object({'privacy': privacy, - 'agency_description_release_date': release_date}, - Requests, - current_request.id) - new_value['release_date'] = release_date.isoformat() - else: - previous_value['release_date'] = current_request.agency_description_release_date.isoformat() - update_object({'privacy': privacy, - 'agency_description_release_date': None}, - Requests, - current_request.id) - new_value['release_date'] = None - create_edit_event(request_id, - type_, - previous_value, - new_value) - return jsonify(privacy), 200 update_object({'privacy': privacy}, Requests, current_request.id) - create_edit_event(request_id, - type_, - previous_value, - new_value) + create_request_info_event(request_id, + type_, + previous_value, + new_value) return jsonify(privacy), 200 @@ -115,7 +94,7 @@ def edit_request_info(): update_object({edit_request['name']: val if val else None}, Requests, current_request.id) - create_edit_event(request_id, + create_request_info_event(request_id, type_, previous_value, new_value) diff --git a/app/response/utils.py b/app/response/utils.py index f3e994903..e3d351686 100644 --- a/app/response/utils.py +++ b/app/response/utils.py @@ -181,7 +181,8 @@ def add_denial(request_id, reason_ids, email_content): :param email_content: email body associated with the denial """ - if Requests.query.filter_by(id=request_id).one().status != request_status.CLOSED: + request = Requests.query.filter_by(id=request_id).one() + if request.status != request_status.CLOSED: update_object( {'status': request_status.CLOSED}, Requests, @@ -197,11 +198,12 @@ def add_denial(request_id, reason_ids, email_content): ) create_object(response) create_response_event(event_type.REQ_CLOSED, response) - update_object( - {'agency_description_release_date': calendar.addbusdays(datetime.utcnow(), RELEASE_PUBLIC_DAYS)}, - Requests, - request_id - ) + if not request.privacy['agency_description'] and request.agency_description is not None: + update_object( + {'agency_description_release_date': calendar.addbusdays(datetime.utcnow(), RELEASE_PUBLIC_DAYS)}, + Requests, + request_id + ) _send_response_email(request_id, privacy, email_content, diff --git a/app/search/utils.py b/app/search/utils.py index 5dd858582..a2855672d 100644 --- a/app/search/utils.py +++ b/app/search/utils.py @@ -84,6 +84,10 @@ def create_index(): "date_created": { "type": "date", "format": "strict_date_hour_minute_second", + }, + "date_received": { + "type": "date", + "format": "strict_date_hour_minute_second", } } } @@ -113,6 +117,9 @@ def create_docs(): 'agency_description_private': r.privacy['agency_description'], 'date_created': r.date_created.strftime(ES_DATETIME_FORMAT), 'date_submitted': r.date_submitted.strftime(ES_DATETIME_FORMAT), + 'date_received': r.date_created.strftime( + ES_DATETIME_FORMAT) if r.date_created < r.date_submitted else + r.date_submitted.strftime(ES_DATETIME_FORMAT), 'date_due': r.due_date.strftime(ES_DATETIME_FORMAT), 'submission': r.submission, 'status': r.status, @@ -147,8 +154,8 @@ def search_requests(query, agency_description, description, requester_name, - date_rec_from, - date_rec_to, + date_sub_from, + date_sub_to, date_due_from, date_due_to, agency_ein, @@ -159,7 +166,7 @@ def search_requests(query, overdue, size, start, - sort_date_submitted, + sort_date_received, sort_date_due, sort_title, tz_name, @@ -178,8 +185,8 @@ def search_requests(query, :param agency_description: search by agency description? :param description: search by description? :param requester_name: search by requester name? - :param date_rec_from: date received/submitted from - :param date_rec_to: date received/submitted to + :param date_sub_from: date submitted/created from + :param date_sub_to: date submitted/created to :param date_due_from: date due from :param date_due_to: date due to :param agency_ein: agency ein to filter by @@ -190,7 +197,7 @@ def search_requests(query, :param overdue: filter by overdue requests? :param size: number of requests per page :param start: starting index of request result set - :param sort_date_submitted: date received/submitted sort direction + :param sort_date_created: date submitted/created sort direction :param sort_date_due: date due sort direction :param sort_title: title sort direction :param tz_name: timezone name (e.g. "America/New_York") @@ -218,7 +225,7 @@ def search_requests(query, # set sort (list of "field:direction" pairs) sort = [ ':'.join((field, direction)) for field, direction in { - 'date_submitted': sort_date_submitted, + 'date_received': sort_date_received, 'date_due': sort_date_due, 'title.keyword': sort_title}.items() if direction in ("desc", "asc")] @@ -255,22 +262,22 @@ def datestr_local_to_utc(datestr): ).strftime(DT_DATE_RANGE_FORMAT) date_ranges = [] - if any((date_rec_from, date_rec_to, date_due_from, date_due_to)): + if any((date_sub_from, date_sub_to, date_due_from, date_due_to)): range_filters = {} - if date_rec_from or date_rec_to: - range_filters['date_submitted'] = {'format': ES_DATE_RANGE_FORMAT} + if date_sub_from or date_sub_to: + range_filters['date_created'] = {'format': ES_DATE_RANGE_FORMAT} if date_due_from or date_due_to: range_filters['date_due'] = {'format': ES_DATE_RANGE_FORMAT} - if date_rec_from: - range_filters['date_submitted']['gte'] = datestr_local_to_utc(date_rec_from) - if date_rec_to: - range_filters['date_submitted']['lt'] = datestr_local_to_utc(date_rec_to) + if date_sub_from: + range_filters['date_created']['gte'] = datestr_local_to_utc(date_sub_from) + if date_sub_to: + range_filters['date_created']['lt'] = datestr_local_to_utc(date_sub_to) if date_due_from: range_filters['date_due']['gte'] = datestr_local_to_utc(date_due_from) if date_due_to: range_filters['date_due']['lt'] = datestr_local_to_utc(date_due_to) - if date_rec_from or date_rec_to: - date_ranges.append({'range': {'date_submitted': range_filters['date_submitted']}}) + if date_sub_from or date_sub_to: + date_ranges.append({'range': {'date_created': range_filters['date_created']}}) if date_due_from or date_due_to: date_ranges.append({'range': {'date_due': range_filters['date_due']}}) @@ -321,7 +328,7 @@ def datestr_local_to_utc(datestr): _source=['requester_id', 'date_submitted', 'date_due', - 'date_created', + 'date_received', 'status', 'agency_ein', 'agency_name', @@ -470,7 +477,7 @@ def convert_dates(results, dt_format=None, tz_name=None): :tz_name: time zone name """ for hit in results["hits"]["hits"]: - for field in ("date_submitted", "date_due", "date_created"): + for field in ("date_submitted", "date_due", "date_received"): dt = datetime.strptime(hit["_source"][field], ES_DATETIME_FORMAT) if tz_name: dt = utc_to_local(dt, tz_name) diff --git a/app/templates/request/result_row.html b/app/templates/request/result_row.html index 78d6a106b..678905549 100644 --- a/app/templates/request/result_row.html +++ b/app/templates/request/result_row.html @@ -24,7 +24,7 @@ {{ request._id }}
- {{ moment(request._source.date_submitted).format('MMM DD, YYYY') }} + {{ moment(request._source.date_received).format('MMM DD, YYYY') }}
{% if current_user.is_agency %} @@ -98,4 +98,4 @@ {#
#} {# #} -{% endfor %} \ No newline at end of file +{% endfor %}