Updated date query so that the created_at date is truncated so that we get all jobs created number of days requested.

This commit is contained in:
Rebecca Law
2016-05-25 11:13:49 +01:00
parent 2a7872cce1
commit a67793cf8a
4 changed files with 32 additions and 12 deletions

View File

@@ -28,3 +28,8 @@ class DAOClass(object):
db.session.delete(inst)
if _commit:
db.session.commit()
def days_ago(number_of_days):
from datetime import date, timedelta
return date.today() - timedelta(days=number_of_days)

View File

@@ -1,7 +1,8 @@
from datetime import date, timedelta
from sqlalchemy import desc
from sqlalchemy import desc, cast, Date as sql_date
from app import db
from app.dao import days_ago
from app.models import Job
@@ -12,7 +13,7 @@ def dao_get_job_by_service_id_and_job_id(service_id, job_id):
def dao_get_jobs_by_service_id(service_id, limit_days=None):
query_filter = [Job.service_id == service_id]
if limit_days is not None:
query_filter.append(Job.created_at >= _days_ago(limit_days))
query_filter.append(cast(Job.created_at, sql_date) >= days_ago(limit_days))
return Job.query.filter(*query_filter).order_by(desc(Job.created_at)).all()
@@ -28,7 +29,3 @@ def dao_create_job(job):
def dao_update_job(job):
db.session.add(job)
db.session.commit()
def _days_ago(number_of_days):
return date.today() - timedelta(days=number_of_days)

View File

@@ -1,4 +1,4 @@
from sqlalchemy import (desc, func, Integer, and_, or_, asc)
from sqlalchemy import (desc, func, Integer, or_, asc)
from sqlalchemy.sql.expression import cast
from datetime import (
@@ -11,6 +11,7 @@ from flask import current_app
from werkzeug.datastructures import MultiDict
from app import db
from app.dao import days_ago
from app.models import (
Service,
Notification,
@@ -337,7 +338,3 @@ def delete_notifications_created_more_than_a_week_ago(status):
).delete(synchronize_session='fetch')
db.session.commit()
return deleted
def days_ago(number_of_days):
return date.today() - timedelta(days=number_of_days)